Adicionando atributos de recurso personalizado ao shapfile de ESRI com Python
Pergunta
Estou buscando uma maneira de pegar um arquivo de forma de ESRI existente que possui um conjunto de recursos de 200 países. Cada recurso do país tem um atributo de "nome". Meu objetivo é criar um script python que adiciona um atributo adicional arbitrário (por enquanto), digamos, "população".
Claro que tenho os módulos OSGEO e Geodjango instalados. Estou tão longe quanto:
from osgeo import ogr
infile = ogr.Open('sample.shp', 1) #'sample.shp' is a pre-existing ESRI shapefile described above
inlyr = infile.GetLayerByIndex(0)
Estou perdendo uma função OGR que me permitirá inserir campos de atributo de recurso em um shapefile existente?
Solução
Para adicionar um campo, você precisa criar um OgFieldDefn e depois ligar para Inlyr.createfield
fieldDefn = ogr.FieldDefn('POPULATION', ogr.OFTReal)
fieldDefn.SetWidth(14)
fieldDefn.SetPrecision(6)
inlyr.CreateField(fieldDefn)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow