Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies to:
Databricks SQL
Databricks Runtime 17.1 and above
Important
This feature is in Public Preview.
Note
This feature is not available on Databricks SQL Classic warehouses. To learn more about Databricks SQL warehouses, see SQL warehouse types.
Returns the perimeter of the input GEOGRAPHY or GEOMETRY value.
Syntax
st_perimeter ( geoExpr )
Arguments
geoExpr: AGEOGRAPHYorGEOMETRYvalue.
Returns
A value of type DOUBLE, representing the perimeter of the input GEOGRAPHY or GEOMETRY value.
If the input is a GEOGRAPHY value, the function the geodesic perimeter of the input GEOGRAPHY value.
Specifically, it returns the sum of the geodesic lengths of the (2D projections of the) segments of a polygon, and the sum of the perimeters of the polygons in a multipolygon.
For non-areal geographies (points, linestrings, multipoints, and multilinestrings) 0 is returned, whereas for geometry collections it returns the sum of the perimeters of the elements in the collection.
The result is computed by performing the inverse geodesic calculation assuming the WGS84 ellipsoid.
The units of the result is meters.
If the input is a GEOMETRY value, the function returns the Cartesian perimeter of the input GEOMETRY value.
Specifically, it returns the sum of the lengths of the (2D Cartesian projections of the) segments of a polygon, and the sum of the perimeters of the polygons in a multipolygon.
For non-areal geometries (points, linestrings, multipoints, and multilinestrings) 0 is returned,
whereas for geometry collections it returns the sum of the perimeters of the elements in the
collection.
The units of the result are those of the spatial reference system of the input GEOMETRY value.
The function returns NULL if any of the inputs is NULL.
Examples
-- Returns the perimeter of a 2D Cartesian polygon with a hole.
> SELECT round(st_perimeter(st_geomfromtext('POLYGON((0 0,50 0,50 50,0 50,0 0),(20 20,25 30,30 20,20 20))')), 2);
232.36