Mercurial > dive4elements > river
diff flys-backend/contrib/shpimporter/axis.py @ 3800:69d19995bc3c 2.9.1
merged flys-backend/2.9.1
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:14:48 +0200 |
parents | c37effda3655 |
children | 23a090b41543 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-backend/contrib/shpimporter/axis.py Fri Sep 28 12:14:48 2012 +0200 @@ -0,0 +1,52 @@ +import ogr + +from importer import Importer +import shpimporter + +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 == 2 + + + def isShapeRelevant(self, name, path): + return name == "achse" or name.find("achse") >= 0 + + + def createNewFeature(self, featureDef, feat, **args): + newFeat = ogr.Feature(featureDef) + newFeat.SetGeometry(feat.GetGeometryRef()) + newFeat.SetField("name", args['name']) + + if self.IsFieldSet(feat, "river_id"): + riverId = feat.GetField("river_id") + else: + riverId = self.river_id + + if self.IsFieldSet(feat, "kind"): + kind = feat.GetField("kind") + else: + kind = 0 + + newFeat.SetField("river_id", riverId) + newFeat.SetField("kind", kind) + + return newFeat +