Mais

Como construir QgsExpressions em python?


Como posso construir uma expressão de solicitação de recurso usando a variável dentro da expressão? Por exemplo

valores = [1, 2, 3] para j no intervalo (y): it = vl.getFeatures (QgsFeatureRequest (). setFilterExpression (u '"field_name" = valores [j]'))

ou (eu também tentei algo assim)

it = vl.getFeatures (QgsFeatureRequest (). setFilterExpression (u '"field_name" = valores [% d]'% j))

Onde alguém poderia estudar como construir esse tipo de expressão?


Como ponto de partida para estudar, eu usaria o Livro de Receitas QGIS. Para ler mais com exemplos adicionais, veja os livros que Joseph sugere em sua resposta.

Quanto ao seu problema específico, eu sugeriria uma substituição de string como

it = vl.getFeatures (QgsFeatureRequest (). setFilterExpression (u '"field_name" = {0}'. format (values ​​[j])))

Existem vários livros disponíveis que ajudam a ensinar Python para QGIS. Para nomear alguns:

"The Pyqgis Programmer's Guide" por Gary Sherman

"QGIS Python Programming Cookbook" por Joel Lawhead

"Learning Geospatial Analysis with Python" por Joel Lawhead

"Mastering QGIS" por Kurt Menke, Luigi Pirelli, Richard Smith Jr e John Van Hoesen

Espero que isto ajude!