ee.Geometry.MultiLineString.symmetricDifference

Returns the symmetric difference between two geometries.

UsageReturns
MultiLineString.symmetricDifference(right, maxError, proj)Geometry
ArgumentTypeDetails
this: leftGeometryThe geometry used as the left operand of the operation.
rightGeometryThe geometry used as the right operand of the operation.
maxErrorErrorMargin, default: nullThe maximum amount of error tolerated when performing any necessary reprojection.
projProjection, default: nullThe projection in which to perform the operation. If not specified, the operation will be performed in a spherical coordinate system, and linear distances will be in meters on the sphere.

Examples

Code Editor (JavaScript)

// Define a MultiLineString object.
var multiLineString = ee.Geometry.MultiLineString(
   [[[-122.088, 37.418], [-122.086, 37.422], [-122.082, 37.418]],
    [[-122.087, 37.416], [-122.083, 37.416], [-122.082, 37.419]]]);

// Define other inputs.
var inputGeom = ee.Geometry.BBox(-122.085, 37.415, -122.075, 37.425);

// Apply the symmetricDifference method to the MultiLineString object.
var multiLineStringSymmetricDifference = multiLineString.symmetricDifference({'right': inputGeom, 'maxError': 1});

// Print the result to the console.
print('multiLineString.symmetricDifference(...) =', multiLineStringSymmetricDifference);

// Display relevant geometries on the map.
Map.setCenter(-122.085, 37.422, 15);
Map.addLayer(multiLineString,
             {'color': 'black'},
             'Geometry [black]: multiLineString');
Map.addLayer(inputGeom,
             {'color': 'blue'},
             'Parameter [blue]: inputGeom');
Map.addLayer(multiLineStringSymmetricDifference,
             {'color': 'red'},
             'Result [red]: multiLineString.symmetricDifference');

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 MultiLineString object.
multilinestring = ee.Geometry.MultiLineString([
    [[-122.088, 37.418], [-122.086, 37.422], [-122.082, 37.418]],
    [[-122.087, 37.416], [-122.083, 37.416], [-122.082, 37.419]],
])

# Define other inputs.
input_geom = ee.Geometry.BBox(-122.085, 37.415, -122.075, 37.425)

# Apply the symmetricDifference method to the MultiLineString object.
multilinestring_symmetric_difference = multilinestring.symmetricDifference(
    right=input_geom, maxError=1
)

# Print the result.
display(
    'multilinestring.symmetricDifference(...) =',
    multilinestring_symmetric_difference,
)

# Display relevant geometries on the map.
m = geemap.Map()
m.set_center(-122.085, 37.422, 15)
m.add_layer(
    multilinestring, {'color': 'black'}, 'Geometry [black]: multilinestring'
)
m.add_layer(input_geom, {'color': 'blue'}, 'Parameter [blue]: input_geom')
m.add_layer(
    multilinestring_symmetric_difference,
    {'color': 'red'},
    'Result [red]: multilinestring.symmetricDifference',
)
m