PostGIS  2.5.1dev-r@@SVN_REVISION@@

◆ ptarray_longitude_shift()

void ptarray_longitude_shift ( POINTARRAY pa)

Longitude shift for a pointarray.

Y remains the same X is converted: from -180..180 to 0..360 from 0..360 to -180..180 X < 0 becomes X + 360 X > 180 becomes X - 360

Definition at line 1416 of file ptarray.c.

References getPoint_internal(), POINTARRAY::npoints, and pixval::x.

Referenced by lwgeom_longitude_shift().

1417 {
1418  uint32_t i;
1419  double x;
1420 
1421  for (i=0; i<pa->npoints; i++)
1422  {
1423  memcpy(&x, getPoint_internal(pa, i), sizeof(double));
1424  if ( x < 0 ) x+= 360;
1425  else if ( x > 180 ) x -= 360;
1426  memcpy(getPoint_internal(pa, i), &x, sizeof(double));
1427  }
1428 }
uint8_t * getPoint_internal(const POINTARRAY *pa, uint32_t n)
Definition: ptarray.c:1750
unsigned int uint32_t
Definition: uthash.h:78
uint32_t npoints
Definition: liblwgeom.h:373
Here is the call graph for this function:
Here is the caller graph for this function: