When features are snapped or sometimes they are just this way, they are very close to the geodetic bounds but slightly over.
This routine nudges those points, and only those points, back over to the bounds. http://trac.osgeo.org/postgis/ticket/1292
Definition at line 3351 of file lwgeodetic.c.
3358 static double tolerance = 1e-10;
3361 lwerror(
"ptarray_nudge_geodetic called with null input");
3363 for(i = 0; i < pa->
npoints; i++ )
3366 if ( p.
x < -180.0 && (-180.0 - p.
x <= tolerance) )
3371 if ( p.
x > 180.0 && (p.
x - 180.0 <= tolerance) )
3376 if ( p.
y < -90.0 && (-90.0 - p.
y <= tolerance) )
3381 if ( p.
y > 90.0 && (p.
y - 90.0 <= tolerance) )
int getPoint4d_p(const POINTARRAY *pa, uint32_t n, POINT4D *point)
#define LW_TRUE
Return types for functions with status returns.
void ptarray_set_point4d(POINTARRAY *pa, uint32_t n, const POINT4D *p4d)
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
References getPoint4d_p(), LW_FALSE, LW_TRUE, lwerror(), POINTARRAY::npoints, ptarray_set_point4d(), POINT4D::x, and POINT4D::y.
Referenced by lwgeom_nudge_geodetic().