ee.Geometry.MultiPolygon.convexHull
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Trả về bao lồi của hình học đã cho. Bao lồi của một điểm duy nhất là chính điểm đó, bao lồi của các điểm thẳng hàng là một đường thẳng và bao lồi của mọi thứ khác là một đa giác. Xin lưu ý rằng một đa giác suy biến có tất cả các đỉnh trên cùng một đường thẳng sẽ tạo ra một đoạn thẳng.
Cách sử dụng | Giá trị trả về |
---|
MultiPolygon.convexHull(maxError, proj) | Hình học |
Đối số | Loại | Thông tin chi tiết |
---|
this: geometry | Hình học | Tính toán bao lồi của hình học này. |
maxError | ErrorMargin, mặc định: null | Lượng lỗi tối đa được chấp nhận khi thực hiện bất kỳ phép chiếu lại cần thiết nào. |
proj | Phép chiếu, mặc định: null | Phép chiếu để thực hiện thao tác. Nếu không được chỉ định, thao tác sẽ được thực hiện trong hệ toạ độ cầu và khoảng cách tuyến tính sẽ tính bằng mét trên quả cầu. |
Ví dụ
Trình soạn thảo mã (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');
Thiết lập Python
Hãy xem trang
Môi trường Python để biết thông tin về API Python và cách sử dụng geemap
cho quá trình phát triển tương tác.
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
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-26 UTC."],[[["\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```"]]