]> granicus.if.org Git - postgis/commitdiff
Move some more primitive pointarray accesses back to liblwgeom where they belong
authorPaul Ramsey <pramsey@cleverelephant.ca>
Thu, 5 Mar 2015 17:59:58 +0000 (17:59 +0000)
committerPaul Ramsey <pramsey@cleverelephant.ca>
Thu, 5 Mar 2015 17:59:58 +0000 (17:59 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@13309 b70326c6-7e19-0410-871a-916f4a2858ee

postgis/lwgeom_in_gml.c

index 3b9e5530c5d7ba1ff068eb4e6e7e08bfda88d885..eee270dc1e1155c8f998c3883aa01c1cedd20057 100644 (file)
@@ -282,8 +282,6 @@ static xmlNodePtr get_xlink_node(xmlNodePtr xnode)
  */
 static POINTARRAY* gml_reproject_pa(POINTARRAY *pa, int srid_in, int srid_out)
 {
-       int i;
-       POINT4D p;
        projPJ in_pj, out_pj;
        char *text_in, *text_out;
 
@@ -299,11 +297,9 @@ static POINTARRAY* gml_reproject_pa(POINTARRAY *pa, int srid_in, int srid_out)
        lwfree(text_in);
        lwfree(text_out);
 
-       for (i=0 ; i < pa->npoints ; i++)
+       if ( ptarray_transform(pa, in_pj, out_pj) == LW_FAILURE )
        {
-               getPoint4d_p(pa, i, &p);
-               point4d_transform(&p, in_pj, out_pj);
-               ptarray_set_point4d(pa, i, &p);
+               elog(ERROR, "gml_reproject_pa: reprojection failed");
        }
 
        pj_free(in_pj);
@@ -1056,9 +1052,9 @@ static LWGEOM* parse_gml_curve(xmlNodePtr xnode, bool *hasz, int *root_srid)
                {
                        if (i + 1 == lss) last = 1;
                        /* Check if segments are not disjoints */
-                       if (i > 0 && memcmp(    getPoint_internal(pa, npoints),
+                       if (i > 0 && memcmp( getPoint_internal(pa, npoints),
                                             getPoint_internal(ppa[i], 0),
-                                            *hasz?sizeof(POINT3D):sizeof(POINT2D)))
+                                            *hasz ? sizeof(POINT3D) : sizeof(POINT2D)))
                                gml_lwerror("invalid GML representation", 41);
 
                        /* Aggregate stuff */