Announcement: All noncommercial projects registered to use Earth Engine before
April 15, 2025 must
verify noncommercial eligibility to maintain Earth Engine access.
ee.Geometry.LinearRing.simplify
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 | LinearRing.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. |
Examples
Code Editor (JavaScript)
// Define a LinearRing object.
var linearRing = ee.Geometry.LinearRing(
[[-122.091, 37.420],
[-122.085, 37.422],
[-122.080, 37.430]]);
// Apply the simplify method to the LinearRing object.
var linearRingSimplify = linearRing.simplify({'maxError': 1});
// Print the result to the console.
print('linearRing.simplify(...) =', linearRingSimplify);
// Display relevant geometries on the map.
Map.setCenter(-122.085, 37.422, 15);
Map.addLayer(linearRing,
{'color': 'black'},
'Geometry [black]: linearRing');
Map.addLayer(linearRingSimplify,
{'color': 'red'},
'Result [red]: linearRing.simplify');
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 LinearRing object.
linearring = ee.Geometry.LinearRing(
[[-122.091, 37.420], [-122.085, 37.422], [-122.080, 37.430]]
)
# Apply the simplify method to the LinearRing object.
linearring_simplify = linearring.simplify(maxError=1)
# Print the result.
display('linearring.simplify(...) =', linearring_simplify)
# Display relevant geometries on the map.
m = geemap.Map()
m.set_center(-122.085, 37.422, 15)
m.add_layer(linearring, {'color': 'black'}, 'Geometry [black]: linearring')
m.add_layer(
linearring_simplify, {'color': 'red'}, 'Result [red]: linearring.simplify'
)
m
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-07-13 UTC.
[null,null,["Last updated 2024-07-13 UTC."],[[["\u003cp\u003eSimplifies the geometry within a given error margin, potentially overriding user-requested accuracy for consistent rendering.\u003c/p\u003e\n"],["\u003cp\u003eUses \u003ccode\u003emaxError\u003c/code\u003e to control simplification, with the geometry remaining unsimplified at lower zoom levels if unspecified.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eproj\u003c/code\u003e optionally sets the output projection; if the error margin is in projected units, it's interpreted in this projection.\u003c/p\u003e\n"],["\u003cp\u003eAccepts a \u003ccode\u003eLinearRing\u003c/code\u003e Geometry object as input and returns a simplified Geometry.\u003c/p\u003e\n"]]],["The `simplify` method reduces a geometry's complexity within a specified error margin (`maxError`). It overrides default error margin propagation, ensuring consistent rendering across zoom levels. The method takes the geometry to simplify, the maximum error, and an optional projection as input. If a projection is given, the resulting geometry will be in that projection. It is demonstrated with a `LinearRing` in both Javascript and python examples and shows how to display the results.\n"],null,["# ee.Geometry.LinearRing.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| LinearRing.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 LinearRing object.\nvar linearRing = ee.Geometry.LinearRing(\n [[-122.091, 37.420],\n [-122.085, 37.422],\n [-122.080, 37.430]]);\n\n// Apply the simplify method to the LinearRing object.\nvar linearRingSimplify = linearRing.simplify({'maxError': 1});\n\n// Print the result to the console.\nprint('linearRing.simplify(...) =', linearRingSimplify);\n\n// Display relevant geometries on the map.\nMap.setCenter(-122.085, 37.422, 15);\nMap.addLayer(linearRing,\n {'color': 'black'},\n 'Geometry [black]: linearRing');\nMap.addLayer(linearRingSimplify,\n {'color': 'red'},\n 'Result [red]: linearRing.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 LinearRing object.\nlinearring = ee.Geometry.LinearRing(\n [[-122.091, 37.420], [-122.085, 37.422], [-122.080, 37.430]]\n)\n\n# Apply the simplify method to the LinearRing object.\nlinearring_simplify = linearring.simplify(maxError=1)\n\n# Print the result.\ndisplay('linearring.simplify(...) =', linearring_simplify)\n\n# Display relevant geometries on the map.\nm = geemap.Map()\nm.set_center(-122.085, 37.422, 15)\nm.add_layer(linearring, {'color': 'black'}, 'Geometry [black]: linearring')\nm.add_layer(\n linearring_simplify, {'color': 'red'}, 'Result [red]: linearring.simplify'\n)\nm\n```"]]