view flys-backend/contrib/shpimporter/catchments.py @ 4284:7a94d5e7fc3d

Write the "hidden" attribute of a style into the collection's attribute when using the theme editor. Otherwise, the next time using the theme editor, the hidden attributes that should not be changed by the user are visible.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 29 Oct 2012 07:18:42 +0100
parents 59ca5dab2782
children f1c01fecf194
line wrap: on
line source
import ogr

from importer import Importer

TABLE_NAME="catchment"
PATH="Hydrologie/Einzugsgebiet"
NAME="Catchments"


class Catchment(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 == 3 or geomType == 6


    def isShapeRelevant(self, name, path):
        return True


    def createNewFeature(self, featureDef, feat, **args):
        newFeat  = ogr.Feature(featureDef)
        geometry = feat.GetGeometryRef()
        geometry.SetCoordinateDimension(2)

        newFeat.SetGeometry(geometry)

        if self.IsFieldSet(feat, "river_id"):
            newFeat.SetField("river_id", feat.GetField("river_id"))
        else:
            newFeat.SetField("river_id", self.river_id)

        if self.IsFieldSet(feat, "Name"):
            newFeat.SetField("name", feat.GetField("name"))
        else:
            newFeat.SetField("name", args['name'])

        if self.IsFieldSet(feat, "AREA"):
            newFeat.SetField("area", feat.GetField("area"))

        return newFeat

http://dive4elements.wald.intevation.org