Opened 17 years ago
Last modified 17 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 , 17 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 , 17 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.