From: Paul Ramsey Date: Fri, 28 Oct 2011 22:06:16 +0000 (+0000) Subject: remove pglwgeom_get_srid, pglwgeom_set_srid X-Git-Tag: 2.0.0alpha1~820 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6e552253373aa44144c1a4faa61d4e794a99170e;p=postgis remove pglwgeom_get_srid, pglwgeom_set_srid git-svn-id: http://svn.osgeo.org/postgis/trunk@8037 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/libpgcommon/lwgeom_pg.c b/libpgcommon/lwgeom_pg.c index 2d307338b..8b0fe08e0 100644 --- a/libpgcommon/lwgeom_pg.c +++ b/libpgcommon/lwgeom_pg.c @@ -203,28 +203,6 @@ pglwgeom_serialize(LWGEOM *in) } -/* - * Set the SRID of a GSERIALIZED - * Returns a newly allocated GSERIALIZED object. - * Allocation will be done using the lwalloc. - */ -GSERIALIZED * -pglwgeom_set_srid(GSERIALIZED *lwgeom, int32 new_srid) -{ - gserialized_set_srid(lwgeom, new_srid); - return lwgeom; -} - -/* - * get the SRID from the LWGEOM - * none present => -1 - */ -int -pglwgeom_get_srid(GSERIALIZED *lwgeom) -{ - return gserialized_get_srid(lwgeom); -} - int pglwgeom_get_type(const GSERIALIZED *lwgeom) { diff --git a/libpgcommon/lwgeom_pg.h b/libpgcommon/lwgeom_pg.h index a3c736cfc..6e48c973a 100644 --- a/libpgcommon/lwgeom_pg.h +++ b/libpgcommon/lwgeom_pg.h @@ -97,8 +97,6 @@ extern GSERIALIZED *pglwgeom_serialize(LWGEOM *lwgeom); /* GSERIALIZED SRID get/set */ -extern GSERIALIZED *pglwgeom_set_srid(GSERIALIZED *pglwgeom, int32 newSRID); -extern int pglwgeom_get_srid(GSERIALIZED *pglwgeom); extern int pglwgeom_get_type(const GSERIALIZED *lwgeom); extern int pglwgeom_get_zm(const GSERIALIZED *lwgeom); extern GSERIALIZED* pglwgeom_drop_bbox(GSERIALIZED *geom); diff --git a/postgis/lwgeom_btree.c b/postgis/lwgeom_btree.c index f52b1ecae..a5236916f 100644 --- a/postgis/lwgeom_btree.c +++ b/postgis/lwgeom_btree.c @@ -40,7 +40,7 @@ Datum lwgeom_lt(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "lwgeom_lt called"); - if (pglwgeom_get_srid(geom1) != pglwgeom_get_srid(geom2)) + if (gserialized_get_srid(geom1) != gserialized_get_srid(geom2)) { elog(BTREE_SRID_MISMATCH_SEVERITY, "Operation on two GEOMETRIES with different SRIDs\n"); @@ -96,7 +96,7 @@ Datum lwgeom_le(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "lwgeom_le called"); - if (pglwgeom_get_srid(geom1) != pglwgeom_get_srid(geom2)) + if (gserialized_get_srid(geom1) != gserialized_get_srid(geom2)) { elog(BTREE_SRID_MISMATCH_SEVERITY, "Operation on two GEOMETRIES with different SRIDs\n"); @@ -161,7 +161,7 @@ Datum lwgeom_eq(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "lwgeom_eq called"); - if (pglwgeom_get_srid(geom1) != pglwgeom_get_srid(geom2)) + if (gserialized_get_srid(geom1) != gserialized_get_srid(geom2)) { elog(BTREE_SRID_MISMATCH_SEVERITY, "Operation on two GEOMETRIES with different SRIDs\n"); @@ -198,7 +198,7 @@ Datum lwgeom_ge(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "lwgeom_ge called"); - if (pglwgeom_get_srid(geom1) != pglwgeom_get_srid(geom2)) + if (gserialized_get_srid(geom1) != gserialized_get_srid(geom2)) { elog(BTREE_SRID_MISMATCH_SEVERITY, "Operation on two GEOMETRIES with different SRIDs\n"); @@ -262,7 +262,7 @@ Datum lwgeom_gt(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "lwgeom_gt called"); - if (pglwgeom_get_srid(geom1) != pglwgeom_get_srid(geom2)) + if (gserialized_get_srid(geom1) != gserialized_get_srid(geom2)) { elog(BTREE_SRID_MISMATCH_SEVERITY, "Operation on two GEOMETRIES with different SRIDs\n"); @@ -322,7 +322,7 @@ Datum lwgeom_cmp(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "lwgeom_cmp called"); - if (pglwgeom_get_srid(geom1) != pglwgeom_get_srid(geom2)) + if (gserialized_get_srid(geom1) != gserialized_get_srid(geom2)) { elog(BTREE_SRID_MISMATCH_SEVERITY, "Operation on two GEOMETRIES with different SRIDs\n"); diff --git a/postgis/lwgeom_export.c b/postgis/lwgeom_export.c index 68219d08f..226fa732a 100644 --- a/postgis/lwgeom_export.c +++ b/postgis/lwgeom_export.c @@ -158,7 +158,7 @@ Datum LWGEOM_asGML(PG_FUNCTION_ARGS) } } - srid = pglwgeom_get_srid(geom); + srid = gserialized_get_srid(geom); if (srid == SRID_UNKNOWN) srs = NULL; else if (option & 1) srs = getSRSbySRID(srid, false); else srs = getSRSbySRID(srid, true); @@ -313,7 +313,7 @@ Datum LWGEOM_asGeoJson(PG_FUNCTION_ARGS) if (option & 2 || option & 4) { - srid = pglwgeom_get_srid(geom); + srid = gserialized_get_srid(geom); if ( srid != SRID_UNKNOWN ) { if (option & 2) srs = getSRSbySRID(srid, true); @@ -452,7 +452,7 @@ Datum LWGEOM_asX3D(PG_FUNCTION_ARGS) } } - srid = pglwgeom_get_srid(geom); + srid = gserialized_get_srid(geom); if (srid == SRID_UNKNOWN) srs = NULL; else if (option & 1) srs = getSRSbySRID(srid, false); else srs = getSRSbySRID(srid, true); diff --git a/postgis/lwgeom_functions_analytic.c b/postgis/lwgeom_functions_analytic.c index 3cb4e380f..74f6161bd 100644 --- a/postgis/lwgeom_functions_analytic.c +++ b/postgis/lwgeom_functions_analytic.c @@ -644,7 +644,7 @@ Datum ST_LineCrossingDirection(PG_FUNCTION_ARGS) GSERIALIZED *geom1 = (GSERIALIZED *)PG_DETOAST_DATUM(PG_GETARG_DATUM(0)); GSERIALIZED *geom2 = (GSERIALIZED *)PG_DETOAST_DATUM(PG_GETARG_DATUM(1)); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); type1 = pglwgeom_get_type(geom1); type2 = pglwgeom_get_type(geom2); @@ -887,7 +887,7 @@ Datum LWGEOM_line_locate_point(PG_FUNCTION_ARGS) elog(ERROR,"line_locate_point: 2st arg isnt a point"); PG_RETURN_NULL(); } - if ( pglwgeom_get_srid(geom1) != pglwgeom_get_srid(geom2) ) + if ( gserialized_get_srid(geom1) != gserialized_get_srid(geom2) ) { elog(ERROR, "Operation on two geometries with different SRIDs"); PG_RETURN_NULL(); diff --git a/postgis/lwgeom_functions_basic.c b/postgis/lwgeom_functions_basic.c index caa494a66..6dd80d8b7 100644 --- a/postgis/lwgeom_functions_basic.c +++ b/postgis/lwgeom_functions_basic.c @@ -1078,8 +1078,8 @@ Datum LWGEOM_collect(PG_FUNCTION_ARGS) PG_RETURN_NULL(); } - srid = pglwgeom_get_srid(pglwgeom1); - error_if_srid_mismatch(srid, pglwgeom_get_srid(pglwgeom2)); + srid = gserialized_get_srid(pglwgeom1); + error_if_srid_mismatch(srid, gserialized_get_srid(pglwgeom2)); lwgeoms[0] = lwgeom_from_gserialized(pglwgeom1); lwgeoms[1] = lwgeom_from_gserialized(pglwgeom2); @@ -1476,7 +1476,7 @@ Datum LWGEOM_makeline(PG_FUNCTION_ARGS) PG_RETURN_NULL(); } - error_if_srid_mismatch(pglwgeom_get_srid(pglwg1), pglwgeom_get_srid(pglwg2)); + error_if_srid_mismatch(gserialized_get_srid(pglwg1), gserialized_get_srid(pglwg2)); lwpoints[0] = lwgeom_as_lwpoint(lwgeom_from_gserialized(pglwg1)); lwpoints[1] = lwgeom_as_lwpoint(lwgeom_from_gserialized(pglwg2)); diff --git a/postgis/lwgeom_functions_lrs.c b/postgis/lwgeom_functions_lrs.c index 1db682506..ccdeb0336 100644 --- a/postgis/lwgeom_functions_lrs.c +++ b/postgis/lwgeom_functions_lrs.c @@ -509,7 +509,7 @@ Datum LWGEOM_locate_between_m(PG_FUNCTION_ARGS) if ( lwout == NULL ) { lwout = (LWGEOM *)lwcollection_construct_empty(COLLECTIONTYPE, - pglwgeom_get_srid(gin), hasz, hasm); + gserialized_get_srid(gin), hasz, hasm); } gout = pglwgeom_serialize(lwout); diff --git a/postgis/lwgeom_geos.c b/postgis/lwgeom_geos.c index e88076070..0823dc865 100644 --- a/postgis/lwgeom_geos.c +++ b/postgis/lwgeom_geos.c @@ -312,13 +312,13 @@ Datum pgis_union_geometry_array(PG_FUNCTION_ARGS) offset += INTALIGN(VARSIZE(pggeom)); if ( ! gotsrid ) /* Initialize SRID */ { - srid = pglwgeom_get_srid(pggeom); + srid = gserialized_get_srid(pggeom); gotsrid = 1; if ( pglwgeom_has_z(pggeom) ) is3d = 1; } else { - error_if_srid_mismatch(srid, pglwgeom_get_srid(pggeom)); + error_if_srid_mismatch(srid, gserialized_get_srid(pggeom)); } if ( pgtype != POLYGONTYPE && pgtype != MULTIPOLYGONTYPE ) @@ -485,12 +485,12 @@ Datum pgis_union_geometry_array(PG_FUNCTION_ARGS) lwerror("geometry could not be converted to GEOS: %s", lwgeom_geos_errmsg); PG_RETURN_NULL(); } - srid = pglwgeom_get_srid(geom); + srid = gserialized_get_srid(geom); POSTGIS_DEBUGF(3, "first geom is a %s", lwtype_name(pglwgeom_get_type(geom))); } else { - error_if_srid_mismatch(srid, pglwgeom_get_srid(geom)); + error_if_srid_mismatch(srid, gserialized_get_srid(geom)); g1 = POSTGIS2GEOS(pgis_geom); if ( 0 == g1 ) /* exception thrown at construction */ @@ -588,7 +588,7 @@ Datum ST_UnaryUnion(PG_FUNCTION_ARGS) is3d = ( pglwgeom_has_z(geom1) ); - srid = pglwgeom_get_srid(geom1); + srid = gserialized_get_srid(geom1); initGEOS(lwnotice, lwgeom_geos_error); @@ -719,7 +719,7 @@ Datum boundary(PG_FUNCTION_ARGS) if ( pglwgeom_is_empty(geom1) ) PG_RETURN_POINTER(geom1); - srid = pglwgeom_get_srid(geom1); + srid = gserialized_get_srid(geom1); initGEOS(lwnotice, lwgeom_geos_error); @@ -779,7 +779,7 @@ Datum convexhull(PG_FUNCTION_ARGS) if ( pglwgeom_is_empty(geom1) ) PG_RETURN_POINTER(geom1); - srid = pglwgeom_get_srid(geom1); + srid = gserialized_get_srid(geom1); initGEOS(lwnotice, lwgeom_geos_error); @@ -877,7 +877,7 @@ Datum topologypreservesimplify(PG_FUNCTION_ARGS) POSTGIS_DEBUGF(3, "result: %s", GEOSGeomToWKT(g3)); - GEOSSetSRID(g3, pglwgeom_get_srid(geom1)); + GEOSSetSRID(g3, gserialized_get_srid(geom1)); result = GEOS2POSTGIS(g3, pglwgeom_has_z(geom1)); @@ -1084,7 +1084,7 @@ Datum buffer(PG_FUNCTION_ARGS) POSTGIS_DEBUGF(3, "result: %s", GEOSGeomToWKT(g3)); - GEOSSetSRID(g3, pglwgeom_get_srid(geom1)); + GEOSSetSRID(g3, gserialized_get_srid(geom1)); result = GEOS2POSTGIS(g3, pglwgeom_has_z(geom1)); @@ -1257,7 +1257,7 @@ Datum offsetcurve(PG_FUNCTION_ARGS) POSTGIS_DEBUGF(3, "result: %s", GEOSGeomToWKT(g3)); - GEOSSetSRID(g3, pglwgeom_get_srid(geom1)); + GEOSSetSRID(g3, gserialized_get_srid(geom1)); result = GEOS2POSTGIS(g3, pglwgeom_has_z(geom1)); @@ -1385,7 +1385,7 @@ Datum pointonsurface(PG_FUNCTION_ARGS) POSTGIS_DEBUGF(3, "result: %s", GEOSGeomToWKT(g3) ) ; - GEOSSetSRID(g3, pglwgeom_get_srid(geom1)); + GEOSSetSRID(g3, gserialized_get_srid(geom1)); result = GEOS2POSTGIS(g3, pglwgeom_has_z(geom1)); @@ -1436,7 +1436,7 @@ Datum centroid(PG_FUNCTION_ARGS) PG_RETURN_NULL(); } - GEOSSetSRID(geosresult, pglwgeom_get_srid(geom)); + GEOSSetSRID(geosresult, gserialized_get_srid(geom)); result = GEOS2POSTGIS(geosresult, pglwgeom_has_z(geom)); @@ -1756,7 +1756,7 @@ Datum overlaps(PG_FUNCTION_ARGS) geom2 = (GSERIALIZED *)PG_DETOAST_DATUM(PG_GETARG_DATUM(1)); errorIfGeometryCollection(geom1,geom2); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); /* A.Overlaps(Empty) == FALSE */ if ( pglwgeom_is_empty(geom1) || pglwgeom_is_empty(geom2) ) @@ -1832,7 +1832,7 @@ Datum contains(PG_FUNCTION_ARGS) geom2 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1)); errorIfGeometryCollection(geom1,geom2); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); /* A.Contains(Empty) == FALSE */ if ( pglwgeom_is_empty(geom1) || pglwgeom_is_empty(geom2) ) @@ -1982,7 +1982,7 @@ Datum containsproperly(PG_FUNCTION_ARGS) geom2 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1)); errorIfGeometryCollection(geom1,geom2); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); /* A.ContainsProperly(Empty) == FALSE */ if ( pglwgeom_is_empty(geom1) || pglwgeom_is_empty(geom2) ) @@ -2081,7 +2081,7 @@ Datum covers(PG_FUNCTION_ARGS) PG_RETURN_BOOL(false); errorIfGeometryCollection(geom1,geom2); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); /* * short-circuit 1: if geom2 bounding box is not completely inside @@ -2232,7 +2232,7 @@ Datum within(PG_FUNCTION_ARGS) geom2 = (GSERIALIZED *)PG_DETOAST_DATUM(PG_GETARG_DATUM(1)); errorIfGeometryCollection(geom1,geom2); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); /* A.Within(Empty) == FALSE */ if ( pglwgeom_is_empty(geom1) || pglwgeom_is_empty(geom2) ) @@ -2367,7 +2367,7 @@ Datum coveredby(PG_FUNCTION_ARGS) geom2 = (GSERIALIZED *)PG_DETOAST_DATUM(PG_GETARG_DATUM(1)); errorIfGeometryCollection(geom1,geom2); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); /* A.CoveredBy(Empty) == FALSE */ if ( pglwgeom_is_empty(geom1) || pglwgeom_is_empty(geom2) ) @@ -2496,7 +2496,7 @@ Datum crosses(PG_FUNCTION_ARGS) geom2 = (GSERIALIZED *)PG_DETOAST_DATUM(PG_GETARG_DATUM(1)); errorIfGeometryCollection(geom1,geom2); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); /* A.Crosses(Empty) == FALSE */ if ( pglwgeom_is_empty(geom1) || pglwgeom_is_empty(geom2) ) @@ -2573,7 +2573,7 @@ Datum intersects(PG_FUNCTION_ARGS) geom2 = (GSERIALIZED *)PG_DETOAST_DATUM(PG_GETARG_DATUM(1)); errorIfGeometryCollection(geom1,geom2); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); /* A.Intersects(Empty) == FALSE */ if ( pglwgeom_is_empty(geom1) || pglwgeom_is_empty(geom2) ) @@ -2740,7 +2740,7 @@ Datum touches(PG_FUNCTION_ARGS) geom2 = (GSERIALIZED *)PG_DETOAST_DATUM(PG_GETARG_DATUM(1)); errorIfGeometryCollection(geom1,geom2); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); /* A.Touches(Empty) == FALSE */ if ( pglwgeom_is_empty(geom1) || pglwgeom_is_empty(geom2) ) @@ -2809,7 +2809,7 @@ Datum disjoint(PG_FUNCTION_ARGS) geom2 = (GSERIALIZED *)PG_DETOAST_DATUM(PG_GETARG_DATUM(1)); errorIfGeometryCollection(geom1,geom2); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); /* A.Disjoint(Empty) == TRUE */ if ( pglwgeom_is_empty(geom1) || pglwgeom_is_empty(geom2) ) @@ -2882,7 +2882,7 @@ Datum relate_pattern(PG_FUNCTION_ARGS) /* TODO handle empty */ errorIfGeometryCollection(geom1,geom2); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); initGEOS(lwnotice, lwgeom_geos_error); @@ -2964,7 +2964,7 @@ Datum relate_full(PG_FUNCTION_ARGS) } errorIfGeometryCollection(geom1,geom2); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); initGEOS(lwnotice, lwgeom_geos_error); @@ -3028,7 +3028,7 @@ Datum geomequals(PG_FUNCTION_ARGS) geom2 = (GSERIALIZED *)PG_DETOAST_DATUM(PG_GETARG_DATUM(1)); errorIfGeometryCollection(geom1,geom2); - error_if_srid_mismatch(pglwgeom_get_srid(geom1), pglwgeom_get_srid(geom2)); + error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2)); /* Different types can't be equal */ if( pglwgeom_get_type(geom1) != pglwgeom_get_type(geom2) ) @@ -3298,11 +3298,11 @@ Datum polygonize_garray(PG_FUNCTION_ARGS) vgeoms[i] = g; if ( ! i ) { - srid = pglwgeom_get_srid(geom); + srid = gserialized_get_srid(geom); } else { - if ( srid != pglwgeom_get_srid(geom) ) + if ( srid != gserialized_get_srid(geom) ) { elog(ERROR, "polygonize: operation on mixed SRID geometries"); PG_RETURN_NULL(); @@ -3367,7 +3367,7 @@ Datum linemerge(PG_FUNCTION_ARGS) POSTGIS_DEBUGF(3, "result: %s", GEOSGeomToWKT(g3) ) ; - GEOSSetSRID(g3, pglwgeom_get_srid(geom1)); + GEOSSetSRID(g3, gserialized_get_srid(geom1)); result = GEOS2POSTGIS(g3, pglwgeom_has_z(geom1)); diff --git a/postgis/lwgeom_gist.c b/postgis/lwgeom_gist.c index 298f79325..a5fd1a50f 100644 --- a/postgis/lwgeom_gist.c +++ b/postgis/lwgeom_gist.c @@ -99,7 +99,7 @@ Datum LWGEOM_overlap(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "GIST: LWGEOM_overlap --entry"); - if ( pglwgeom_get_srid(lwgeom1) != pglwgeom_get_srid(lwgeom2) ) + if ( gserialized_get_srid(lwgeom1) != gserialized_get_srid(lwgeom2) ) { PG_FREE_IF_COPY(lwgeom1, 0); PG_FREE_IF_COPY(lwgeom2, 1); @@ -142,7 +142,7 @@ Datum LWGEOM_overleft(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "GIST: LWGEOM_overleft --entry"); - if ( pglwgeom_get_srid(lwgeom1) != pglwgeom_get_srid(lwgeom2) ) + if ( gserialized_get_srid(lwgeom1) != gserialized_get_srid(lwgeom2) ) { PG_FREE_IF_COPY(lwgeom1, 0); PG_FREE_IF_COPY(lwgeom2, 1); @@ -178,7 +178,7 @@ Datum LWGEOM_left(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "GIST: LWGEOM_left --entry"); - error_if_srid_mismatch(pglwgeom_get_srid(lwgeom1), pglwgeom_get_srid(lwgeom2)); + error_if_srid_mismatch(gserialized_get_srid(lwgeom1), gserialized_get_srid(lwgeom2)); if ( ! (pglwgeom_getbox2d_p(lwgeom1, &box1) && pglwgeom_getbox2d_p(lwgeom2, &box2)) ) { @@ -208,7 +208,7 @@ Datum LWGEOM_right(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "GIST: LWGEOM_right --entry"); - error_if_srid_mismatch(pglwgeom_get_srid(lwgeom1), pglwgeom_get_srid(lwgeom2)); + error_if_srid_mismatch(gserialized_get_srid(lwgeom1), gserialized_get_srid(lwgeom2)); if ( ! (pglwgeom_getbox2d_p(lwgeom1, &box1) && pglwgeom_getbox2d_p(lwgeom2, &box2)) ) { @@ -238,7 +238,7 @@ Datum LWGEOM_overright(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "GIST: LWGEOM_overright --entry"); - error_if_srid_mismatch(pglwgeom_get_srid(lwgeom1), pglwgeom_get_srid(lwgeom2)); + error_if_srid_mismatch(gserialized_get_srid(lwgeom1), gserialized_get_srid(lwgeom2)); if ( ! (pglwgeom_getbox2d_p(lwgeom1, &box1) && pglwgeom_getbox2d_p(lwgeom2, &box2)) ) { @@ -268,7 +268,7 @@ Datum LWGEOM_overbelow(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "GIST: LWGEOM_overbelow --entry"); - error_if_srid_mismatch(pglwgeom_get_srid(lwgeom1), pglwgeom_get_srid(lwgeom2)); + error_if_srid_mismatch(gserialized_get_srid(lwgeom1), gserialized_get_srid(lwgeom2)); if ( ! (pglwgeom_getbox2d_p(lwgeom1, &box1) && pglwgeom_getbox2d_p(lwgeom2, &box2)) ) { @@ -298,7 +298,7 @@ Datum LWGEOM_below(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "GIST: LWGEOM_below --entry"); - error_if_srid_mismatch(pglwgeom_get_srid(lwgeom1), pglwgeom_get_srid(lwgeom2)); + error_if_srid_mismatch(gserialized_get_srid(lwgeom1), gserialized_get_srid(lwgeom2)); if ( ! (pglwgeom_getbox2d_p(lwgeom1, &box1) && pglwgeom_getbox2d_p(lwgeom2, &box2)) ) { @@ -328,7 +328,7 @@ Datum LWGEOM_above(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "GIST: LWGEOM_above --entry"); - error_if_srid_mismatch(pglwgeom_get_srid(lwgeom1), pglwgeom_get_srid(lwgeom2)); + error_if_srid_mismatch(gserialized_get_srid(lwgeom1), gserialized_get_srid(lwgeom2)); if ( ! (pglwgeom_getbox2d_p(lwgeom1, &box1) && pglwgeom_getbox2d_p(lwgeom2, &box2)) ) { @@ -358,7 +358,7 @@ Datum LWGEOM_overabove(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "GIST: LWGEOM_overabove --entry"); - error_if_srid_mismatch(pglwgeom_get_srid(lwgeom1), pglwgeom_get_srid(lwgeom2)); + error_if_srid_mismatch(gserialized_get_srid(lwgeom1), gserialized_get_srid(lwgeom2)); if ( ! (pglwgeom_getbox2d_p(lwgeom1, &box1) && pglwgeom_getbox2d_p(lwgeom2, &box2)) ) { @@ -387,7 +387,7 @@ Datum LWGEOM_samebox(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "GIST: LWGEOM_samebox --entry"); - error_if_srid_mismatch(pglwgeom_get_srid(lwgeom1), pglwgeom_get_srid(lwgeom2)); + error_if_srid_mismatch(gserialized_get_srid(lwgeom1), gserialized_get_srid(lwgeom2)); if ( ! (pglwgeom_getbox2d_p(lwgeom1, &box1) && pglwgeom_getbox2d_p(lwgeom2, &box2)) ) { @@ -416,7 +416,7 @@ Datum LWGEOM_contained(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "GIST: LWGEOM_contained --entry"); - error_if_srid_mismatch(pglwgeom_get_srid(lwgeom1), pglwgeom_get_srid(lwgeom2)); + error_if_srid_mismatch(gserialized_get_srid(lwgeom1), gserialized_get_srid(lwgeom2)); if ( ! (pglwgeom_getbox2d_p(lwgeom1, &box1) && pglwgeom_getbox2d_p(lwgeom2, &box2)) ) { @@ -446,7 +446,7 @@ Datum LWGEOM_contain(PG_FUNCTION_ARGS) POSTGIS_DEBUG(2, "GIST: LWGEOM_contain --entry"); - error_if_srid_mismatch(pglwgeom_get_srid(lwgeom1), pglwgeom_get_srid(lwgeom2)); + error_if_srid_mismatch(gserialized_get_srid(lwgeom1), gserialized_get_srid(lwgeom2)); if ( ! (pglwgeom_getbox2d_p(lwgeom1, &box1) && pglwgeom_getbox2d_p(lwgeom2, &box2)) ) { diff --git a/postgis/lwgeom_ogc.c b/postgis/lwgeom_ogc.c index 6136075e8..dbd7bf7d6 100644 --- a/postgis/lwgeom_ogc.c +++ b/postgis/lwgeom_ogc.c @@ -81,7 +81,7 @@ PG_FUNCTION_INFO_V1(LWGEOM_get_srid); Datum LWGEOM_get_srid(PG_FUNCTION_ARGS) { GSERIALIZED *geom=(GSERIALIZED *)PG_DETOAST_DATUM(PG_GETARG_DATUM(0)); - int srid = pglwgeom_get_srid (geom); + int srid = gserialized_get_srid (geom); PG_FREE_IF_COPY(geom,0); PG_RETURN_INT32(srid); } @@ -790,7 +790,7 @@ Datum LWGEOM_from_WKB(PG_FUNCTION_ARGS) geom = (GSERIALIZED *)DatumGetPointer(DirectFunctionCall1( LWGEOMFromWKB, PG_GETARG_DATUM(0))); - if ( pglwgeom_get_srid(geom) != SRID_UNKNOWN || pglwgeom_has_z(geom) != 0 ) + if ( gserialized_get_srid(geom) != SRID_UNKNOWN || pglwgeom_has_z(geom) != 0 ) { elog(WARNING, "OGC WKB expected, EWKB provided - use GeometryFromEWKB() for this"); } @@ -800,11 +800,8 @@ Datum LWGEOM_from_WKB(PG_FUNCTION_ARGS) if ( PG_NARGS() > 1 ) { srid = PG_GETARG_INT32(1); - if ( srid != pglwgeom_get_srid(geom) ) - { - result = pglwgeom_set_srid(geom, srid); - pfree(geom); - } + if ( srid != gserialized_get_srid(geom) ) + gserialized_set_srid(geom, srid); } if ( ! result ) result = geom; diff --git a/postgis/lwgeom_spheroid.c b/postgis/lwgeom_spheroid.c index 94e0788cd..c7ee799ac 100644 --- a/postgis/lwgeom_spheroid.c +++ b/postgis/lwgeom_spheroid.c @@ -501,7 +501,7 @@ Datum geometry_distance_spheroid(PG_FUNCTION_ARGS) } - if (pglwgeom_get_srid(geom1) != pglwgeom_get_srid(geom2)) + if (gserialized_get_srid(geom1) != gserialized_get_srid(geom2)) { elog(ERROR, "geometry_distance_spheroid: Operation on two GEOMETRIES with different SRIDs\n"); PG_RETURN_NULL(); diff --git a/postgis/lwgeom_transform.c b/postgis/lwgeom_transform.c index 5c3f4360b..12e603e3f 100644 --- a/postgis/lwgeom_transform.c +++ b/postgis/lwgeom_transform.c @@ -48,7 +48,7 @@ Datum transform(PG_FUNCTION_ARGS) } geom = (GSERIALIZED *)PG_DETOAST_DATUM_COPY(PG_GETARG_DATUM(0)); - if (pglwgeom_get_srid(geom) == SRID_UNKNOWN) + if (gserialized_get_srid(geom) == SRID_UNKNOWN) { PG_FREE_IF_COPY(geom, 0); elog(ERROR,"Input geometry has unknown (%d) SRID",SRID_UNKNOWN); @@ -62,7 +62,7 @@ Datum transform(PG_FUNCTION_ARGS) * If input SRID and output SRID are equal, return geometry * without transform it */ - if (pglwgeom_get_srid(geom) == result_srid) + if (gserialized_get_srid(geom) == result_srid) { pfree(geom); PG_RETURN_POINTER(PG_GETARG_DATUM(0)); @@ -73,17 +73,17 @@ Datum transform(PG_FUNCTION_ARGS) /* Add the output srid to the cache if it's not already there */ if (!IsInPROJ4Cache(proj_cache, result_srid)) - AddToPROJ4Cache(proj_cache, result_srid, pglwgeom_get_srid(geom)); + AddToPROJ4Cache(proj_cache, result_srid, gserialized_get_srid(geom)); /* Get the output projection */ output_pj = GetProjectionFromPROJ4Cache(proj_cache, result_srid); /* Add the input srid to the cache if it's not already there */ - if (!IsInPROJ4Cache(proj_cache, pglwgeom_get_srid(geom))) - AddToPROJ4Cache(proj_cache, pglwgeom_get_srid(geom), result_srid); + if (!IsInPROJ4Cache(proj_cache, gserialized_get_srid(geom))) + AddToPROJ4Cache(proj_cache, gserialized_get_srid(geom), result_srid); /* Get the input projection */ - input_pj = GetProjectionFromPROJ4Cache(proj_cache, pglwgeom_get_srid(geom)); + input_pj = GetProjectionFromPROJ4Cache(proj_cache, gserialized_get_srid(geom)); /* now we have a geometry, and input/output PJ structs. */ @@ -136,7 +136,7 @@ Datum transform_geom(PG_FUNCTION_ARGS) } geom = (GSERIALIZED *)PG_DETOAST_DATUM_COPY(PG_GETARG_DATUM(0)); - if (pglwgeom_get_srid(geom) == SRID_UNKNOWN) + if (gserialized_get_srid(geom) == SRID_UNKNOWN) { pfree(geom); elog(ERROR,"tranform: source SRID = %d",SRID_UNKNOWN);