PostGIS  3.7.0dev-r@@SVN_REVISION@@

◆ lwpoly_perimeter()

double lwpoly_perimeter ( const LWPOLY poly)

Compute the sum of polygon rings length.

Could use a more numerically stable calculator...

Definition at line 466 of file lwpoly.c.

467 {
468  double result=0.0;
469  uint32_t i;
470 
471  LWDEBUGF(2, "in lwgeom_polygon_perimeter (%d rings)", poly->nrings);
472 
473  for (i=0; i<poly->nrings; i++)
474  result += ptarray_length(poly->rings[i]);
475 
476  return result;
477 }
char result[OUT_DOUBLE_BUFFER_SIZE]
Definition: cu_print.c:267
double ptarray_length(const POINTARRAY *pts)
Find the 3d/2d length of the given POINTARRAY (depending on its dimensionality)
Definition: ptarray.c:2003
#define LWDEBUGF(level, msg,...)
Definition: lwgeom_log.h:106
POINTARRAY ** rings
Definition: liblwgeom.h:519
uint32_t nrings
Definition: liblwgeom.h:524

References LWDEBUGF, LWPOLY::nrings, ptarray_length(), result, and LWPOLY::rings.

Referenced by lwgeom_perimeter().

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