ee.Geometry.LineString.cutLines

  • The cutLines method divides LineString, MultiLineString, and LinearRing geometries into smaller segments based on specified distances.

  • Segments are created by cutting the original lines at intervals defined by the distances parameter, measured in the projection's units or meters.

  • The maxError parameter controls the acceptable error for reprojection, if necessary.

  • Other geometry types will result in an empty MultiLineString when using this method.

  • This functionality allows for analyzing and manipulating line-based geometries with greater precision and flexibility.

Converts LineString, MultiLineString, and LinearRing geometries into a MultiLineString by cutting them into parts no longer than the given distance along their length. All other geometry types will be converted to an empty MultiLineString.

UsageReturns
LineString.cutLines(distances, maxError, proj)Geometry
ArgumentTypeDetails
this: geometryGeometryCuts the lines of this geometry.
distancesListDistances along each LineString to cut the line into separate pieces, measured in units of the given proj, or meters if proj is unspecified.
maxErrorErrorMargin, default: nullThe maximum amount of error tolerated when performing any necessary reprojection.
projProjection, default: nullProjection of the result and distance measurements, or EPSG:4326 if unspecified.

Examples

Code Editor (JavaScript)

// Define a LineString object.
var lineString = ee.Geometry.LineString([[-122.09, 37.42], [-122.08, 37.43]]);

// Apply the cutLines method to the LineString object.
var lineStringCutLines = lineString.cutLines({'distances': [10, 100], 'maxError': 1});

// Print the result to the console.
print('lineString.cutLines(...) =', lineStringCutLines);

// Display relevant geometries on the map.
Map.setCenter(-122.085, 37.422, 15);
Map.addLayer(lineString,
             {'color': 'black'},
             'Geometry [black]: lineString');
Map.addLayer(lineStringCutLines,
             {'color': 'red'},
             'Result [red]: lineString.cutLines');

Python setup

See the Python Environment page for information on the Python API and using geemap for interactive development.

import ee
import geemap.core as geemap

Colab (Python)

# Define a LineString object.
linestring = ee.Geometry.LineString([[-122.09, 37.42], [-122.08, 37.43]])

# Apply the cutLines method to the LineString object.
linestring_cut_lines = linestring.cutLines(distances=[10, 100], maxError=1)

# Print the result.
display('linestring.cutLines(...) =', linestring_cut_lines)

# Display relevant geometries on the map.
m = geemap.Map()
m.set_center(-122.085, 37.422, 15)
m.add_layer(linestring, {'color': 'black'}, 'Geometry [black]: linestring')
m.add_layer(
    linestring_cut_lines, {'color': 'red'}, 'Result [red]: linestring.cutLines'
)
m