aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--import_source.py22
-rwxr-xr-xwebmap-import9
2 files changed, 17 insertions, 14 deletions
diff --git a/import_source.py b/import_source.py
index f40cd38..52dba60 100644
--- a/import_source.py
+++ b/import_source.py
@@ -263,13 +263,25 @@ def validateOutputLayer(lyr : ogr.Layer,
if n != 1:
logging.warning('Output layer "%s" has %d != 1 geometry fields', lyr.GetName(), n)
- geom_type1 = lyr.GetGeomType()
- geom_type2 = options['geometry-type']
- if geom_type1 != geom_type2:
+ iGeomField = 0
+ geomField = layerDefn.GetGeomFieldDefn(iGeomField)
+ geomType = geomField.GetType()
+ logging.debug('Geometry column #%d: name="%s\", type="%s", srs=%s, nullable=%s',
+ iGeomField, geomField.GetName(),
+ ogr.GeometryTypeToName(geomType),
+ '-' if geomField.GetSpatialRef() is None
+ else '"' + geomField.GetSpatialRef().GetName() + '"',
+ bool(geomField.IsNullable()))
+ if geomField.IsNullable():
+ logging.warning('Geometry column #%d "%s" of output layer "%s" is nullable',
+ iGeomField, geomField.GetName(), lyr.GetName())
+
+ geomType2 = options['geometry-type']
+ if geomType != geomType2:
logging.warning('Output layer "%s" has geometry type #%d (%s), expected #%d (%s)',
lyr.GetName(),
- geom_type1, ogr.GeometryTypeToName(geom_type1),
- geom_type2, ogr.GeometryTypeToName(geom_type2))
+ geomType, ogr.GeometryTypeToName(geomType),
+ geomType2, ogr.GeometryTypeToName(geomType2))
ok = False
fields = options.get('fields', None)
diff --git a/webmap-import b/webmap-import
index a68d60e..b4552d5 100755
--- a/webmap-import
+++ b/webmap-import
@@ -256,15 +256,6 @@ def processOutputLayer(ds : gdal.Dataset,
raise RuntimeError(f'Output layer "{layername}" has no working '
'CreateFeature() method')
- geom_field_idx = 0
- geom_field = lyr.GetLayerDefn().GetGeomFieldDefn(geom_field_idx)
- logging.debug('Geometry column #%d: name="%s\", type="%s", srs=%s, nullable=%s',
- geom_field_idx, geom_field.GetName(),
- ogr.GeometryTypeToName(geom_field.GetType()),
- '-' if geom_field.GetSpatialRef() is None
- else '"' + geom_field.GetSpatialRef().GetName() + '"',
- bool(geom_field.IsNullable()))
-
sources = layerdef['sources']
if not (lyrcache is None or force or
areSourceFilesNewer(layername, sources=sources,