CartoPartie > Orientation Polygone avec Qgis

Motifs en fonction de l’orientation des polygones

L’orientation

L’orientation est la faculté de déterminer sa position et de paramétrer les directions à suivre dans son environnement ; par rapport au NORD magnétique et aux 3 autres points cardinaux que sont le SUD, l’EST et l’OUEST.
Ces directions imaginaires, indiquent les 3 phases solaires de la journée : l’EST où le soleil se lève, le SUD quand le soleil est au zénith et l’OUEST où le soleil se couche.
Correspondance en degrés : NORD : 0°, EST : 90°, SUD : 180° et OUEST : 270°.

Objectifs

Dans le cadre d’un projet perso, j’avais besoin de calculer l’orientation des bâtiments pour estimer le potentiel solaire reçu par des bâtiments. J’avais également pour objectif d’afficher des motifs en fonction de l’orientation des bâtiments. Et de tout réaliser avec un outil open source. Il existe un pléthore de logiciels pour le faire. Dans un autre tuto nous utiliserons Postgis pour calculer l’orientation des façades des Bâtiments. Je vos présente ici mon retour d’expérience avec QGIS. J’utilise différentes fonctions proposées par ce logiciel.

La solution

angle_at_vertex(shortest_line(centroid(oriented_bbox($geometry)), boundary(oriented_bbox($geometry))),0)

oriented_bbox(geom) : Renvoie une géométrie qui représente l’emprise minimale orientée d’une géométrie en entrée.

angle_at_vertex(geom) : Renvoie la bissectrice de l’angle moyen de la géométrie pour un sommet spécifique d’une géométrie de polyligne. Les angles sont en degrés dans le sens des aiguilles d’une montre à partir du nord.

shortest_line(geometry1,geometry2) : Renvoie la plus courte ligne joignant la géométrie 1 à la géométrie 2. La ligne résultante commence sur la géométrie 1 et se terminera sur la géométrie 2.

Centroide et BBX de chaque polygone

Application dans Qgis

Dans Qgis, ouvrir la propriété de la couche puis, choisissez « Symbole unique ». Dans remplissage choisissez un type de motif. Ici je travaille avec des lignes et un motif SVG. L’orientation est à 45° par défaut. Nous allons l’éditer pour orienter les motifs en fonction de l’orientation des bâtiments. En parallèle, vous pouvez créer un champ orientation avec la même formule.

Propriété de la couche

.

Orientation des polygones

Résultats

Orientation des bâtiments, Ile de Gorée, Sénégal
Orientation des bâtiments, Ile de Gorée, Sénégal

A suivre Orientation des façades des bâtiment avec PostgreSQL

3 commentaires Ajouter un commentaire

  1. Nicolas dit :

    Bonjour,

    Merci pour cet article intéressant, comme d’ailleurs pas mal d’autres sur ce blog que je viens tout juste de découvrir. Bravo elle est vraiment très bien trouvée cette expression pour l’orientation des polygones ! Mais juste pour signaler, il existe depuis la version 3.16 de QGIS la fonction « main_angle » qui fait déjà ce travail plus simplement. Par contre il y a un bug dans le calcul de certains angles avec cette version. Pour que cette fonction donne des résultats corrects il faut utiliser la dernière version 3.22 où le bug a été corrigé. Je viens de tester et effectivement ça donne les mêmes résultats à 90° près.

    Nicolas

    1. admin dit :

      Bonjour,
      Merci pour l’info, c est excellent alors. il faudrait que le test.

Laisser un commentaire