公告:所有在
2025 年 4 月 15 日之前注册使用 Earth Engine 的非商业项目都必须
验证是否符合非商业性质的资格条件,才能继续使用 Earth Engine。
ee.Geometry.MultiPolygon.simplify
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
将几何图形简化到给定的误差范围内。请注意,除非明确将 maxError 指定为 null,否则此方法不会考虑相应算法的使用者请求的误差边际。
这会替换用于传播误差边际的默认 Earth Engine 政策,因此无论从输出中请求的几何图形精度如何,系统都会根据此算法的实参中指定的误差边际来请求输入。这样一来,渲染的矢量地图在所有缩放级别都能保持一致的渲染效果,但在较低的缩放级别(即缩小)下,几何图形不会简化,这可能会影响性能。
用法 | 返回 |
---|
MultiPolygon.simplify(maxError, proj) | 几何图形 |
参数 | 类型 | 详细信息 |
---|
此:geometry | 几何图形 | 要简化的几何图形。 |
maxError | ErrorMargin | 结果与输入之间可能存在的最大误差。 |
proj | 投影,默认值:null | 如果指定了此参数,结果将采用此投影。否则,它将与输入处于同一投影中。如果误差边际采用的是预测单位,则边际将解读为相应预测的单位。 |
示例
代码编辑器 (JavaScript)
// Define a MultiPolygon object.
var multiPolygon = ee.Geometry.MultiPolygon(
[[[[-122.092, 37.424],
[-122.086, 37.418],
[-122.079, 37.425],
[-122.085, 37.423]]],
[[[-122.081, 37.417],
[-122.086, 37.421],
[-122.089, 37.416]]]]);
// Apply the simplify method to the MultiPolygon object.
var multiPolygonSimplify = multiPolygon.simplify({'maxError': 1});
// Print the result to the console.
print('multiPolygon.simplify(...) =', multiPolygonSimplify);
// Display relevant geometries on the map.
Map.setCenter(-122.085, 37.422, 15);
Map.addLayer(multiPolygon,
{'color': 'black'},
'Geometry [black]: multiPolygon');
Map.addLayer(multiPolygonSimplify,
{'color': 'red'},
'Result [red]: multiPolygon.simplify');
Python 设置
如需了解 Python API 和如何使用 geemap
进行交互式开发,请参阅
Python 环境页面。
import ee
import geemap.core as geemap
Colab (Python)
# Define a MultiPolygon object.
multipolygon = ee.Geometry.MultiPolygon([
[[
[-122.092, 37.424],
[-122.086, 37.418],
[-122.079, 37.425],
[-122.085, 37.423],
]],
[[[-122.081, 37.417], [-122.086, 37.421], [-122.089, 37.416]]],
])
# Apply the simplify method to the MultiPolygon object.
multipolygon_simplify = multipolygon.simplify(maxError=1)
# Print the result.
display('multipolygon.simplify(...) =', multipolygon_simplify)
# Display relevant geometries on the map.
m = geemap.Map()
m.set_center(-122.085, 37.422, 15)
m.add_layer(
multipolygon, {'color': 'black'}, 'Geometry [black]: multipolygon'
)
m.add_layer(
multipolygon_simplify,
{'color': 'red'},
'Result [red]: multipolygon.simplify',
)
m
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\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```"]]