Evolution #45 » 01a_CdC Extension opérateurs spatiaux dans les algorithmes de Processing .odt
Extension opérateurs spatiaux dans les algorithmes de Processing
d’après : # 1425 : Améliorer et restructurer les outils Ftools.
Ce cahier des charges reprend le point particulier de la demande
d’extension des opérateurs spatiaux pour les outils de sélection des
algorithmes du module de traitement de QGIS (processing).
Charge : 6 jours (QGI_REA moyen)
Remarques générales :
Les algorithmes seront associés à des tests unitaires : en particulier
pour la vérification du résultat attendu, toutefois, on ne teste pas la
qualité des fonctions de GEOS, mais on se limite à tester les
développements effectués.
Les algorithmes utiliseront au mieux les possibilités d’optimisation des
performances.
Sélection par localisation (select by location) :
Dans processing de QGIS V2.6 :

La fonction actuelle offre donc la possibilité de cumuler les opérateurs
touche, overlap/cross (croos si une géométrie est une ligne sinon
overlap) et completely within avec l’opérateur intersect.
Il s’agit de proposer l’ensemble des opérateurs (intérieur, chevauche,
contient, croise, disjoint, est égal, intersect, touche) à l’instar du
plugin de requête spatiale (un fonctionnement relativement équivalent à
la première boite de dialogue de ce plugin est recherché)., Toutefois un
mode de sélection cumulatif (case à cocher) pourra être éventuellement
conservé, mais il devrait inclure le mode intersection également comme
une option.
Les opérateurs proposés sont dépendants des types de géométrie de la
couche de sélection et de la couche additionnelle. En mode interactif il
conviendra de ne proposer que les opérateurs cohérents avec les types de
géométrie (par exemple en grisant les options non valides).
Pour disjoint, il faut outrepasser l’utilisation de l’index.
En utilisation dans le modeleur graphique il n’est pas possible de
déterminer a priori le type de géométrie des deux couches. La
vérification sera fera à l’exécution et proposera le cas échéant un
message d’erreur explicite.
La sortie par défaut reste une sélection de la table initiale (couche
1), donc avec uniquement les attributs de la table initiale.
Joindre les attributs par localisation :
(vector general tools > join by location)

Conserve de l’intérêt car, la sortie contient potentiellement les
attributs des deux tables (option1) ou permet de faire des agrégations
sur les champs numériques de la deuxième table (option ‘prendre un
résumé des entités intersectées).
Il s’agit là aussi de proposer les différents opérateurs (autre que
intersect) de façon cohérente avec la géométrie des couches en entrée en
mode interactif.
Vector selection tools > Extract by location
Le fonctionnement est identique à select by location, sauf que la
‘sortie’ est une nouvelle couche.