公告:所有在
2025 年 4 月 15 日之前注册使用 Earth Engine 的非商业项目都必须
验证是否符合非商业性质的资格条件,才能继续使用 Earth Engine。
ee.Geometry.MultiPolygon.convexHull
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
返回给定几何图形的凸包。单个点的凸包是该点本身,共线点的凸包是一条线,而其他任何点的凸包都是一个多边形。请注意,如果退化多边形的所有顶点都位于同一条直线上,则会生成线段。
用法 | 返回 |
---|
MultiPolygon.convexHull(maxError, proj) | 几何图形 |
参数 | 类型 | 详细信息 |
---|
此:geometry | 几何图形 | 计算相应几何图形的凸包。 |
maxError | ErrorMargin,默认值:null | 执行任何必要的重新投影时可容忍的最大误差量。 |
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 convexHull method to the MultiPolygon object.
var multiPolygonConvexHull = multiPolygon.convexHull({'maxError': 1});
// Print the result to the console.
print('multiPolygon.convexHull(...) =', multiPolygonConvexHull);
// Display relevant geometries on the map.
Map.setCenter(-122.085, 37.422, 15);
Map.addLayer(multiPolygon,
{'color': 'black'},
'Geometry [black]: multiPolygon');
Map.addLayer(multiPolygonConvexHull,
{'color': 'red'},
'Result [red]: multiPolygon.convexHull');
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 convexHull method to the MultiPolygon object.
multipolygon_convex_hull = multipolygon.convexHull(maxError=1)
# Print the result.
display('multipolygon.convexHull(...) =', multipolygon_convex_hull)
# 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_convex_hull,
{'color': 'red'},
'Result [red]: multipolygon.convexHull',
)
m
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003eReturns the convex hull of a given geometry, which can be a point, line, or polygon.\u003c/p\u003e\n"],["\u003cp\u003eAccepts an optional \u003ccode\u003emaxError\u003c/code\u003e parameter for reprojection tolerance and an optional \u003ccode\u003eproj\u003c/code\u003e parameter to specify the projection for the operation.\u003c/p\u003e\n"],["\u003cp\u003eIf a projection is not specified, the operation is performed in a spherical coordinate system using meters as the unit for linear distances.\u003c/p\u003e\n"],["\u003cp\u003eThe convex hull of collinear points is a line segment, while the convex hull of a single point is the point itself.\u003c/p\u003e\n"],["\u003cp\u003eFor all other cases, the result is a polygon, which might be degenerate if all vertices lie on the same line.\u003c/p\u003e\n"]]],["The `convexHull` method calculates the convex hull of a given geometry. A single point's convex hull is the point itself; collinear points result in a line; otherwise, a polygon is produced. The method accepts `maxError` for reprojection tolerance and `proj` to define the projection. It can be applied to geometries, such as a `MultiPolygon`, returning a new `Geometry` representing the convex hull. The example provides code in both Javascript and Python that defines and displays the input `MultiPolygon` and the result of the convex hull.\n"],null,["# ee.Geometry.MultiPolygon.convexHull\n\nReturns the convex hull of the given geometry. The convex hull of a single point is the point itself, the convex hull of collinear points is a line, and the convex hull of everything else is a polygon. Note that a degenerate polygon with all vertices on the same line will result in a line segment.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|----------------------------------------------------|----------|\n| MultiPolygon.convexHull`(`*maxError* `, `*proj*`)` | Geometry |\n\n| Argument | Type | Details |\n|------------------|----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `geometry` | Geometry | Calculates the convex hull of this geometry. |\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 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 convexHull method to the MultiPolygon object.\nvar multiPolygonConvexHull = multiPolygon.convexHull({'maxError': 1});\n\n// Print the result to the console.\nprint('multiPolygon.convexHull(...) =', multiPolygonConvexHull);\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(multiPolygonConvexHull,\n {'color': 'red'},\n 'Result [red]: multiPolygon.convexHull');\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 convexHull method to the MultiPolygon object.\nmultipolygon_convex_hull = multipolygon.convexHull(maxError=1)\n\n# Print the result.\ndisplay('multipolygon.convexHull(...) =', multipolygon_convex_hull)\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_convex_hull,\n {'color': 'red'},\n 'Result [red]: multipolygon.convexHull',\n)\nm\n```"]]