comparison flys-backend/contrib/shpimporter/fixpoints.py @ 5379:61bf64b102bc mapgenfix

Merge with default branch
author Christian Lins <christian.lins@intevation.de>
date Fri, 22 Mar 2013 11:25:54 +0100
parents a5291a126e24
children c0ff14d03f1f
comparison
equal deleted inserted replaced
5175:cfc5540a4eec 5379:61bf64b102bc
1 import ogr, osr 1 try:
2 from osgeo import ogr, osr
3 except ImportError:
4 import ogr, osr
2 5
3 from importer import Importer 6 from importer import Importer
7 import logging
8 logger = logging.getLogger("Fixpoints")
9 fixpoints_no_km_logged=False
4 10
5 TABLE_NAME="fixpoints" 11 TABLE_NAME="fixpoints"
6 PATH="Geodaesie/Festpunkte" 12 PATH="Geodaesie/Festpunkte"
7 NAME="Fixpoints" 13 NAME="Fixpoints"
8 14
29 return True 35 return True
30 36
31 37
32 def createNewFeature(self, featureDef, feat, **args): 38 def createNewFeature(self, featureDef, feat, **args):
33 newFeat = ogr.Feature(featureDef) 39 newFeat = ogr.Feature(featureDef)
40
34 geometry = feat.GetGeometryRef() 41 geometry = feat.GetGeometryRef()
42 geometry.SetCoordinateDimension(2)
43 newFeat.SetGeometry(geometry)
35 44
36 newFeat.SetGeometry(geometry)
37 newFeat.SetField("name", args['name']) 45 newFeat.SetField("name", args['name'])
38 46
39 if self.IsFieldSet(feat, "river_id"): 47 if self.IsFieldSet(feat, "river_id"):
40 newFeat.SetField("river_id", feat.GetField("river_id")) 48 newFeat.SetField("river_id", feat.GetField("river_id"))
41 else: 49 else:
44 if self.IsFieldSet(feat, "KM"): 52 if self.IsFieldSet(feat, "KM"):
45 newFeat.SetField("km", feat.GetFieldAsDouble("KM")) 53 newFeat.SetField("km", feat.GetFieldAsDouble("KM"))
46 elif self.IsFieldSet(feat, "ELBE_KM"): 54 elif self.IsFieldSet(feat, "ELBE_KM"):
47 newFeat.SetField("km", feat.GetFieldAsDouble("ELBE_KM")) 55 newFeat.SetField("km", feat.GetFieldAsDouble("ELBE_KM"))
48 else: 56 else:
57 global fixpoints_no_km_logged
58 if not fixpoints_no_km_logged:
59 logger.error("Could not find KM attribute")
60 fixpoints_no_km_logged = True
49 return None 61 return None
50 62
51 if self.IsFieldSet(feat, "X"): 63 if self.IsFieldSet(feat, "X"):
52 newFeat.SetField("x", feat.GetFieldAsDouble("X")) 64 newFeat.SetField("x", feat.GetFieldAsDouble("X"))
53 65

http://dive4elements.wald.intevation.org