Modélisation boite à outil QGIS et urbanisme
Donc petit tuto qui me servira de pense-bête pour plus tard. Il s'agit de comparer les zones entre un ancien PLU (plan local d'urbanisme) et un nouveau. Comme je fais cela régulièrement, je me suis créé un modèle dans la boîte à outil de QGIS. Puisses-t-il vous donner des idées ou vous faire découvrir l'utilité du modeleur graphique.
Présentation des acteurs
Je ne présente pas QGIS (version 2.18.2 pour moi) , mais sa boîte à outil que vous trouverez dans le menu Traitement
boite à outil QGIS
Ensuite, il vous faut les fichiers adéquats : un ancien PLU, un nouveau PLU, sous format compatible SIG (.shp, .tab...), je me contente de charger juste ces 2 couches dans un projet vierge pour l'exemple, mais généralement, je les accompagne de l'ensemble de couches "cadastre" et autres zones. Donc pensez à bien nommer vos couches pour les retrouver facilement. Partons de là
Modeleur graphique
Son apparence
Pas le temps de rêvasser, on ouvre le modeleur graphique (cf. la première image), et on a
Modeleur graphique (appelé aussi modeleur de traitement)
- le nom de notre modèle
- le dossier dans lequel il sera rangé
- la fenêtre ou l'on "pose" les traitements
- les entrées, c'est les fichiers ou couches ou résultats de traitements dont on va se servir,
- les algorithmes, c'est à dire la plupart des traitements geo ou topo que QGIS sait faire.
Faisons un modèle
En fait, il s'agit essentiellement de glisser les entrées et les algo qui nous intéressent pour monter un traitement qui sera réutilisable, si j'étais taquin, je dirais qu'il s'agit de faire visuellement des macros.
1ère etape - les entrées
prendre Vector layer et faire glisser sur la fenêtre du modeleur. Une fenêtre s'ouvre pour donner un nom, je vous conseille de choisir polygone et requis oui, cela évitera les erreurs d'étourderies( genre je prends un fichier point ou j'oublie le fichier)
glisser vector table vers modeleur
Le faire une nouvelle fois pour avoir ancien_urba (anc_urba) et nouvel_urba (new_urba dans mes gifs).
2éme etape - les traitements
Ce qui m’intéresse, c'est de voir les zones urbanisables en plus ou en moins, donc toutes les zones indiquées U, 1AU, 2AU... Je vais donc extraire les zones où le libellé contient U quelque part.
Aller dans "algorithmes" (petit 5 de l'image plus haute), puis dans "Géotraitements QGIS" - "outils de sélection de vecteur" (vector selection tools), choisir "sélection par attribut" (select by attributs), et hop gif qui tue.
sélection par attribut dans les outils de sélection
extraction par attribut
Dans la fenêtre qui s'ouvre
- choisir un nom évocateur pour retrouver votre sortie
- choisir la couche à traiter (ici new_urba)
- l'attribut qui doit être traité "LIBELLE" attention le nom doit être rigoureusement le même que dans la couche
- choisir "contient" (qui déclenche un LIKE, voir http://pasq.fr/constructeur-expression/ pour ceux que cela intéresse)
- valeur U
- nom de la nouvelle couche créée, ce n'est pas une obligation, mais si jamais vous voulez la sortir, c'est plus beau comme ça.
et ok Faire la même chose avec ancien_urba. résultat
Modeleur de traitement avec extract U
3ème étape - les différences
Maintenant, on va réellement faire ce qui est demandé, faire la différence entre les anciennes zones U et les nouvelles zones U. Il faut donc choisir de faire une différence entre ces 2 extractions de zones. Pour voir les zones ajouter entre l'ancien PLU et le nouvel, il faut :
- a) soustraire l'ancienne couche à la nouvelle ?
- b) soustraire le nouveau PLU à l'ancien ?
- c) je ne sais pas, je vais faire les 2 de toutes façons.
Petit c) pour moi. Mais pour avoir les zones ajoutées au nouveau PLU, il faut soustraire l'ancienne couche à la nouvelle... je vous laisse réfléchir...
glissage de différence
Nous allons "sortir" 2 couches : zone_U_en_plus, et Zone_U_en_moins, en faisant 2 différences
différence entre les couches
donc finalement, notre modeleur graphique doit ressembler à ceci
modeleur comparatif de zones
4éme étape - Sauvegarde
D'ailleurs, j'espère que vous y avez pensé avant. Sauvegarder votre création, dans le répertoire par défaut de QGIS, sinon il faudra la recharger à chaque fois.
5éme étape - utilisation
Rien de plus simple, allez dans le menu "Traitement" - "boîte à outils" (ou ctrl+alt+T), dans "Modèles"-"perso"[note] ou le nom que vous lui avez donné[/note] et double-clic sur votre modèle, avec un dernier gif pour la route.
Vous remarquerez que j'ai judicieusement appelé mes couches 'ancienne' et 'nouvelle', comme ça, je ne pose plus de question. De plus, je ne sors pas les couches intermédiaires pour éviter de surcharger le projet.
résultat final - cliquer sur l'image pour voir en taille réelle.
Nous avons donc :
- les zones urbanisées retirées du PLU et les nouvelles zones Urbanisables ajoutées. avec un peu de nettoyage (pour virer les lignes sans surface, les petites surfaces pas significatives...). On peut avoir les aires des zones en moins par rapport aux zones nouvellement ouvertes.
- Vous pouvez utiliser ce traitement sur 50 communes les unes après les autres, surtout cerise on the cheddar, que les modèles sont éditables en lot, ou même vous pouvez affecter un style...mais ça, c'est une autre histoire.