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 3297 of file lwgeodetic.c.
3301 double length = 0.0;
3320 for ( i = 0; i < poly->
nrings; i++ )
3334 for ( i = 0; i < col->
ngeoms; i++ )
3341 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.
int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members)
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.
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().