Stay organized with collectionsSave and categorize content based on your preferences.
Returns the symmetric difference between two geometries.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-10-06 UTC."],[[["\u003cp\u003eReturns a Geometry representing the parts of two geometries that do not intersect.\u003c/p\u003e\n"],["\u003cp\u003eAccepts two geometries as input: \u003ccode\u003eleft\u003c/code\u003e (the calling geometry) and \u003ccode\u003eright\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eCan be performed using a specified projection or a spherical coordinate system by default.\u003c/p\u003e\n"],["\u003cp\u003eAllows for error tolerance during reprojection using the \u003ccode\u003emaxError\u003c/code\u003e parameter.\u003c/p\u003e\n"]]],[],null,["# ee.Geometry.symmetricDifference\n\nReturns the symmetric difference between two geometries.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|----------------------------------------------------------------|----------|\n| Geometry.symmetricDifference`(right, `*maxError* `, `*proj*`)` | Geometry |\n\n| Argument | Type | Details |\n|--------------|----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `left` | Geometry | The geometry used as the left operand of the operation. |\n| `right` | Geometry | The geometry used as the right operand of the operation. |\n| `maxError` | ErrorMargin, default: null | The maximum amount of error tolerated when performing any necessary reprojection. |\n| `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. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// Define a Geometry object.\nvar geometry = ee.Geometry({\n 'type': 'Polygon',\n 'coordinates':\n [[[-122.081, 37.417],\n [-122.086, 37.421],\n [-122.084, 37.418],\n [-122.089, 37.416]]]\n});\n\n// Define other inputs.\nvar inputGeom = ee.Geometry.BBox(-122.085, 37.415, -122.075, 37.425);\n\n// Apply the symmetricDifference method to the Geometry object.\nvar geometrySymmetricDifference = geometry.symmetricDifference({'right': inputGeom, 'maxError': 1});\n\n// Print the result to the console.\nprint('geometry.symmetricDifference(...) =', geometrySymmetricDifference);\n\n// Display relevant geometries on the map.\nMap.setCenter(-122.085, 37.422, 15);\nMap.addLayer(geometry,\n {'color': 'black'},\n 'Geometry [black]: geometry');\nMap.addLayer(inputGeom,\n {'color': 'blue'},\n 'Parameter [blue]: inputGeom');\nMap.addLayer(geometrySymmetricDifference,\n {'color': 'red'},\n 'Result [red]: geometry.symmetricDifference');\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# Define a Geometry object.\ngeometry = ee.Geometry({\n 'type': 'Polygon',\n 'coordinates': [[\n [-122.081, 37.417],\n [-122.086, 37.421],\n [-122.084, 37.418],\n [-122.089, 37.416],\n ]],\n})\n\n# Define other inputs.\ninput_geom = ee.Geometry.BBox(-122.085, 37.415, -122.075, 37.425)\n\n# Apply the symmetricDifference method to the Geometry object.\ngeometry_symmetric_difference = geometry.symmetricDifference(\n right=input_geom, maxError=1\n)\n\n# Print the result.\ndisplay('geometry.symmetricDifference(...) =', geometry_symmetric_difference)\n\n# Display relevant geometries on the map.\nm = geemap.Map()\nm.set_center(-122.085, 37.422, 15)\nm.add_layer(geometry, {'color': 'black'}, 'Geometry [black]: geometry')\nm.add_layer(input_geom, {'color': 'blue'}, 'Parameter [blue]: input_geom')\nm.add_layer(\n geometry_symmetric_difference,\n {'color': 'red'},\n 'Result [red]: geometry.symmetricDifference',\n)\nm\n```"]]