Announcement: All noncommercial projects registered to use Earth Engine before April 15, 2025 must verify noncommercial eligibility to maintain Earth Engine access.
Stay organized with collections
Save and categorize content based on your preferences.
Returns the symmetric difference between two geometries.
Usage
Returns
BBox.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 the difference between the union and intersection of two geometries.\u003c/p\u003e\n"],["\u003cp\u003eAccepts a right-hand geometry, an optional error margin, and an optional projection as input.\u003c/p\u003e\n"],["\u003cp\u003eCan be applied to \u003ccode\u003eBBox\u003c/code\u003e geometries in both JavaScript and Python environments within Google Earth Engine.\u003c/p\u003e\n"],["\u003cp\u003eComputes the areas of the input geometries that do not overlap.\u003c/p\u003e\n"]]],["The `symmetricDifference` method calculates the symmetric difference between two geometries (`left` and `right`). It accepts a `maxError` parameter to define error tolerance during reprojection and a `proj` parameter to specify the projection for the operation. The result is a new `Geometry` object representing the symmetric difference. The provided examples illustrate its application using `BBox` geometries in both JavaScript and Python, showcasing the method's usage and output.\n"],null,["# ee.Geometry.BBox.symmetricDifference\n\nReturns the symmetric difference between two geometries.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|------------------------------------------------------------|----------|\n| BBox.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 BBox object.\nvar bBox = ee.Geometry.BBox(-122.09, 37.42, -122.08, 37.43);\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 BBox object.\nvar bBoxSymmetricDifference = bBox.symmetricDifference({'right': inputGeom, 'maxError': 1});\n\n// Print the result to the console.\nprint('bBox.symmetricDifference(...) =', bBoxSymmetricDifference);\n\n// Display relevant geometries on the map.\nMap.setCenter(-122.085, 37.422, 15);\nMap.addLayer(bBox,\n {'color': 'black'},\n 'Geometry [black]: bBox');\nMap.addLayer(inputGeom,\n {'color': 'blue'},\n 'Parameter [blue]: inputGeom');\nMap.addLayer(bBoxSymmetricDifference,\n {'color': 'red'},\n 'Result [red]: bBox.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 BBox object.\nbbox = ee.Geometry.BBox(-122.09, 37.42, -122.08, 37.43)\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 BBox object.\nbbox_symmetric_difference = bbox.symmetricDifference(\n right=input_geom, maxError=1\n)\n\n# Print the result.\ndisplay('bbox.symmetricDifference(...) =', bbox_symmetric_difference)\n\n# Display relevant geometries on the map.\nm = geemap.Map()\nm.set_center(-122.085, 37.422, 15)\nm.add_layer(bbox, {'color': 'black'}, 'Geometry [black]: bbox')\nm.add_layer(input_geom, {'color': 'blue'}, 'Parameter [blue]: input_geom')\nm.add_layer(\n bbox_symmetric_difference,\n {'color': 'red'},\n 'Result [red]: bbox.symmetricDifference',\n)\nm\n```"]]