Skip to content

Commit 07920b4

Browse files
committed
add Z, M, and ZM suffixes to wkb import
1 parent 4ddf4f1 commit 07920b4

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

karta/vector/shp.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,24 +113,30 @@ def ogr_read_geometry(geom):
113113
if geom is None:
114114
return None
115115
wkbtype = OGRGEOMTYPES[geom.GetGeometryType()]
116-
if wkbtype in ('Point', 'Point25D', 'NDR', 'XDR'):
116+
if wkbtype in ('Point', 'Point25D', 'PointZ', 'PointM', 'PointZM',
117+
'NDR', 'XDR'):
117118
jsontype = 'Point'
118119
pts = geom.GetPoint()
119-
elif wkbtype in ('LineString', 'LineString25D'):
120+
elif wkbtype in ('LineString', 'LineString25D', 'LineStringZ',
121+
'LineStringM', 'LineStringZM'):
120122
jsontype = 'LineString'
121123
pts = geom.GetPoints()
122-
elif wkbtype in ('Polygon', 'Polygon25D'):
124+
elif wkbtype in ('Polygon', 'Polygon25D', 'PolygonZ', 'PolygonM',
125+
'PolygonZM'):
123126
jsontype = 'Polygon'
124127
pts = ogr_get_polygon_points(geom)
125-
elif wkbtype in ('MultiPoint', 'MultiPoint25D'):
128+
elif wkbtype in ('MultiPoint', 'MultiPoint25D', 'MultiPointZ',
129+
'MultiPointM', 'MultiPointZM'):
126130
jsontype = 'MultiPoint'
127131
pts = [geom.GetGeometryRef(i).GetPoints()[0]
128132
for i in range(geom.GetGeometryCount())]
129-
elif wkbtype in ('MultiLineString', 'MultiLineString25D'):
133+
elif wkbtype in ('MultiLineString', 'MultiLineString25D', 'MultiLinStringZ',
134+
'MultiLineStringM', 'MultiLineStringZM'):
130135
jsontype = 'MultiLineString'
131136
pts = [geom.GetGeometryRef(i).GetPoints()
132137
for i in range(geom.GetGeometryCount())]
133-
elif wkbtype in ('MultiPolygon', 'MultiPolygon25D'):
138+
elif wkbtype in ('MultiPolygon', 'MultiPolygon25D', 'MultiPolygonZ',
139+
'MultiPolygonM', 'MultiPolygonZM'):
134140
jsontype = 'MultiPolygon'
135141
pts = [ogr_get_polygon_points(geom.GetGeometryRef(i))
136142
for i in range(geom.GetGeometryCount())]

0 commit comments

Comments
 (0)