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.
Simplifies the geometry to within a given error margin. Note that this does not respect the error margin requested by the consumer of this algorithm, unless maxError is explicitly specified to be null.
This overrides the default Earth Engine policy for propagating error margins, so regardless of the geometry accuracy requested from the output, the inputs will be requested with the error margin specified in the arguments to this algorithm. This results in consistent rendering at all zoom levels of a rendered vector map, but at lower zoom levels (i.e. zoomed out), the geometry won't be simplified, which may harm performance.
Usage
Returns
MultiPolygon.simplify(maxError, proj)
Geometry
Argument
Type
Details
this: geometry
Geometry
The geometry to simplify.
maxError
ErrorMargin
The maximum amount of error by which the result may differ from the input.
proj
Projection, default: null
If specified, the result will be in this projection. Otherwise it will be in the same projection as the input. If the error margin is in projected units, the margin will be interpreted as units of this projection.
[[["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 2024-07-13 UTC."],[[["\u003cp\u003eSimplifies the geometry of a MultiPolygon within a given error margin, potentially overriding the user's requested accuracy.\u003c/p\u003e\n"],["\u003cp\u003eUses the \u003ccode\u003emaxError\u003c/code\u003e argument to determine the allowed simplification deviation from the original geometry.\u003c/p\u003e\n"],["\u003cp\u003eThe simplification can be performed in a specified projection using the optional \u003ccode\u003eproj\u003c/code\u003e argument; otherwise, the input projection is used.\u003c/p\u003e\n"],["\u003cp\u003eConsistent rendering across zoom levels is achieved, but may impact performance at lower zoom levels due to lack of simplification.\u003c/p\u003e\n"]]],[],null,["# ee.Geometry.MultiPolygon.simplify\n\nSimplifies the geometry to within a given error margin. Note that this does not respect the error margin requested by the consumer of this algorithm, unless maxError is explicitly specified to be null.\n\n\u003cbr /\u003e\n\nThis overrides the default Earth Engine policy for propagating error margins, so regardless of the geometry accuracy requested from the output, the inputs will be requested with the error margin specified in the arguments to this algorithm. This results in consistent rendering at all zoom levels of a rendered vector map, but at lower zoom levels (i.e. zoomed out), the geometry won't be simplified, which may harm performance.\n\n| Usage | Returns |\n|---------------------------------------------|----------|\n| MultiPolygon.simplify`(maxError, `*proj*`)` | Geometry |\n\n| Argument | Type | Details |\n|------------------|---------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `geometry` | Geometry | The geometry to simplify. |\n| `maxError` | ErrorMargin | The maximum amount of error by which the result may differ from the input. |\n| `proj` | Projection, default: null | If specified, the result will be in this projection. Otherwise it will be in the same projection as the input. If the error margin is in projected units, the margin will be interpreted as units of this projection. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// Define a MultiPolygon object.\nvar multiPolygon = ee.Geometry.MultiPolygon(\n [[[[-122.092, 37.424],\n [-122.086, 37.418],\n [-122.079, 37.425],\n [-122.085, 37.423]]],\n [[[-122.081, 37.417],\n [-122.086, 37.421],\n [-122.089, 37.416]]]]);\n\n// Apply the simplify method to the MultiPolygon object.\nvar multiPolygonSimplify = multiPolygon.simplify({'maxError': 1});\n\n// Print the result to the console.\nprint('multiPolygon.simplify(...) =', multiPolygonSimplify);\n\n// Display relevant geometries on the map.\nMap.setCenter(-122.085, 37.422, 15);\nMap.addLayer(multiPolygon,\n {'color': 'black'},\n 'Geometry [black]: multiPolygon');\nMap.addLayer(multiPolygonSimplify,\n {'color': 'red'},\n 'Result [red]: multiPolygon.simplify');\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 MultiPolygon object.\nmultipolygon = ee.Geometry.MultiPolygon([\n [[\n [-122.092, 37.424],\n [-122.086, 37.418],\n [-122.079, 37.425],\n [-122.085, 37.423],\n ]],\n [[[-122.081, 37.417], [-122.086, 37.421], [-122.089, 37.416]]],\n])\n\n# Apply the simplify method to the MultiPolygon object.\nmultipolygon_simplify = multipolygon.simplify(maxError=1)\n\n# Print the result.\ndisplay('multipolygon.simplify(...) =', multipolygon_simplify)\n\n# Display relevant geometries on the map.\nm = geemap.Map()\nm.set_center(-122.085, 37.422, 15)\nm.add_layer(\n multipolygon, {'color': 'black'}, 'Geometry [black]: multipolygon'\n)\nm.add_layer(\n multipolygon_simplify,\n {'color': 'red'},\n 'Result [red]: multipolygon.simplify',\n)\nm\n```"]]