Skip to content

Commit ce39d5b

Browse files
committed
Also handle urn crs in DataetFeaturesProvider.parse_crs
1 parent 5a507e9 commit ce39d5b

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/dataset_features_provider.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -470,17 +470,26 @@ def parse_crs(self, crs):
470470
471471
:param str crs: Coordinate reference system as 'EPSG:<srid>'
472472
"""
473+
srid = None
473474
if crs.startswith('EPSG:'):
474475
try:
475476
# extract SRID
476477
srid = int(crs.split(':')[1])
477-
return srid
478478
except ValueError:
479479
# conversion failed
480480
pass
481-
482-
# invalid CRS
483-
return None
481+
elif crs.startswith('urn:ogc:def:crs'):
482+
srid = crs.split(':')[-1]
483+
if srid == 'CRS84':
484+
# use EPSG:4326 for 'urn:ogc:def:crs:OGC:1.3:CRS84'
485+
srid = 4326
486+
else:
487+
try:
488+
srid = int(srid)
489+
except ValueError:
490+
# conversion failed
491+
pass
492+
return srid
484493

485494
def parse_filter(self, filterexpr):
486495
"""Parse and validate a filter expression and return a tuple

0 commit comments

Comments
 (0)