Esta puede ser una pregunta trivial, pero estoy confundido, ¿cuál es la diferencia entre geometría y $ geometry en QGIS? No encontré ningún ejemplo de uso de esta función.
Particularmente estoy interesado en la geometría, ¿en qué casos es útil?
Justo al lado de la lista de funciones de su captura de pantalla, debe estar la documentación de la función seleccionada actualmente. Para mí, con 2.18.12 esos leen:
$ geometry Devuelve la geometría de la entidad actual. Se puede utilizar para procesar con otras funciones.
geometry Devuelve la geometría de una entidad.
Esto es como la diferencia entre un método y una función en la programación orientada a objetos. $ geometry es la geometría de este / self . Puede pensarlo más como un atributo o propiedad tal vez.
Por otro lado, la geometría requiere / le permite pasarle una característica y le devolverá la geometría correspondiente. Como muestra la documentación, puede usar esto para obtener la geometría de una selección de características basada en atributos:
geometry(
get_feature(layer, attributeField, value)
)
Lo que puede hacer con él está limitado por su creatividad y las fuentes de las funciones que se le transmitirán. :)
$geometry
es más bien una variable (constante), independientemente de si es OO o no.$geometry
devuelve la geometría de la entidad actual como engeom_to_wkt($geometry)
geometry
devuelve la geometría de una característica específica como engeom_to_wkt(geometry(get_feature('my_layer', 'my_feature', feature_id)))
Usaría el segundo caso si quisiera, por ejemplo, procesar la característica actual contra una característica específica:
intersects($geometry,geometry(get_feature(layer,attributeField,value)))
fuente