TD Boulevards hausmanniens › Vecteurs, partie 2

Légende : Cours TP
← Précédent ↑ Retour

Traitements (suite)

Gestion des champs

On les appelle champs , colonnes ou attributs selon qu’on parle respectivement de base relationnelle, de tableau ou de couche SIG. Comme dans un tableur, avec toutefois plus de contraintes, on peut ajouter ou supprimer des champs.

Un champ est défini avec un type de valeur : texte , nombre entier , nombre décimal , date ... Ce type est lié au stockage et à l’interprétation : on les manipule à travers les expression SQL de filtres, sélections, conditions de style...

Champs sélectionnés prêt à être supprimés, dans la fenêtre de Propriétés

Nettoyer la couche troncon_route.buffer des champs inutiles

L’opération de tampons a laissé de nombreux champs inutiles hérités de la donnée ROUTE500 . Ils n’ont plus de sens suite à la création de tampon où on a activé le regroupement.

Nous allons donc supprimer ces champs, plus de clarté lors des prochaines opérations.

  • Pour la couche troncon_route.buffer , ouvrir Propiétés- Champs
  • Identifier les champs inutiles, ceux hérités de ROUTE500 : à partir de id_rte500 jusqu’à la fin (la table d’attributs permet de vérifier les valeurs des entités pour ces attributs)
  • Basculer en mode édition en cliquant sur l’icône en forme de crayon, comme on l’avait fait pour la numérisation dans le module Vecteurs, partie 1 .
  • Cliquer sur le nom du premier champ à supprimer
  • Avec la touche Control , cliquer sur le dernier
  • Cliquer ensuite sur la 2e îcone des Champs , l’info-bulle précise : Effacer une colonne
  • Il n’y a pas de confirmation ! C’est normal : la suppression ne sera enregistrée qu’après être sorti du mode édition
  • Re-cliquant sur l’icône crayon pour sortir du mode édition, confirmer par Enregistrer les changements
L’identifiant dans un nouveau champ ilots_id , à des fins de traçage après la jointures à venir

Générer un champ d’identifiant

Pour les besoins de la jointure à venir, nous avons besoin d’un identifiant. En fait, un identifiant existe physiquement mais n’apparaît pas. Il est utilisé par QGIS (fait partie du Shapefile) mais il est spécial .

L’expression $id vaut la valeur de l’identifiant, nous pouvons ainsi créer ce nouvel attribut auto-calculé .

  • Pour la couche ilots , se rendre dans les Propriétés- Champs
  • Basculer en mode édition
  • Cliquer sur l’îcone en forme de boulier, dénommé Calculatrice de champ : une nouvelle fenêtre s’ouvre
  • Nommer le nouveau champ ilots_id de type Nombre entier , longueur 10 , précision 0 (nombre de 10 chiffres maximum, une valeur classique)
  • Comme expression, dans la liste des fonctions ouvrir Enregistrement et double-cliquer sur la fonction $id
  • Cliquer sur OK puis quitter le mode édition en enregistrant les changements
  • Fermer les Propriétés et ouvrir la Table d’attributs pour constater la nouvelle colonne

Intersection

Intersections (en vert) entre îlots (en jaune) et le tampon-boulevard

Intersection géométriques

L’intersection de 2 polygones est facile à imaginer : c’est le polygone délimitant la surface commune aux 2 polygones, qui peut être vide si les 2 polygones n’intersectent pas.

L’intersection entre une ligne et un polygone produit une poly-ligne, une ligne, un poly-point, un point ou pas de géométrie, suivant que la ligne intersecte le polygone sur une surface interrompue, une seule surface, en plusieurs point (polygone concave), un seul point (sur un sommet convexe).

... il faut donc se rappeler que ces abstractions mathématiques gouvernent le résultat qu’on obtient, car le SIG est contraignant en matière de types géométriques. Un multi-point n’est pas une poly-ligne, etc. Une couche de lignes ne peut pas contenir de point au sens strict, mais une ligne peut avoir un seul point : en quelque sorte elle est un point (en mathématiques), mais c’est une ligne (dans l’abstraction SIG).

