Pasq.fr

Parce-qu'il y a forcément du sens à tout ce bordel !

Un rapport avec QGIS 3.4

Rédigé par Alain 3 commentaires
rapport avec carte

Attention, rien de sexuel là-dedans. Oui, c’est un titre aguicheur pour augmenter mes visites, alors je suis désolé pour toi, jeune ado lubrique en mal d’information, qui a cherché « comment avoir un rapport… » et qui est tombé sur cette page dont aucune image ne te renseignera.

Pour les autres, je vais tenter de découvrir avec vous cette nouvelle fonctionnalité des version 3.2 et suivantes qui est le générateur de rapport. Pour faire simple, et comme certains l’ont déjà appelé, il s’agit d’un atlas sous stéroïdes. Alors allons-y.

Base de travail

J’ai monté une simple carte vite faite des régions (source IGN©, Admin express juin 2018) et j’ai envie de générer un dossier ou plutôt un ensemble de carte des régions. Je pourrais utiliser l’atlas facilement, mais là, c’est pas le sujet puisque le générateur de rapports, faut suivre un peu. Je n'explique pas non plus le montage de cette carte, montée en 10 minutes avec, j'espére, un look agréable.

présentation de base de travail

Découverte

Dans le menu fichiers, je vois cette nouvelle ligne qui m’intrigue, je clique dessus.

menu QGIS 3.4

Je lui donne un nom très original ‘mon premier rapport’, non pas de jeux de mots ou de poufferies. D’après ce que j’en vois, cela ressemble beaucoup au composeur.

Qu’est-ce qu’un rapport ?

Il s’agit d’un document composé de plusieurs pages dans lesquelles nous allons avoir, possiblement, une page d’en tête, plusieurs pages de cartes triées par données, et 1 page de fin.

Si j’ai bien compris, cela peut se structurer comme dans le schéma que j’ai fait.

schema rapport

Mise en place des pages de couverture.

La mise en page s’effectue via le composeur d’impression. On peut ajouter tous les éléments présent : carte, utiliser des expressions…

Idem pour la dernière page (appelée pied de page au lieu de pied de rapport, bizarre)

Le corps du rapport

Dans le rapport, apparemment, on peut créer des sections et des groupes dynamiques, voyons cela :

Sections de mise en page statique

(section aurait suffit, amha). ceci permet de créer une section pour mieux s’organiser, l’on peut matérialiser cette section en créant une page en cochant inclure la section et modifier en cliquant sur éditer. Cela crée une page statique que l’on peut utiliser en intercalaire ou comme page de chapitre. La mise en page est libre comme pour les entêtes de rapport.

Section de groupe de champs

(que j’aurais appelé pages dynamiques). Il s’agit du cœur du rapport, en fait, c’est la partie atlas du document. Et donc la seule partie indispensable de notre rapport. Un rapport au plus simple, un atlas en somme, c'est un groupe de champs et le corps du document, et c'est tout (partie en rouge dans mon schéma, seule partie obligatoire).

Vous remarquerez que l’on peut aussi créer un en-tête et un pied de page pour ces groupes, le principal intérêt réside dans la case (non traduite pour l’instant) show header when no matching features are found _ voir l’en-tête seulement si aucune entité existe. Cela permet d’afficher un sorte de message d’erreur ou un message palliatif en cas de non-existence d’une entité ou d’une valeur d’entité.

Je teste. Disons que je veuille avoir les cartes des régions. Je choisis donc ma couche REGIONS (en 1), puis je veux les afficher par leur nom NOM_REG (en 2), triés par ordre croissant. Ne pas oublier de cocher la case inclure le corps de document (en 3), sinon le rapport est vide !! et de l’éditer (4).

ajout groupe de champs

Je compose une page simple avec une carte, Ne pas oublier de coché la case ‘contrôlé par le rapport’ dans les propriétés de l’élément, sinon vous n’aurez qu’une carte.

composeur de carte

Bon, voici le premier résultat en PDF, sympa. (cliquer ici ATTENTION 37 Mo). Si j’ajoute un texte avec l’expression [%NOM_REG%]. Je génère mon PDF et je vous colle l'image :

rendu PDF du rapport

Hulotte ou chouette, cela fonctionne.

Allons encore plus loin !

