# Get the convex hull of a geometry > Supported in: Batch, Faster, Streaming Given a valid GeoJSON input string, return a GeoJSON string that is the convex hull for the geometry. The convex hull is the smallest convex polygon containing the geometry. **Expression categories:** Geospatial ## Declared arguments * **Expression:** GeoJSON values for which the convex hull is calculated.
*Expression\* **Output type:** *Geometry* ## Examples ### Example 1: Base case **Argument values:** * **Expression:** `geometry` | geometry | **Output** | | ----- | ----- | | {"type":"Polygon","coordinates":\[\[\[0.0,0.0],\[2.0,0.0],\[2.0,1.0],\[1.0,1.0],\[1.0,2.0],\[0.0,2.0],\[0.0,0.0]]]} | {"type":"Polygon", "coordinates":\[\[\[0.0, 0.0], \[0.0, 2.0], \[1.0, 2.0], \[2.0, 1.0], \[2.0, 0.0], \[0.0, 0.0]]]} | | *null* | *null* | *** ### Example 2: Base case **Argument values:** * **Expression:** `geometry` | geometry | **Output** | | ----- | ----- | | {"type":"Polygon","coordinates":\[\[\[0.0,0.0],\[1.0,0.0],\[0.0,1.0],\[0.0,0.0]]]} | {"type":"Polygon","coordinates":\[\[\[0.0, 0.0], \[0.0, 1.0], \[1.0, 0.0], \[0.0, 0.0]]]} | *** ### Example 3: Base case **Argument values:** * **Expression:** `geometry` | geometry | **Output** | | ----- | ----- | | {"type":"MultiPolygon","coordinates":\[\[\[\[0.0,0.0],\[1.0,0.0],\[1.0,1.0],\[0.0,1.0],\[0.0,0.0]]],\[\[\[2.0,0.0],\[3.0,0.0],\[3.0,1.0],\[2.0,1.0],\[2.0,0.0]]]]} | {"type":"Polygon", "coordinates":\[\[\[0.0, 0.0], \[0.0, 1.0], \[3.0, 1.0], \[3.0, 0.0],\[0.0, 0.0]]]} | *** ### Example 4: Base case **Argument values:** * **Expression:** `geometry` | geometry | **Output** | | ----- | ----- | | {"type":"MultiPoint","coordinates":\[\[0.0,0.0],\[0.0,1.0],\[2.0,0.0], \[2.0,1.0]]} | {"type":"Polygon","coordinates":\[\[\[0.0, 0.0], \[0.0, 1.0], \[2.0, 1.0], \[2.0, 0.0], \[0.0, 0.0]]]} | ***