int
lwpoint_inside_circle(const LWPOINT *p, double cx, double cy, double rad)
{
+ const POINT2D *pt;
POINT2D center;
- POINT2D pt;
if ( ! p || ! p->point )
return LW_FALSE;
- getPoint2d_p(p->point, 0, &pt);
+ pt = getPoint2d_cp(p->point, 0);
center.x = cx;
center.y = cy;
- if ( distance2d_pt_pt(&pt, ¢er) < rad )
+ if ( distance2d_pt_pt(pt, ¢er) < rad )
return LW_TRUE;
return LW_FALSE;
*/
char* lwpoint_to_latlon(const LWPOINT * pt, const char *format)
{
- POINT2D p;
+ const POINT2D *p;
if (NULL == pt)
{
lwerror("Cannot convert a null point into formatted text.");
{
lwerror("Cannot convert an empty point into formatted text.");
}
- getPoint2d_p(pt->point, 0, &p);
- return lwdoubles_to_latlon(p.y, p.x, format);
+ p = getPoint2d_cp(pt->point, 0);
+ return lwdoubles_to_latlon(p->y, p->x, format);
}
GSERIALIZED *geom;
POINTARRAY *pa;
int i;
- POINT2D pt;
+ const POINT2D *pt;
size_t size;
POSTGIS_DEBUG(2, "geometry_to_path called");
for ( i = 0; i < pa->npoints; i++ )
{
- getPoint2d_p(pa, i, &pt);
- (path->p[i]).x = pt.x;
- (path->p[i]).y = pt.y;
+ pt = getPoint2d_cp(pa, i);
+ (path->p[i]).x = pt->x;
+ (path->p[i]).y = pt->y;
}
lwgeom_free(lwgeom);
for ( i = 0; i < pa->npoints; i++ )
{
- POINT2D pt;
- getPoint2d_p(pa, i, &pt);
- (polygon->p[i]).x = pt.x;
- (polygon->p[i]).y = pt.y;
+ const POINT2D *pt = getPoint2d_cp(pa, i);
+ (polygon->p[i]).x = pt->x;
+ (polygon->p[i]).y = pt->y;
}
lwgeom_free(lwgeom);
geom = PG_GETARG_GSERIALIZED_P(0);
if ( gserialized_get_type(geom) != POINTTYPE )
- lwerror("Argument to X() must be a point");
+ lwerror("Argument to ST_X() must be a point");
lwgeom = lwgeom_from_gserialized(geom);
point = lwgeom_as_lwpoint(lwgeom);
geom = PG_GETARG_GSERIALIZED_P(0);
if ( gserialized_get_type(geom) != POINTTYPE )
- lwerror("Argument to Y() must be a point");
+ lwerror("Argument to ST_Y() must be a point");
lwgeom = lwgeom_from_gserialized(geom);
point = lwgeom_as_lwpoint(lwgeom);
geom = PG_GETARG_GSERIALIZED_P(0);
if ( gserialized_get_type(geom) != POINTTYPE )
- lwerror("Argument to Z() must be a point");
+ lwerror("Argument to ST_Z() must be a point");
lwgeom = lwgeom_from_gserialized(geom);
point = lwgeom_as_lwpoint(lwgeom);
geom = PG_GETARG_GSERIALIZED_P(0);
if ( gserialized_get_type(geom) != POINTTYPE )
- lwerror("Argument to M() must be a point");
+ lwerror("Argument to ST_M() must be a point");
lwgeom = lwgeom_from_gserialized(geom);
point = lwgeom_as_lwpoint(lwgeom);