L’intersection est une jointure d’entités

Dans le SIG, l’identité principale n’est pas la géométrie mais l’entité : l’entité possède une ou plusieurs géométries.

L’explication précédente s’applique aux géométries. Mais comment sont traités les entités et champs de la table d’attributs ?

Ce qui se passe :

  1. Toutes les intersections géométriques sont calculées pour toutes les combinaisons : entre chaque entité de A et chaque entité de B
  2. Pour chaque résultat qui n’est pas vide , une entité est créé en sortie avec :
    • la géométrie fruit de l’intersection géométrique
    • tous les attributs de A
    • tous les attributs de B

Ainsi la couche en sortie récupère tous les champs des 2 couches intersectées. C’est une méthode de jointure.

Outil d’intersection

Produire les surfaces de boulevard à prélever sur chaque îlot

  • Ouvrir l’outil d’intersection, menu Vecteur- Outils de géotraitement- Intersection...
  • Choisir les couches ilots et troncon_route.buffer
  • En sortie, indiquer (via Parcourir ) : td/vecteur/ilots.intersection.shp
  • Valider sur OK , fermer la fenêtre et mettre la nouvelle couche sur le dessus dans QGIS, désactiver si nécessaire les couches ilots et troncon_route.buffer

Attributs auto-calculés

Comme on l’a vu précédemment dans la Gestion des champs , on peut créer de nouveaux champs, sans valeur initiale ou bien en donnant une valeur. Mieux qu’une valeur pour toutes les entités , on peut définir une expression SQL .

Cette opération consiste à ajouter des attributs (des colonnes) dont la valeur pour chaque entité est le fruit d’une expression algébrique.

Le type de son résultat est libre : nombre entier, nombre décimal, texte, date, booléen... Il est déterminé par l’expression. L’expression peut exploiter la valeur d’attributs existants et c’est son principal intérêt.

Nouvelle attribut aire où l’expression $area a été calculée pour chaque entité

Calculer l’aire de l’expropriation pour chaque îlot

Nous allons calculer l’aire sous forme de nouvelle colonne à la donnée de la couche ilots.intersection , pour chaque surface d’expropriation (les intersections).

  • Pour la couche ilots.intersection , se rendre dans les Propriétés- Champs
  • Basculer en mode édition
  • Cliquer sur l’îcone en forme de boulier, dénommé Calculatrice de champ : une nouvelle fenêtre s’ouvre
  • Nommer le nouveau champ aire de type Nombre décimal , longueur 10 , précision 3 (qui signifie : 10 chiffres significatifs et 3 chiffres après la virgule)
  • Comme expression, dans la liste des fonctions ouvrir Géométrie et double-cliquer sur la fonction $area
  • C’est suffisant pour notre besoin en mètres-carrés. Pour une surface en hectares, on aurait divisé par 10 000, soit l’expression : $area / 10000
  • Cliquer sur OK puis quitter le mode édition en enregistrant les changements
  • Fermer les Propriétés et ouvrir la Table d’attributs pour constater la nouvelle colonne

Jointure

La jointure consiste à fusionner une donnée vecteur avec une autre table attributaire, éventuellement non-spatiale (purement attributaire).

