Aggiunta di attributi funzione personalizzata di file di forma ESRI con Python
Domanda
Sto cercando un modo per prendere un file di forma ESRI esistente che ha un set di funzioni di 200 paesi. Ogni Caratteristica paese ha un attributo di "NAME". Il mio obiettivo è quello di creare uno script Python che aggiunge un arbitrario (per ora) attributo aggiuntivo, per esempio, "popolazione".
Naturalmente ho i moduli OSGeo e GeoDjango installati. Sono fino a:
from osgeo import ogr
infile = ogr.Open('sample.shp', 1) #'sample.shp' is a pre-existing ESRI shapefile described above
inlyr = infile.GetLayerByIndex(0)
mi manca una funzione OGR che mi permetterà di inserire i campi di attributo Caratteristica in un esistente Shapefile?
Soluzione
Per aggiungere un campo è necessario creare un OGRFieldDefn e quindi chiamare inlyr.CreateField
fieldDefn = ogr.FieldDefn('POPULATION', ogr.OFTReal)
fieldDefn.SetWidth(14)
fieldDefn.SetPrecision(6)
inlyr.CreateField(fieldDefn)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow