]> granicus.if.org Git - postgis/commitdiff
#3061, do not drop repeated points when reading JSON/GML/KML
authorPaul Ramsey <pramsey@cleverelephant.ca>
Mon, 16 Mar 2015 18:38:09 +0000 (18:38 +0000)
committerPaul Ramsey <pramsey@cleverelephant.ca>
Mon, 16 Mar 2015 18:38:09 +0000 (18:38 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@13340 b70326c6-7e19-0410-871a-916f4a2858ee

NEWS
liblwgeom/lwin_geojson.c
postgis/lwgeom_in_gml.c
postgis/lwgeom_in_kml.c

diff --git a/NEWS b/NEWS
index d45467e52210a76cfd1f585f4a349b0c6ab95e66..8cc291615abbfc264b7a293c88282547e736437a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -90,6 +90,8 @@ PostGIS 2.2.0
   - #2822, Use @ operator instead of ST_CoveredBy() for raster
            max extent constraint
   - #3020, ST_AddBand out-db bug where height using width value
+  - #3061, Allow duplicate points in JSON, GML, GML ST_GeomFrom* functions
+
 
  * Code refactoring *
 
index 8987cd591ad83e605d59dd6e1a12d831ba2411a9..60b728a34c53451e455da14aae818077f97e78bc 100644 (file)
@@ -122,7 +122,7 @@ parse_geojson_coord(json_object *poObj, int *hasz, POINTARRAY *pa)
 
        }
 
-       return ptarray_append_point(pa, &pt, LW_FALSE);
+       return ptarray_append_point(pa, &pt, LW_TRUE);
 }
 
 static LWGEOM*
index eee270dc1e1155c8f998c3883aa01c1cedd20057..4fd0ef618461ff2d54be7ac5c575cb83656da61c 100644 (file)
@@ -601,7 +601,7 @@ static POINTARRAY* parse_gml_coordinates(xmlNodePtr xnode, bool *hasz)
                                *hasz = false;
                        }
 
-                       ptarray_append_point(dpa, &pt, LW_FALSE);
+                       ptarray_append_point(dpa, &pt, LW_TRUE);
                        digit = false;
 
                        q = p+1;
index 3180c2d4d6dac00fb3d29a0b29d66b84ffa32ad3..d2cf12ceb7068852effdd711b47c43e093a0f0b3 100644 (file)
@@ -334,7 +334,7 @@ static POINTARRAY* parse_kml_coordinates(xmlNodePtr xnode, bool *hasz)
           else if ( seen_kml_dims != kml_dims ) {
             lwerror("invalid KML representation: mixed coordinates dimension");
           }
-          ptarray_append_point(dpa, &pt, LW_FALSE);
+          ptarray_append_point(dpa, &pt, LW_TRUE);
           kml_dims = 0;
         }
         p = q-1; /* will be incrementedon next iteration */