AI-generated Key Takeaways
-
Returns the convex hull of a given geometry, which can be a point, line, or polygon.
-
Accepts an optional
maxError
parameter for reprojection tolerance and an optionalproj
parameter to specify the projection for the operation. -
If a projection is not specified, the operation is performed in a spherical coordinate system using meters as the unit for linear distances.
-
The convex hull of collinear points is a line segment, while the convex hull of a single point is the point itself.
-
For all other cases, the result is a polygon, which might be degenerate if all vertices lie on the same line.
Usage | Returns |
---|---|
MultiPolygon.convexHull(maxError, proj) | Geometry |
Argument | Type | Details |
---|---|---|
this: geometry | Geometry | Calculates the convex hull of this geometry. |
maxError | ErrorMargin, default: null | The maximum amount of error tolerated when performing any necessary reprojection. |
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. |
Examples
Code Editor (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');
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