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