Esta pode ser uma pergunta trivial, mas estou confuso, qual é a diferença entre geometria e $ geometry no QGIS? Não encontrei nenhum exemplo de uso dessa função.
Particularmente, estou interessado em geometria; em quais casos é útil?
Ao lado da lista de funções da qual sua captura de tela é, deve estar a documentação da função atualmente selecionada. Para mim, com 2.18.12, aqueles que lêem:
$ geometry Retorna a geometria do recurso atual. Pode ser usado para processamento com outras funções.
geometry Retorna a geometria de um recurso.
É como a diferença entre método e função na programação orientada a objetos. $ geometry é a geometria deste / self . Você pode pensar nisso mais como um atributo ou propriedade, talvez.
por outro lado, a geometria requer / permite que você repasse um recurso para ele e ele retornará a geometria correspondente. Como mostra a documentação, você pode usar isso para obter a geometria de uma seleção de recurso baseada em atributo:
geometry(
get_feature(layer, attributeField, value)
)
O que mais você pode fazer com isso é limitado pela sua criatividade e pelas fontes de recursos que passam para ele. :)
$geometry
é uma variável (const), independentemente de ser OO ou não.$geometry
retorna a geometria do recurso atual como emgeom_to_wkt($geometry)
geometry
retorna a geometria de um recurso específico como emgeom_to_wkt(geometry(get_feature('my_layer', 'my_feature', feature_id)))
Você usaria o segundo caso se desejasse, por exemplo, processar o recurso atual em um recurso específico:
intersects($geometry,geometry(get_feature(layer,attributeField,value)))
fonte