Frage

Ich suche einen Weg, eine bestehende ESRI-Shape-Datei zu nehmen, die ein Feature-Set von 200 Ländern. Jedes Land Eigenschaft hat ein Attribut „NAME“. Mein Ziel ist es, ein Python-Skript zu erstellen, die eine beliebige (bis jetzt) ??zusätzliches Attribut fügt hinzu, sagen wir, „Population“.

Natürlich habe ich die OSGeo und GeoDjango installierten Module. Ich bin so weit wie:

from osgeo import ogr

infile = ogr.Open('sample.shp', 1) #'sample.shp' is a pre-existing ESRI shapefile described above
inlyr = infile.GetLayerByIndex(0)

Am I eine OGR-Funktion fehlt, gestatten Sie mir zu Feature-Attributfeldern in eine bestehende Shape-Datei?

einfügen
War es hilfreich?

Lösung

ein Feld hinzufügen Sie eine OGRFieldDefn erstellen müssen und dann rufen inlyr.CreateField

fieldDefn = ogr.FieldDefn('POPULATION', ogr.OFTReal) 
fieldDefn.SetWidth(14) 
fieldDefn.SetPrecision(6)
inlyr.CreateField(fieldDefn)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top