Usando calculadora de campo avançada no console QGIS Python
Sep 09 2020
Estou tentando calcular a área usando a calculadora de campo no console Python do QGIS.
Aqui está a expressão que escrevi.
output8 = processing.runandload('qgis:advancedpythonfieldcalculator', "E:\GIS-Temp\Result\shapefile_2017\Clip1modified_2017.shp", "Area", 1, 5, 5, ' ', $geom.area(), "E:\GIS-Temp\Result\shapefile_2017\Clip2modified_2017.shp")
O erro vem como um erro de sintaxe.
Respostas
3 BERA Sep 09 2020 at 18:55
Se você estiver usando qgis3, você deve usar processing.runAndLoadResults()
something = processing.runAndLoadResults("qgis:advancedpythonfieldcalculator",
parameters={'INPUT':'C:/GIS/data/testdata/ak_riks.shp','FIELD_NAME':'areafield',
'FIELD_TYPE':1,'FIELD_LENGTH':10,'FIELD_PRECISION':3,'GLOBAL':'',
'FORMULA':'value = $geom.area()','OUTPUT':'C:/GIS/data/testdata/ak_riks_witharea2.shp'})
Observe as barras nos caminhos ou use a sintaxe bruta, por exemplo: r'C:\GIS\data\testdata\ak_riks.shp'
Uma dica é executar a ferramenta manualmente e verificar a sintaxe no histórico:
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?