PostGIS  3.0.6dev-r@@SVN_REVISION@@

◆ lwpoly_perimeter_2d()

double lwpoly_perimeter_2d ( const LWPOLY poly)

Compute the sum of polygon rings length (forcing 2d computation).

Could use a more numerically stable calculator...

Definition at line 485 of file lwpoly.c.

486 {
487  double result=0.0;
488  uint32_t i;
489 
490  LWDEBUGF(2, "in lwgeom_polygon_perimeter (%d rings)", poly->nrings);
491 
492  for (i=0; i<poly->nrings; i++)
493  result += ptarray_length_2d(poly->rings[i]);
494 
495  return result;
496 }
double ptarray_length_2d(const POINTARRAY *pts)
Find the 2d length of the given POINTARRAY (even if it's 3d)
Definition: ptarray.c:1700
#define LWDEBUGF(level, msg,...)
Definition: lwgeom_log.h:88
POINTARRAY ** rings
Definition: liblwgeom.h:505
uint32_t nrings
Definition: liblwgeom.h:510

References LWDEBUGF, LWPOLY::nrings, ptarray_length_2d(), and LWPOLY::rings.

Referenced by lwgeom_perimeter_2d().

Here is the call graph for this function:
Here is the caller graph for this function: