diff flys-backend/contrib/shpimporter/lines.py @ 2861:b0132e1b9719

Added further shape importers and added the option to reproject shapes during the import process. flys-backend/trunk@4342 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 03 May 2012 14:19:52 +0000
parents bd9e76e0b55d
children 59ca5dab2782
line wrap: on
line diff
--- a/flys-backend/contrib/shpimporter/lines.py	Wed May 02 08:49:57 2012 +0000
+++ b/flys-backend/contrib/shpimporter/lines.py	Thu May 03 14:19:52 2012 +0000
@@ -17,7 +17,7 @@
 
 
     def isGeometryValid(self, geomType):
-        return geomType == 2
+        return geomType == 2 or geomType == -2147483646
 
 
     def isShapeRelevant(self, name, path):
@@ -25,8 +25,12 @@
 
 
     def createNewFeature(self, featureDef, feat, **args):
-        newFeat = ogr.Feature(featureDef)
-        newFeat.SetGeometry(feat.GetGeometryRef())
+        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"))
@@ -36,12 +40,12 @@
         if self.IsFieldSet(feat, "TYP"):
             newFeat.SetField("kind", feat.GetFieldAsDouble("TYP"))
         else:
-            return None
+            newFeat.SetField("kind", "DAMM")
 
         if self.IsFieldSet(feat, "Z"):
             newFeat.SetField("z", feat.GetFieldAsDouble("Z"))
         else:
-            newFeat.SetField("z", 0)
+            newFeat.SetField("z", 9999)
 
         return newFeat
 

http://dive4elements.wald.intevation.org