Si j’enchaîne les groupes de champs, je devrais pouvoir créer des cartes dans les cartes, en tout cas, c'est ce que j'espére… Essayons de sortir les préfectures de chaque région. 

Grossière erreur : j'ai bêtement pensé à mettre dans le groupe suivant de champs, les chefs-lieu classés par leur noms. J'ai bêtement imaginer que c'était magique et qu'une jointure spatiale allait miraculeusement apparaître (cela serait génial, cela viendra sûrement un jour). Pour rien vous cacher, c'est lorsque que la génération a atteint plus de 2500 pages de PDF que je me suis tapé la main sur le front. Non, cela ne fonctionne pas comme ça. Il faut un minimum de préparation des couches !!

En fait, pour que la magie opère, il faut un attribut qui met en relation votre premier groupe et le second (oui, ça à l'air évident mais je découvre). Il faut donc, pour mon exemple, ajouter une colonne NOM_REG dans ma couche de CHEF-LIEU (pour mémoire voir les couches cf. image de la base de départ). 

Je vais donc "JOINDRE LES ATTRIBUTS PAR LOCALISATION" (Ok je vous montre).

menu gestion des données

joindre les attributs par localisation

Cela me génére une couche que je garde temporaire (cela me permet de tester), que je n'affiche pas puisque j'ai déjà un rendu avec la couche CHEF_LIEU. J'ai bien maintenant le NOM_REG dans ma couche, pour ceux qui ne me croiraient pas :

couche temporaire de jointuretable attributaire

Je filtre que les préfectures, cela va faire quand même 95 préf. x 13 régions = 1235 pages !! C'est pour la démo, montrer que l'on peut générer des gros documents en quelques clics.

filtre sur chef-lieu

Je reprends donc le rapport pour y mettre les bonnes infos, j'ai ajouté des thèmes avec les limites que j'ai affecté aux cartes, cela fonctionne super.

le rapport final

Je ne mets pas le dossier PDF en entier car trop lourd...mais je capture, bon la sortie n'est pas fabuleuse en rendu car cela manque de forme et de fond, mais globalement; cela fonctionne très bien.

sortie finale

Un mot sur la publication

Attention pour générer les rapports il faut bien aller dans le menu RAPPORT, si vous cliquer sur export pdf simple, vous ne créez que la page en cours (ce qui peut servir de test avant de lancer tout le rapport).

Conclusions

Pour résumer :

  • La possibilité de créer des pages de garde pour chaque section ou groupe de page, ou des pages statiques très facilement,
  • Garder la mise en page avec un outil connu qui est le composeur (avec ses avantages et ses défauts),
  • Il faut penser à avoir un champ, un attribut commun entre les couches pour pouvoir les imbriquer, imbrication potentiellement infinie.

Voici donc un outil fabuleux qui souffre encore de sa jeunesse à l'heure de l'écriture de ces lignes, le plus gros manque pour moi est le filtre dans le groupe de champs qui permettra d'éviter de filtrer des couches.  Mais je suis sûr que cela viendra vite.

De mon coté, je vais me pencher un peu plus sur cette fonctionnalité qui est incontournable à maitriser car extrêmement puissante et bienvenue dans QGIS. Dîtes-moi ce que vous en pensez en commentaires.

A voir et à lire, le post qui m'a servi pour rédiger celui-ci  : north-road.com/2018/01/23/exploring-reports-in-qgis-3-0-the-ultimate-guide/

 


Classé dans : QGIS, Cours et Tuto, QGIS 3.x Mots clés : aucun

3 commentaires

#1  - LH_67 a dit :

Bonjour
j'ai un rapport dans QGIS, et j'aimerai l’enregistrer pour l'utiliser dans d'autre projet (projets duppliqués), comme un modèle de mise en page.
je n'ai aps encore trouvé une solution... en avez vous une à me proposer?
par ava,ce merci

Répondre
#2  - Alain a dit :

Bonjour,
désolé pas de solutions à proposer. Peut en sauvegardant en qgs (et pas qgz) et récupérer le code du rapport dans le fichier du projet .qgs. Mais je n'ai pas essayé.

Répondre
#3  - LH_67 a dit :

Merci pour votre réponse

Répondre

Écrire un commentaire

Quelle est le cinquième caractère du mot yn1d9lpt ?