Mercurial > dive4elements > river
view flys-backend/contrib/shpimporter/axis.py @ 5200:42bb6ff78d1b 2.9.11
Directly set the connectionInitSqls on the datasource
Somehow the factory fails to set the connectionInitSqls if
we add it to the dbcpProperties. So we now set it directly
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Fri, 08 Mar 2013 11:48:33 +0100 |
parents | f52bb7178eda |
children |
line wrap: on
line source
try: from osgeo import ogr except ImportError: import ogr from importer import Importer import utils NAME="Axis" TABLE_NAME="river_axes" PATH="Geodaesie/Flussachse+km" class Axis(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 in [ogr.wkbLineString, ogr.wkbLineString25D, ogr.wkbMultiLineString25D, ogr.wkbMultiLineString] def isShapeRelevant(self, name, path): return "km.shp" not in path.lower() def createNewFeature(self, featureDef, feat, **args): newFeat = ogr.Feature(featureDef) geometry = feat.GetGeometryRef() geometry.SetCoordinateDimension(3) newFeat.SetGeometry(geometry) newFeat.SetField("name", args['name']) if self.IsFieldSet(feat, "river_id"): riverId = feat.GetField("river_id") else: riverId = self.river_id newFeat.SetField("river_id", riverId) if args.get("name", "").lower() == "achse": newFeat.SetField("kind_id", 1) # 1 is Current else: newFeat.SetField("kind_id", 2) # 2 Is Other return utils.convertToMultiLine(newFeat)