Mercurial > dive4elements > river
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 |