Mercurial > dive4elements > river
view flys-backend/contrib/shpimporter/uesg.py @ 4421:0b0f415203f0
Add new Filter class to change caching
Add new Filter class to avoid caching of GWT nocache files in browsers and http
proxies. The new Filter class NoCacheFilter sets http headers to stop the
proxies and browesers from storing the nocache files.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Tue, 06 Nov 2012 13:32:06 +0100 |
parents | 59ca5dab2782 |
children | f1c01fecf194 |
line wrap: on
line source
import ogr from importer import Importer TABLE_NAME="floodmaps" PATH="Hydrologie/UeSG/Berechnung" NAME="UESG" class UESG(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): if geomType == 3 or geomType == 6: return True else: return False def getKind(self, path): kind = 0 if path.find("Berechnung") > 0: kind = kind + 100 if path.find("Aktuell") > 0: kind = kind + 10 else: kind = kind + 20 if path.find("Land") > 0: kind = kind + 2 else: kind = kind + 1 else: kind = kind + 200 return kind def createNewFeature(self, featureDef, feat, **args): kind = self.getKind(args['path']) newFeat = ogr.Feature(featureDef) newFeat.SetGeometry(feat.GetGeometryRef()) if self.IsFieldSet(feat, "river_id"): riverId = feat.GetField(feat) else: riverId = self.river_id if self.IsFieldSet(feat, "diff"): diff = feat.GetFieldAsDouble("diff") else: diff = 0 if self.IsFieldSet(feat, "count"): count = feat.GetFieldAsInteger("count") else: count = 0 if self.IsFieldSet(feat, "area"): area = feat.GetFieldAsDouble("area") else: area = 0 if self.IsFieldSet(feat, "perimeter"): perimeter = feat.GetFieldAsDouble("perimeter") else: perimeter = 0 groupId = 2 newFeat.SetField("river_id", riverId) newFeat.SetField("diff", diff) newFeat.SetField("count", count) newFeat.SetField("area", area) newFeat.SetField("perimeter", perimeter) newFeat.SetField("kind", kind) newFeat.SetField("name", args['name']) return newFeat