diff options
-rw-r--r-- | import_source.py | 22 | ||||
-rwxr-xr-x | webmap-import | 9 |
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, |