Product
Socket Now Supports uv.lock Files
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
@turf/line-slice
Advanced tools
@turf/line-slice is a module from the Turf.js library that allows you to extract a portion of a LineString between two points. This can be useful for various geospatial operations such as trimming routes, creating sub-paths, or analyzing specific segments of a path.
Extracting a LineString segment
This feature allows you to extract a segment of a LineString between two specified points. The code sample demonstrates how to create a LineString and then slice it between two points using the `lineSlice` function.
const turf = require('@turf/turf');
const line = turf.lineString([
[-77.031669, 38.878605],
[-77.029609, 38.881946],
[-77.020339, 38.884084],
[-77.025661, 38.885821],
[-77.021884, 38.889563],
[-77.019824, 38.892368]
]);
const start = turf.point([-77.029609, 38.881946]);
const stop = turf.point([-77.021884, 38.889563]);
const sliced = turf.lineSlice(start, stop, line);
console.log(JSON.stringify(sliced));
The 'polyline' package is used for encoding and decoding Google Maps Polylines. While it doesn't offer slicing capabilities directly, it is useful for handling polyline data, which can then be manipulated using other tools.
The 'geojson-tools' package provides various utilities for manipulating GeoJSON data, including line splitting and other geometric operations. It offers a broader range of functionalities compared to @turf/line-slice but may require more complex operations to achieve similar results.
Takes a line, a start Point, and a stop point and returns a subsection of the line in-between those points. The start & stop points don't need to fall exactly on the line.
This can be useful for extracting only the part of a route between waypoints.
Parameters
startPt
Feature<Point> starting pointstopPt
Feature<Point> stopping pointline
(Feature<LineString> | LineString) line to sliceExamples
var line = {
"type": "Feature",
"properties": {},
"geometry": {
"type": "LineString",
"coordinates": [
[-77.031669, 38.878605],
[-77.029609, 38.881946],
[-77.020339, 38.884084],
[-77.025661, 38.885821],
[-77.021884, 38.889563],
[-77.019824, 38.892368]
]
}
};
var start = {
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-77.029609, 38.881946]
}
};
var stop = {
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-77.021884, 38.889563]
}
};
var sliced = turf.lineSlice(start, stop, line);
//=line
//=sliced
Returns Feature<LineString> sliced line
This module is part of the Turfjs project, an open source module collection dedicated to geographic algorithms. It is maintained in the Turfjs/turf repository, where you can create PRs and issues.
Install this module individually:
$ npm install @turf/line-slice
Or install the Turf module that includes it as a function:
$ npm install @turf/turf
FAQs
turf line-slice module
The npm package @turf/line-slice receives a total of 335,706 weekly downloads. As such, @turf/line-slice popularity was classified as popular.
We found that @turf/line-slice demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.