Suite

Est-il possible de créer un style basé sur des règles avec $geometry coupant un deuxième calque ?

Est-il possible de créer un style basé sur des règles avec $geometry coupant un deuxième calque ?


J'essaie de créer un style basé sur des règles basé sur des géométries d'une autre couche.

J'ai trouvé un exemple qui fait exactement ce que je veux, sauf qu'il utilise une géométrie de WKT :

intersecte( $geometry, geomFromWKT( 'POLYGONE' ) )

(d'ici)

Ce que je veux faire est exactement la même chose, mais avec la deuxième géométrie basée sur un calque différent plutôt que WKT. À titre d'exemple, je souhaite thématiser les routes en noir si elles croisent une couche de polygones et en gris si elles ne le font pas. Est-ce possible?


Malheureusement, il n'est actuellement pas possible de créer des requêtes inter-couches à l'aide d'un calculateur de champs ou d'expressions.

Voir aussi Comment utiliser la fonction Intersections dans le calculateur de champs de QGIS ?


Dans QGIS 2.18, il existe un plugin disponible appelé refFunctions et lors de l'utilisation du générateur de requêtes, ils apparaissent dans le Référence portion.

Donc cela devrait fonctionner en règle générale:geominintersects('polygon_layer','ogc_fid')

Et éventuellement en collaboration avec legeomdisjoint()une fonction:

La colonne de champ dans l'exemple ci-dessus utilise simplement leogc_fidcolonne clé/id primaire mais peut être n'importe quelle colonne… Dit qu'il accepte également le$géométrievariable mais je n'ai pas encore réussi à le faire fonctionner !