diff options
-rw-r--r-- | import_source.py | 3 | ||||
-rwxr-xr-x | webmap-import | 8 |
2 files changed, 5 insertions, 6 deletions
diff --git a/import_source.py b/import_source.py index 795bf0f..1948f7b 100644 --- a/import_source.py +++ b/import_source.py @@ -1052,8 +1052,7 @@ def updateLayerCache(lyr : ogr.Layer, cache : ogr.Layer, logging.info('Updated layer "%s" has identical fingerprint %s', layername, fingerprint.hex()[:8]) - # TODO with gdal 3.7 and OLCUpdateFeature capability, use UpdateFeature() instead - if cache.SetFeature(feature) != ogr.OGRERR_NONE: + if cache.UpdateFeature(feature, [1,2], [], False) != ogr.OGRERR_NONE: raise RuntimeError('Could not update feature in layer cache') else: if cache.CreateFeature(feature) != ogr.OGRERR_NONE: diff --git a/webmap-import b/webmap-import index 95c3b41..b4552d5 100755 --- a/webmap-import +++ b/webmap-import @@ -374,10 +374,10 @@ def validateCacheLayer(ds : gdal.Dataset, name : str) -> bool: logging.warning('Table "%s" does not exist', name) return False - #if not (lyr.TestCapability(ogr.OLCRandomWrite) and lyr.TestCapability(ogr.OLCUpdateFeature)): - # logging.warning('Layer "%s" does not support OLCUpdateFeature capability, ' - # 'ignoring cache', name) - # return False + if not (lyr.TestCapability(ogr.OLCRandomWrite) and lyr.TestCapability(ogr.OLCUpdateFeature)): + logging.warning('Layer "%s" does not support OLCUpdateFeature capability, ' + 'ignoring cache', name) + return False defn = lyr.GetLayerDefn() fields = [ |