Pour cela, on va pour chaque entitée apparier une entité (une ligne de la seconde donnée. On dit aussi apparier les entités de la donnée à gauche avec la donnée à droite . En d’autres termes, faire correspondre à chaque entité de gauche une entitée de droite, quand c’est possible.

La correspondance se fait généralement sur un identifiant commun. Par exemple, notre donnée routes peut être enrichie des attributs présents dans la donnée de l’exploitant, au format CSV, en se basant sur un identifiant commun pour établir la correspondance.

La jointure est en fait bien plus générale quand elle se définit par une expression algébrique reposant sur les attributs de l’entité à gauche et à droite. L’expression peut exploiter le spatial, lorsqu’il s’agit par exemple d’apparier à une liste de points les attributs de sa communes respective : sans attribut id_commune , la fonction Within(point.geometry, commune.geometry) fera correspondre à chaque point la commune dans laquelle il se trouve géométriquement.

La cardinalité n’est pas conservée : l’entité à gauche peut être multipliée (doublée, triplée...) si elle vérifie la correspondance pour plusieurs entités à droite. Dans le cas où elle n’a aucune correspondance, elle peut selon le type de jointure être élminiée (multipliée par zéro correspondance) ou bien conservée avec des valeurs NULL pour les attributs n’ayant pas de correspondance. Dans le premier cas c’est une jointure symétrique et dans l’autre une jointure asymétrique à gauche .

Paramétrage de la jointure

Définir la jointure pour ré-importer l’aire des intersections dans les îlots

Notre objectif est d’afficher en étiquettes sur la carte des informations pour chaque îlot, y compris relatives à la surface d’expropriation. Il nous faut ramener l’attribut d’aire à l’îlot global (ilots , non pas ilots.intersection ).

C’est exactement ce que permet la jointure : apparier une couche cible dans une couche source en y intégrant virtuellement ses champs. Ici, la jointure est évidente du fait que ilots.intersection découle directement de ilots , contrairement à des cas métiers fréquents où il faut concevoir le sens de la jointure à faire.

  • Pour la couche ilots , ouvrir : Propriétés- Jointure
  • Cliquer sur l’îcone + en bas, pour ajoute rune nouvelle couche jointe
  • Spécifier la couche cible ilots.intersection et le champ de correspondance qui est le même pour la source et la cible : ilots_id
  • Choisir le champ à joindre (c’est-à-dire : à importer ) : aire uniquement
  • Personnaliser le préfixe du champ : spécifier intersection_ pour que le champ importé prenne localement le nom de intersection_aire
  • Valider l’ajout puis les propriétés
  • Ouvrir la Table d’attributs . Noter que le champ intersection_aire ne fait pas partie de la donnée ilots : il est ajouté dans l’abstraction de couche tel que géré par QGIS : il apparaît comme un champ mais n’est pas véritablement un champ de données : il est calculé à la volée .

Agrégation

Agréger une donnée se fait par groupe : la liste des entités en entrée est transformée en une autre liste où chaque entité représente un groupe. Le groupement se faire par valeur unique : d’un attribut ou plus généralement d’une expression.

Par exemple, on peut grouper les communes par département, un exploitant la valeur de l’attribut code_dept .

Pour chaque groupement, on peut faire remonter d’autres valeurs à condition qu’elles soient agrégées. Par exemple, pour notre agrégation departements , on peut générer un attribut nb_communes qui a pour valeur l’expression count(id_commune) , soit le nombre de id_commune existant dans le groupe respectif.

Généralisation vectorielle

Il s’agit de diminuer le nombre de points d’un vecteur tout en préservant au mieux sa topologie. C’est indispensable pour réduire l’échelle de la représentation : pas seulement pour économiser en poids des données mais pour que la représentation soit convenable.

Par exemple, le tracé d’une route détaillé à 10 mètres (un point tous les 10 mètres) doit être généralisé pour être affiché sur une échelle de 1/100 000 . Autrement, les points sont trop denses et posent problème lors du rendu des tracés (peut former des pâtés ).

C’est l’équivalent vecteur du sous-rééchantillonage de rasters (rééchantillonage avec réduction du nombre de pixels), qui est plus facile à concevoir du fait de la nature régulière de la grille d’un raster. Pour les vecteurs, la généralisation est complexe car même s’il y a perte d’information (moins de points à l’arrivée qu’au départ), il y a aussi de la détection afin de préserver les formes.

C’est un sujet mathématique complexe où les recherches se poursuivent.

Pour aller plus loin

Support de cours sur la Généralisation cartographique, par l’École Nationale des Sciences Géographiques (ENSG)

Affichage

Représentation symbolique des entités

On dit symbolique car c’est la nature même du vecteur : en tant que géométrie purement numérique, on définit un tracé qui n’est pas l’entité désignée de la réalité : c’est un dessin.

Dans le SIG, symboles veut dire symbologie : manière de représenter la géométrie. Chacun des 3 types a ses types de symboles :

  • symbologies de points : disque, ellipse, îcone, lettre de l’alphabet
  • symbologies de lignes : ligne simple, texture, motifs de points ...
  • symbologies de polygones : remplissage simple, image, motif de points, motif de lignes ...

En effet, une ligne peut rester ligne ou devenir un succession de points. Elle a une épaisseur et peut donc devenir un polygone, lui-même rempli par motif de ligne ou de points...

De plus, chaque symbologie est une pile de symboles : par exemple, la ligne de terre-plein d’une route à double-sens est une ligne simple (en noir ou pointillé) par dessus une ligne rouge épaisse et derrière une autre ligne, noire, un peu plus épaisse pour représenter la bordure.

On a donc affaire à un arbre de symboles. La symbologie est une véritable science et le moteur de la qualité cartographique : réaliser un beau graphisme avec une sémantique riche.

La suite du TP propose des propriétés de style précises afin de guider, mais qui n’est pas restrictif. Le style est personnel.

Remplissage simple de polygones

Définition du style Remplissage simple de la couche troncon_route.buffer

La méthode est évidente pour qui a déjà manipulé un logiciel vectoriel sous une forme ou une autre. Par exemple, un traitement de texte ou tableau quand on définit un style de remplissage pour un paragraphe de texte, une cellule de tableau, etc.

En remplissage , on a le fond uni ou différents motifs prédéfinis, avec une couleur définie

En bordure , on a une épaisseur, une couleur et un style de ligne : continu, pointillé, etc.

Boulevard Voltaire avec les couches troncon_route.buffer (en vert) et ilots.intersection (en rouge)

Définir le style de boulevard et des intersections

  • Couche troncon_route : Propriétés- Style- Remplissage simple
  • Choisir une couleur, une largeur de bordure , voire d’autres paramètres comme le Style de la bordure ou de remplissage.
  • Le bouton Appliquer permet de visualiser le changement sans fermer la fenêtre
  • À satisfaction, cliquer sur OK et faire la même chose pour la couche ilots.intersection , auparavant au dessus de ilots dans la liste des couches, si nécessaire.

Symbologie multiple

Entités ilots remplie avec des hâchures espacées de 1 millimètre

Appliquer des hâchures aux îlots recouverts par une bordure colorée

  • Couche ilots : Propriétés- Style puis sélectionner le symbole Remplissage simple de l’arbre de symboles
  • Changer le Type de symbole pour Motif de lignes : les options changent en dessous
  • Définir la distance à 1 millimètre : c’est l’espace entre les hâchures
  • Sélectionner le symbole Motif de ligne- Ligne- Ligne simple (déplier l’arbre sous si nécessaire, sous Motif de lignes : il s’agit de la ligne de hâchure
  • Définir l’épaisseur à 0,3 millimètres, en couleur noire
  • Sélectionner le symbole Motif de ligne- Ligne simple
  • Définir l’épaisseur à 0,6 millimètres, en couleur rouge foncé
  • Valider

Style gradué

Les 4 méthodes à base de symbole

Jusqu’ici, il s’agissait de symbole unique . La méthode se généralise avec l’usage de règles conditionnelles . 4 méthodes :

  • Symbole unique : un symbole est défini, potentiellement dynamique, mais ce symbole s’applique à toutes les entités de la couche
  • Catégorisé : on définit plusieurs symboles à utiliser selon la valeur d’un attribut. On peut ainsi définir un symole pour l’îlot donc l’attribut id a la valeur 7 , et un autre symbole pour tous les autres.
  • Gradué : le symbole appliqué parmi la liste se choisit non pas par une égalité mais pour une plage de valeur par rapport à un attribut (ou une expression), à l’instar de catégorisé .
  • Ensemble de règles : différents symboles sont définis avec des expressions filtres (qui valent VRAI ou FAUX ). Pour chaque entité, chaque condition est évaluée dans l’ordre et la première qui valide désigne le symbole à appliquer.

Pour les styles catégorisé et gradué , il faut définir un symbole pour chaque classe. Mais QGIS les génère automatiquement à partir du symbole de base donné et selon la classification définie.

Style gradué en dégradé bleu clair à foncé selon le pourcentage de l’aire à exproprier

Représenter le pourcentage d’expropriation par dégradé de couleur

Pour ne pas perturber la symbologie en hâché des îlots, on va dupliquer la couche pour la mettre dessous la première et peindre le remplissage selon le style gradé.

  • Cliquer du bouton droit sur la couche ilots puis Dupliquer
  • La couche ilots copy est crée, invisible : l’activer et désactiver ilots
  • Sélectioner ilots copy et presser F2 pour renommer en ilots (statistiques)
  • Ouvrir : Propriétés- Style et changer en haut à droite la méthode Symbole unique pour la méthode Gradué
  • Sur le paramètre Symbole , cliquer sur Modifier pour restaurer un remplissage simple
  • Dans la nouvelle fenpetre, sélectionner Motif de ligne et supprimer ce symbole en liquant sur l’îcone en rouge
  • Une fois le second symbole sélectionné, définir son type (en haut à droite) à Bordure : ligne simple
  • La couleur n’a pas d’importance : elle sera déterminée d’après les classes. Valider le symbole en cliquant sur OK .
  • Dans les paramètres du style gradué : choisir une palette de couleur et 3 classes ou davantage puis cliquer sur Classer
  • Les classes ont été générées. On peut valider le style ou faire des essais.

Transparence

Propriété Opacité dans la fenêtre de sélection de couleur : ici une opacité de 70 % , soit une transparence de 30 % style-opacite-couleur.png 400 right

Il y a 3 niveaux de transparence :

  • Transparence de la couche : défini en bas de l’onglet de Style , cette propriété est commune à toute couche vecteur ou raster car elle est liée au concept même de couche empilées
  • Transparence des symboles
  • Transparence des couleurs

Dans le cas simple d’un symbole unique à remplissage simple, les niveaux couche et symbole sont équivalents : on peut agir sur l’un ou sur l’autre avec le même effet, mais la bordure est affectée comme le remplissage.

Pour un remplissage semi-transparent avec bordure opaque, il faut donc agir sur la couleur : c’est la couleur elle-même qui devient semi-transparente.

Surfaces d’expropriation en rouge semi-transparent

Colorier les surfaces expropriées en préservant les hachures des ilots

  • Déplacer la couche ilots.intersection au dessus dans le groupe
  • Ouvrir Propriétés- Style puis définir la Transparence de la couche (en bas) à 50 %
Symbole de hachures à 50 % de transparence, en gardant une bordure opaque

Alléger les hachures de la couche ilots par semi-transparence

  • Pour ilots , ouvrir : Propriétés- Style- Motif de ligne- ligne (déplier l’arbre des symboles)
  • Définir la Transparence à 50 % puis valider

Étiquetage

Boulevard Voltaire avec les îlots étiquettés

Afficher les étiquettes pour chaque îlot avec la surface à exproprier

Après chaque action, on peut cliquer sur Appliquer pour observer l’effet sans fermer la fenêtre :

  • Pour la couche ilots , ouvrir Propriétés- Étiquettes
  • Cocher Étiquetter cette couche avec l’expression suivante : round("intersection_aire" ) || ' m²!!' || round( "intersection_aire" * 100 / $area ) || ' %'
  • Sous-onglet Formatage :
    • retour à la ligne sur le caractère : !! (afin que la double-exclamation qu’on a mis après dans l’expression soit interprétée comme un saut de ligne)
    • Alignement : centre (sans retour à la ligne, nous n’aurions pas cette préoccupation)
  • Sous-onglet Tampon : séfinir une taille de 1 millimètre en blanc
  • Sous-onglet Ombre : cocher Afficher une ombre portée avec les réglages par défaut
  • Valider
  • Enregistrer la carte en tant qu’image (menu Projet ) dans le fichier td/impression/statistiques.png , ayant cadré la vue sur l’emprise pour que le PNG montre bien les statistiques. Si nécessaire, faire plusieurs cadrages (statistiques-2.png , etc.).

Selon l’échelle

Pour toute couche vecteur ou raster, dans Propriétés- Général , on peut activer la Visibilité dépendante de l’échelle et indiquer une plage d’échelle en dehors de laquelle la couche devient invisible.

C’est utile pour faire apparaître des détails à grande échelle (grand zoom) qui sinon polluent la carte à plus petite échelle.

On n’hésite pas à dupliquer des couches pour différencier le style selon l’échelle : jusqu’à une certaine échelle, la première couche s’affiche avec un style peu encombrant, et au delà elle laisse place à son clone dont le style est plus imposant (davantage d’espace sur la carte).

Propriétés dynamiques : d’après les valeurs d’attributs

On ne le manipulera pas ici, mais il faut savoir que pratiquement toute propriété graphique (couleur, épaisseur, îcone, image de remplissage...) dans n’importe quel symbole de l’arbe peut être dynamique : la valeur provient de la valeur d’une ou plusieurs attributs, avec toute la puissance des expression SQL.

À partir de là, on peut personnaliser le style en fonction de la donnée, mais aussi la donnée en fonction du style : on définit de nouveaux attributs pour indiquer des couleurs, des tailles d’îcones...

Générer un atlas automatique avec le composeur d’impression

Le composeur d’impression de QGIS permet de mettre en page un ou plusieurs extraits de carte, comme si on enregistrait la carte comme image pour l’inclure dans une présentation en document.

Les principaux avantages sont :

  • le fait que le modèle de mise-en-page reste lié à la carte et se met à jour automatiquement lors du rendu du document
  • la possibilité de définir de multiples composeurs d’impression, sur des emprises différentes, pour des couches actives différentes
  • la gestion dynamique des légendes et barres d’échelle (que nous n’aborderons pas ici)
  • la génération d’atlas, qui consiste à générer autant de cartes que de polygones dans une couche vectorielle donnée, chacune étant centrée sur l’emprise resepective du polygone. C’est la fonctionnalité que nous allons exploiter ici.
Partie droite de l’écran du composeur, sur l’onglet Génération d’atlas
Panneau Propriétés de l’objet de la carte avec les sections Paramètres contrôlés par l’atlas et Cadre
Écran du composeur en mode Atlas . L’étiquette Pente moyenne est ici sélectionnée : on voit son texte dans les Propriétés de l’objet à droite.
Atlas PDF généré, page 1
Atlas PDF généré, page 2

Créer le composeur

  • Ouvrir un composeur d’impression vierge : menu Projet- Nouveau composeur d’impression , qui s’ouvre dans une nouvelle fenêtre
  • Ajouter une carte : menu Mise en page- Ajouter une carte et la redimensionner pour une taille convenable (qu’on réajustera après l’ajout des étiquettes)
  • Ajouter une étiquette qu’on placera en haut pour le titre
  • Dans les propriétés de l’étiquette (s’assurer que le panneau est visible via menu Vue- Panneaux- Propriétés de l’bjet et ouvrir cet onglet s’il n’est pas visible)
  • Dans la section Propriétés principales , définir le titre. Par exemple : Boulevard Voltaire .
  • Augmenter la taille de la police, mettre en gras et/ou changer la police
  • Tester le rendu : menu Composeur- Exporter au format PDF... et nommer un fichier temporaire : la production du PDF peut prendre 10 secondes à 1 minute, voire davantage si les îlots sont nombreux, une barre de progression indique l’avancement.
  • Ouvrir le fichier généré dans un lecteur PDF pour vérifier

Paramétrer l’Atlas

Pour l’instant, le composeur est statique , un génère une carte à la fois. On doit paramétrer l’atlas afin de générer un document spécifique à chaque parcelle.

  • S’assurer que le panneau Atlas existe : menu Vue- Panneaux- Génération d’atlas et sélectionner cet onglet s’il est caché
  • Cocher Générer un atlas
  • Couche de couverture : ilots
  • Cocher : Export d’un seul fichier (si possible) (afin d’obtenir un PDF multi-page au lieu de plsueirus PDF d’une page)
  • Trier par : ilots_id

Il faut à présent paramétrer la carte par rapport à l’atlas pour qu’elle soit spécifique à chaque îlot :

  • Sélectionner la carte en cliquant dessus (cliquer si nécessaire sur l’îcone Sélectionner/déplacer un objet : )
  • Dans l’onglet Propriété de l’objet , cocher et déplier la section Paramètres contrôlés par l’atlas
  • Choisir Marge autour des entités et indiquer 20 % (ou autre valeur selon le goût)
  • Activer la section Cadre avec l’épaisseur de 0,30 millimètres en noir (ou autre !)
  • Tester le rendu : menu Atlas- Exporter l’Atlas au format PDF... et choisir un nom de fichier temporaire pour le test

Étiquettes de surface d’expropriation

Pour finir, nous ajoutons l’identifiant de la parcelle et les informations quantitatives sous forme d’étiquettes dynamiques :

  • Créer une nouvelle étiquette : menu Mise en page- Ajouter une étiquette (ou dupliquer le titre existant par copié-collé)
  • Comme texte (dans les Propriétés de l’objet ), définir: Parcelle n°[% "ilots_id" %] . La syntaxe [% ...expression... %] permet de définir toute expression : c’est ici la valeur de l’attribut ilots_id de l’entité ilots respective au fil de l’atlas
  • Placer la nouvelle étiquette en haut à droite et paramétrer Alignement horizontal : À droite dans les Propriétés de l’objet- Apparence
  • Ajouter une nouvelle étiquette à placer à gauche sous le titre général avec l’expression : Surface de la parcelle : [% round($area) %] m² : pour indiquer la surface arrondie au mètre-carré
  • Ajouter une n ouvelle étiquette à placer à droite sous le titre spécifique avec l’expression : Emprise du boulevard : [% round("intersection_aire") %] m² ([% round("intersection_aire" * 100 / $area) %] %)
  • Pour vérifier que ces étiquettes sont correctes après évaluation, activer l’Aperçu de l’atlas depuis le menu Atlas (et éventuellement : générer à nouveau l’atlas PDF de façon temporaire)

Nous ajoutons à présent 3 nouvelles étiquettes pour indiquer la pente minimale, maximale et moyenne, à côté de la carte :

  • Ajouter l’étiquette pente minimale avec le texte : Pente minimale : [% replace(round("pente_bvd_min", 2), '.', ',') %] %
  • Ajouter l’étiquette pente maximale avec le texte : Pente maximale : [% replace(round("pente_bvd_max", 2), '.', ',') %] %
  • Ajouter l’étiquette pente moyenne avec le texte : Pente moyenne : [% replace(round("pente_bvd_mean", 2), '.', ',') %] %

Pour comprendre ces expressions :

  • la fonction round() calcule l’arrondi à 2 décimales
  • la fonction replace() remplace les points par des virgules (convertir la notation anglo-saxonne des nombres où le supérateur décimal est un point)

Finitions

  • ajouter d’autres étiquette à souhait : nom de l’auteur, autres informations...
  • insérer un logo ou îcone (éventuellement)
  • affiner le style des couches pour un rendu adéquat sur l’atlas

Enfin, générer l’atlas PDF définitif dans le fichier td/impression/atlas.pdf

← Précédent Retour