Calculate the geodetic length of a lwgeom on the unit sphere.
The result will have to by multiplied by the real radius to get the real length.
Definition at line 3296 of file lwgeodetic.c.
3300 double length = 0.0;
3319 for ( i = 0; i < poly->
nrings; i++ )
3333 for ( i = 0; i < col->
ngeoms; i++ )
3340 lwerror(
"unsupported type passed to lwgeom_length_sphere");
int lwtype_is_collection(uint8_t type)
Determine whether a type number is a collection or not.
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
double ptarray_length_spheroid(const POINTARRAY *pa, const SPHEROID *s)
double lwgeom_length_spheroid(const LWGEOM *geom, const SPHEROID *s)
Calculate the geodetic length of a lwgeom on the unit sphere.
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
static int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members)
References LWCOLLECTION::geoms, LINETYPE, lwerror(), lwgeom_is_empty(), lwgeom_length_spheroid(), lwtype_is_collection(), MULTIPOINTTYPE, LWCOLLECTION::ngeoms, LWPOLY::nrings, POINTTYPE, POLYGONTYPE, ptarray_length_spheroid(), LWPOLY::rings, s, TRIANGLETYPE, LWGEOM::type, and ovdump::type.
Referenced by geography_length(), geography_perimeter(), LWGEOM_length2d_ellipsoid(), LWGEOM_length_ellipsoid_linestring(), and lwgeom_length_spheroid().