Opened 16 years ago
Last modified 16 years ago
#9566 closed
GeoJSON regexes doesn't accept leading and trailing whitespace or GeometryCollections — at Version 2
Reported by: | jbronn | Owned by: | jbronn |
---|---|---|---|
Component: | GIS | Version: | 1.0 |
Severity: | Keywords: | gis geojson gdal | |
Cc: | Triage Stage: | Accepted | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | yes | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
from django.contrib.gis import gdal json1 = '{ "type": "MultiPolygon", "coordinates": [ [ [ [ 102.000000, 2.000000 ], [ 103.000000, 2.000000 ], [ 103.000000, 3.000000 ], [ 102.000000, 3.000000 ], [ 102.000000, 2.000000 ] ] ], [ [ [ 100.000000, 0.000000 ], [ 101.000000, 0.000000 ], [ 101.000000, 1.000000 ], [ 100.000000, 1.000000 ], [ 100.000000, 0.000000 ] ], [ [ 100.200000, 0.200000 ], [ 100.800000, 0.200000 ], [ 100.800000, 0.800000 ], [ 100.200000, 0.800000 ], [ 100.200000, 0.200000 ] ] ] ] }' json2 = """ { "type": "MultiPolygon", "coordinates": [ [[[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]]], [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]], [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]]] ] } """ g1 = gdal.OGRGeometry(json1) g2 = gdal.OGRGeometry(json2)
Trying to execute this raises this:
Traceback (most recent call last): File "geojson_regex.py", line 18, in <module> g2 = gdal.OGRGeometry(json2) File "/Users/jbronn/django/1.0.X/django/contrib/gis/gdal/geometries.py", line 106, in __init__ ogr_t = OGRGeomType(geom_input) File "/Users/jbronn/django/1.0.X/django/contrib/gis/gdal/geomtype.py", line 29, in __init__ raise OGRException('Invalid OGR String Type "%s"' % type_input) django.contrib.gis.gdal.error.OGRException: Invalid OGR String Type " { "type": "MultiPolygon", "coordinates": [ [[[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]]], [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]], [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]]] ] } "
Oh, and did I mention because the {
and }
characters aren't accepted, it can't parse the GeoJSON of geometry collections.
Attached is patch that improves the GeoJSON regex situation in the GDAL and GEOS libraries.
Change History (2)
comment:1 by , 16 years ago
Component: | Uncategorized → GIS |
---|---|
Keywords: | gis geojson gdal added |
milestone: | → post-1.0 |
Owner: | changed from | to
Triage Stage: | Unreviewed → Accepted |
comment:2 by , 16 years ago
Description: | modified (diff) |
---|---|
Summary: | GeoJSON regexes doesn't accept leading and trailing whitespace → GeoJSON regexes doesn't accept leading and trailing whitespace or GeometryCollections |
Note:
See TracTickets
for help on using tickets.