AI-generated Key Takeaways
-
Returns a Geometry representing the parts of two geometries that do not intersect.
-
Accepts two geometries as input:
left
(the calling geometry) andright
. -
Can be performed using a specified projection or a spherical coordinate system by default.
-
Allows for error tolerance during reprojection using the
maxError
parameter.
Usage | Returns |
---|---|
Geometry.symmetricDifference(right, maxError, proj) | Geometry |
Argument | Type | Details |
---|---|---|
this: left | Geometry | The geometry used as the left operand of the operation. |
right | Geometry | The geometry used as the right operand of the operation. |
maxError | ErrorMargin, default: null | The maximum amount of error tolerated when performing any necessary reprojection. |
proj | Projection, default: null | The 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 Geometry object. var geometry = ee.Geometry({ 'type': 'Polygon', 'coordinates': [[[-122.081, 37.417], [-122.086, 37.421], [-122.084, 37.418], [-122.089, 37.416]]] }); // Define other inputs. var inputGeom = ee.Geometry.BBox(-122.085, 37.415, -122.075, 37.425); // Apply the symmetricDifference method to the Geometry object. var geometrySymmetricDifference = geometry.symmetricDifference({'right': inputGeom, 'maxError': 1}); // Print the result to the console. print('geometry.symmetricDifference(...) =', geometrySymmetricDifference); // Display relevant geometries on the map. Map.setCenter(-122.085, 37.422, 15); Map.addLayer(geometry, {'color': 'black'}, 'Geometry [black]: geometry'); Map.addLayer(inputGeom, {'color': 'blue'}, 'Parameter [blue]: inputGeom'); Map.addLayer(geometrySymmetricDifference, {'color': 'red'}, 'Result [red]: geometry.symmetricDifference');
import ee import geemap.core as geemap
Colab (Python)
# Define a Geometry object. geometry = ee.Geometry({ 'type': 'Polygon', 'coordinates': [[ [-122.081, 37.417], [-122.086, 37.421], [-122.084, 37.418], [-122.089, 37.416], ]], }) # Define other inputs. input_geom = ee.Geometry.BBox(-122.085, 37.415, -122.075, 37.425) # Apply the symmetricDifference method to the Geometry object. geometry_symmetric_difference = geometry.symmetricDifference( right=input_geom, maxError=1 ) # Print the result. display('geometry.symmetricDifference(...) =', geometry_symmetric_difference) # Display relevant geometries on the map. m = geemap.Map() m.set_center(-122.085, 37.422, 15) m.add_layer(geometry, {'color': 'black'}, 'Geometry [black]: geometry') m.add_layer(input_geom, {'color': 'blue'}, 'Parameter [blue]: input_geom') m.add_layer( geometry_symmetric_difference, {'color': 'red'}, 'Result [red]: geometry.symmetricDifference', ) m