Hinzufügen von benutzerdefinierter Eigenschaft Attributen zu ESRI-Shape-Datei mit Python
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ügenLö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