Mais

Calcular novo campo a partir de campos existentes usando a expressão em gdal / ogr e anexar ao arquivo de forma

Calcular novo campo a partir de campos existentes usando a expressão em gdal / ogr e anexar ao arquivo de forma


Estou tentando calcular um novo campo de campos existentes com base em uma expressão simples para um conjunto de polígonos em GDAL / OGR.

A expressão é basicamente:

novo campo = (campo 1 / campo 2) * campo 3

Depois de calcular, preciso anexar o novo campo ao conjunto existente de polígonos e somar todos os valores desse novo campo.

Isso é muito simples no ArcGIS ou usando ArcPy, mas não consigo encontrar uma solução para GDAL / OGR.


Aqui estão as linhas simples para você, por favor, verifique-os para campos / nomes de arquivos etc.

Adicione um novo campo:

ogrinfo input.shp -sql "ALTER TABLE input ADD COLUMN field3 integer (5)"

Faça as contas (você precisará que seu driver SQLite seja compilado com o dialeto SQLite SQL):

ogrinfo input.shp -dialect SQLite -sql "ATUALIZAR entrada SET campo3 = campo1 / campo2"

Não vejo onde você precisa se juntar neste caso, mas aqui está um exemplo para você:

ogr2ogr -sql "seleciona a entrada. *, tabela. * da entrada LEFT JOIN 'table.dbf'.table ON input.id = table.IDINT" output.shp input.shp

Não incluí resumindo, pois parece ser muito trivial.


Assista o vídeo: R2 Kleine Veerzaal. Giuseppe Amatulli: GDALOGR and PKTOOLS for massive rastervector operations