aboutsummaryrefslogtreecommitdiffstats
path: root/import_source.py
diff options
context:
space:
mode:
Diffstat (limited to 'import_source.py')
-rw-r--r--import_source.py21
1 files changed, 10 insertions, 11 deletions
diff --git a/import_source.py b/import_source.py
index 6fe4acf..04dea4b 100644
--- a/import_source.py
+++ b/import_source.py
@@ -43,7 +43,13 @@ from osgeo.gdalconst import (
from osgeo import gdalconst
from common import BadConfiguration, escape_identifier, escape_literal_str
-from common_gdal import gdalSetOpenExArgs, gdalGetMetadataItem, gdalVersionMin, formatTZFlag
+from common_gdal import (
+ gdalSetOpenExArgs,
+ gdalGetMetadataItem,
+ gdalVersionMin,
+ formatTZFlag,
+ getSpatialFilterFromGeometry,
+)
def openOutputDS(def_dict : dict[str, Any]) -> gdal.Dataset:
"""Open and return the output DS. It is created if create=False or
@@ -692,16 +698,9 @@ def _importSource2(lyr_dst : ogr.Layer, path : str, args : dict[str,Any],
count1 = -1
if args.get('spatial-filter', True) and extent is not None:
- if extent.GetSpatialReference().IsSame(srs):
- extent2 = extent
- else:
- extent2 = extent.Clone()
- if extent2.TransformTo(srs) != ogr.OGRERR_NONE:
- raise RuntimeError(f'Could not transform extent {extent.ExportToWkt()} '
- f'to {srs.GetName()}')
-
- #logging.debug('Applying extent: %s', extent2.ExportToWkt())
- lyr.SetSpatialFilter(extent2)
+ spatialFilter = getSpatialFilterFromGeometry(extent, srs)
+ logging.debug('Setting spatial filter to %s', spatialFilter.ExportToWkt())
+ lyr.SetSpatialFilter(spatialFilter)
if lyr.TestCapability(ogr.OLCFastFeatureCount):
count1 = lyr.GetFeatureCount(force=0)