Mercurial > dive4elements > river
view backend/contrib/shpimporter/fixpoints.py @ 9713:aef987124822 3.2.x
Do not rely on database default for setting hws_lines.official to 0
It's not under the control of the importer whether the field is rendered
into an INSERT statement, whether it's actually set or not. If it is
unset but rendered into the statement, the field would be set to NULL.
Thus, always set it explicitly.
While here, remove an unused import.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Fri, 12 Mar 2021 15:11:44 +0100 |
parents | 5aa05a7a34b7 |
children |
line wrap: on
line source
try: from osgeo import ogr, osr except ImportError: import ogr, osr from importer import Importer import logging logger = logging.getLogger("Fixpoints") fixpoints_no_km_logged=False TABLE_NAME="fixpoints" PATH="Geodaesie/Festpunkte" NAME="Fixpoints" class Fixpoint(Importer): def getPath(self, base): return "%s/%s" % (base, PATH) def getTablename(self): return TABLE_NAME def getName(self): return NAME def isGeometryValid(self, geomType): return geomType == 1 def isShapeRelevant(self, name, path): return True def createNewFeature(self, featureDef, feat, **args): newFeat = ogr.Feature(featureDef) geometry = feat.GetGeometryRef() geometry.SetCoordinateDimension(2) newFeat.SetGeometry(geometry) newFeat.SetField("name", args['name']) if self.IsFieldSet(feat, "river_id"): newFeat.SetField("river_id", feat.GetField("river_id")) else: newFeat.SetField("river_id", self.river_id) if self.IsFieldSet(feat, "KM"): newFeat.SetField("km", feat.GetFieldAsDouble("KM")) elif self.IsFieldSet(feat, "ELBE_KM"): newFeat.SetField("km", feat.GetFieldAsDouble("ELBE_KM")) else: global fixpoints_no_km_logged if not fixpoints_no_km_logged: logger.error("Could not find KM attribute") fixpoints_no_km_logged = True return None if self.IsFieldSet(feat, "X"): newFeat.SetField("x", feat.GetFieldAsDouble("X")) if self.IsFieldSet(feat, "Y"): newFeat.SetField("y", feat.GetFieldAsDouble("Y")) if self.IsFieldSet(feat, "HPGP"): newFeat.SetField("HPGP", feat.GetField("HPGP")) elif self.IsFieldSet(feat, "ART"): newFeat.SetField("HPGP", feat.GetField("ART")) return newFeat