Geometry
Geometry functions allow you to calculate perimeter, area and length for geometric types such as POLYGON, LINESTRING, MULTIPOLYGON, MULTILINESTRING, RING, and POINT. Use geometries in Geometry type. If the input value isNULL, all functions below will return 0.
perimeterCartesian
Calculates the perimeter of the given Geometry object in the Cartesian (flat) coordinate system. Syntaxgeom— Geometry object. Geometry.
- Number — Perimeter of the object in the coordinate system units. Float64.
Query
Response
areaCartesian
Calculates the area of the given Geometry object in the Cartesian coordinate system. Syntaxgeom— Geometry object. Geometry.
- Number — Area of the object in coordinate system units. Float64.
Query
Response
perimeterSpherical
Calculates the perimeter of a Geometry object on the surface of a sphere. Syntaxgeom— Geometry object. Geometry.
- Number — Perimeter on a sphere of radius 1, in radians (coordinates are longitude and latitude in degrees). Multiply by the radius of the sphere to get a length, for example by 6371 for kilometers on the Earth. Float64.
Query
Response
areaSpherical
Calculates the area of a Geometry object on the surface of a sphere. Syntaxgeom— Geometry. Geometry.
- Number — Area on a sphere of radius 1, in steradians (coordinates are longitude and latitude in degrees). Multiply by the square of the radius of the sphere to get an area. Float64.
Query
Response
lengthCartesian
Calculates the length of the lines of a Geometry object in the Cartesian (flat) coordinate system: the sum of the distances between consecutive points. AMultiLineString has the total length of its lines, and a Ring is measured as the line through its points, as is an array of points without a type name, which has the type Ring.
Points, polygons and multipolygons have no length, so the function returns 0 for them: use perimeterCartesian for the perimeter of a polygon.
To measure an array of arrays of points, cast it to MultiLineString: without a type name, it has the type Polygon.
Alias: ST_Length.
Syntax
geom— Geometry object. Geometry.
- Number — Length of the lines in the coordinate system units. Float64.
Query
Response
lengthSpherical
Calculates the length of the lines of a Geometry object on the surface of a sphere, with points given as (longitude, latitude) in degrees. The result is an angle in radians, which is the length on a sphere of radius 1, like the result of perimeterSpherical. Multiply it by the mean radius of the Earth, 6371008.8 meters, for an approximate length in meters, or use lengthSpheroid for an accurate one. Like lengthCartesian, it returns 0 for points, polygons and multipolygons. Syntaxgeom— Geometry object. Geometry.
- Number — Length of the lines in radians. Float64.
Query
Response
lengthSpheroid
Calculates the length of the lines of a Geometry object in meters on the WGS84 spheroid, the model of the Earth used by GPS, with points given as (longitude, latitude) in degrees. Each segment is the shortest path between its points on the spheroid (a geodesic), calculated with Karney’s algorithm, as in GeographicLib. Like lengthCartesian, it returns 0 for points, polygons and multipolygons. For coordinates stored as (latitude, longitude), such as the input ofST_Length_Spheroid in DuckDB, swap them first with flipCoordinates: without it, the result is the length of a different line.
If a coordinate is NaN or infinite, or a latitude is outside [-90, 90], the result is NaN.
Syntax
geom— Geometry object. Geometry.
- Number — Length of the lines in meters. Float64.
Query
Response