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 3342 of file lwgeodetic.c.
3349 static double tolerance = 1e-10;
3352 lwerror(
"ptarray_nudge_geodetic called with null input");
3354 for(i = 0; i < pa->
npoints; i++ )
3357 if ( p.
x < -180.0 && (-180.0 - p.
x < tolerance) )
3362 if ( p.
x > 180.0 && (p.
x - 180.0 < tolerance) )
3367 if ( p.
y < -90.0 && (-90.0 - p.
y < tolerance) )
3372 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().