ee.Geometry.BBox.convexHull

  • The convex hull of a geometry is the smallest convex shape that contains the geometry.

  • The convex hull of a single point is the point, collinear points form a line, and other geometries result in a polygon.

  • The method BBox.convexHull returns a Geometry and can take optional maxError and proj arguments.

  • Examples are provided in both JavaScript and Python demonstrating how to use the convexHull method and visualize the results.

Returns 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.

UsageReturns
BBox.convexHull(maxError, proj)Geometry
ArgumentTypeDetails
this: geometryGeometryCalculates the convex hull of this geometry.
maxErrorErrorMargin, default: nullThe maximum amount of error tolerated when performing any necessary reprojection.
projProjection, default: nullThe 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 BBox object.
var bBox = ee.Geometry.BBox(-122.09, 37.42, -122.08, 37.43);

// Apply the convexHull method to the BBox object.
var bBoxConvexHull = bBox.convexHull({'maxError': 1});

// Print the result to the console.
print('bBox.convexHull(...) =', bBoxConvexHull);

// Display relevant geometries on the map.
Map.setCenter(-122.085, 37.422, 15);
Map.addLayer(bBox,
             {'color': 'black'},
             'Geometry [black]: bBox');
Map.addLayer(bBoxConvexHull,
             {'color': 'red'},
             'Result [red]: bBox.convexHull');

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 BBox object.
bbox = ee.Geometry.BBox(-122.09, 37.42, -122.08, 37.43)

# Apply the convexHull method to the BBox object.
bbox_convex_hull = bbox.convexHull(maxError=1)

# Print the result.
display('bbox.convexHull(...) =', bbox_convex_hull)

# Display relevant geometries on the map.
m = geemap.Map()
m.set_center(-122.085, 37.422, 15)
m.add_layer(bbox, {'color': 'black'}, 'Geometry [black]: bbox')
m.add_layer(
    bbox_convex_hull, {'color': 'red'}, 'Result [red]: bbox.convexHull'
)
m