Exporter des cartes¶
La figure ci-dessous montre un exemple de mise en page incluant tous les types d’objets décris dans la section précédente.
Depuis le menu ou la barre d’outils
, vous pouvez choisir parmi différents formats de fichier pour l’export et il est possible de définir la résolution (qualité d’impression) et le format du papier :Le bouton Imprimer vous permet d’imprimer la mise en page sur une imprimante ou dans un fichier PostScript, en fonction des pilotes d’imprimante installés.
Le bouton Exporter comme image exporte la mise en page au format image tels que
PNG
,BMP
,TIF
,JPG
et beaucoup d’autres…Le bouton Exporter au format SVG sauve la mise ne page en file:SVG (Scalable Vector Graphic).
Le bouton Exporter au format PDF enregistre la mise en page directement dans un fichier
PDF
(Portable Document Format).
Paramètres d’export¶
Chaque fois que vous exportez une mise en page, il existe une sélection de paramètres d’exportation que QGIS doit vérifier afin de produire la sortie la plus appropriée. Ces paramètres sont :
Les Paramètres d’export du panneau Mise en page, comme Résolution d’exportation, Impression raster, Toujours exporter comme vecteurs ou Enregistrer un fichier world
Exclure la page dans les exports dans le panneau des propriétés de la page
Exclure cet objet des exports dans le panneau des Propriétés d’un objet
Exporter au format image¶
Pour exporter une mise en page sous forme d’image :
Sélectionnez le format d’image, le dossier et le nom de fichier (par exemple
myill.png
) à utiliser. Si la mise en page contient plus d’une page, chaque page sera exportée dans un fichier avec le nom de fichier donné avec le numéro de page ajouté (par exemplemyill_2.png
).Dans la fenêtre suivante (Options pour l’export d’images) :
Vous pouvez remplacer la Résolution d’exportation de la mise en page et les dimensions de la page exportée (définis initialement dans le panneau Mise en page).
Le rendu d’image peut également être amélioré avec l’option Activer l’antialiasing.
Si vous souhaitez exporter votre mise en page en tant que image géoréférencée (par exemple, pour la partager avec d’autres projets), cochez la case Générer un fichier de coordonnées (world), et un ESRI World File avec le même nom que l’image exportée, mais avec une extension différente (
.tfw
pour TIFF,.pnw
pour PNG ,jgw
pour JPEG…) sera créé lors de l’exportation. Cette option peut également être cochée par défaut dans le panneau Mise en page.Note
Pour une sortie multipage, seule la page qui contient la carte de référence obtiendra un fichier world (en supposant que l’option Générer un fichier de coordonnées (world) est cochée).
En cochant l’option Rogner au contenu, l’image sortie par la mise en page inclura la zone minimale englobant tous les objets (carte, légende, barre d’échelle, formes, étiquette, image…) de chaque page de la composition :
Si la composition comprend une seule page, la sortie est redimensionnée pour inclure TOUT sur la composition. La page peut ensuite être réduite ou étendue à tous les éléments en fonction de leur position (sur, au-dessus, en dessous, à gauche ou à droite de la page).
Dans le cas d’une mise en page de plusieurs pages, chaque page sera redimensionnée pour inclure des éléments dans sa zone (côtés gauche et droit pour toutes les pages, plus haut pour la première page et bas pour la dernière page). Chaque page redimensionnée est exportée dans un fichier distinct.
La fenêtre Rogner au contenu vous permet également d’ajouter des marges autour des limites recadrées.
Astuce
Utilisez des formats d’image qui prennent en charge la transparence lorsque les éléments dépassent l’étendue du papier
Les éléments de mise en page peuvent être placés en dehors de l’étendue du papier. Lors de l’exportation avec l’option Rogner au contenu, l’image résultante peut donc s’étendre au-delà de l’étendue du papier. Étant donné que l’arrière-plan en dehors de l’étendue du papier sera transparent, pour les formats d’image qui ne prennent pas en charge la transparence (par exemple, BMP
et JPG
), l’arrière-plan transparent sera rendu en noir complet, « corrompant » l’image. Utilisez des formats compatibles avec la transparence (par exemple, TIFF
et PNG
) dans de tels cas.
Note
Lorsqu’elle est supportée par le format (ex: PNG
) et la bibliothèque Qt sous-jacente, l’image exportée peut inclure les métadonnées du projet (auteur, titre, date, description…)
Exporter au format SVG¶
Pour exporter une mise en page au format SVG :
Remplissez le chemin et le nom de fichier (utilisé comme nom de base pour tous les fichiers dans le cas de sorties mutli-pages, comme pour l’export au format image).
Dans la fenêtre suivante Options pour l’export en SVG, vous pouvez remplacer les paramètres d’export par défaut de la mise en page ou en configurer de nouveaux :
Exporter les couches de la carte comme des groupes SVG : les objets exportés sont regroupés dans des couches dont le nom correspond aux noms des couches de QGIS, ce qui facilite la compréhension du contenu du document.
Toujours exporter comme vecteurs : certaines options de rendu nécessitent la pixellisation des objets pour un meilleur rendu. Cochez cette option pour conserver les objets comme vecteurs avec le risque que l’apparence du fichier de sortie ne corresponde pas à l’aperçu de la mise en page (pour plus de détails, voir Paramètres d’export).
Exporter les métadonnées RDF du document telles que le titre, l’auteur, la date, la description…
Simplifier les géométries pour réduire la taille du fichier de sortie : cela évite d’exporter TOUS les sommets de géométrie, ce qui peut entraîner une taille de fichier d’exportation ridiculement complexe et volumineuse qui pourrait ne pas se charger dans d’autres applications. Les géométries seront simplifiées lors de l’exportation de la mise en page afin de supprimer tous les sommets redondants qui ne sont pas clairement différents à la résolution d’exportation (par exemple, si la résolution d’exportation est
300 dpi
, les sommets qui sont inférieurs à1/600 pouces
seront supprimés).Définissez Export de texte : contrôle si les étiquettes de texte sont exportées en tant qu’objets texte ( Toujours exporter le texte sous forme d’objets texte) ou en tant que chemins uniquement (Toujours exporter le texte comme un chemin). S’ils sont exportés en tant qu’objets texte, ils peuvent être modifiés dans des applications externes (par exemple Inkscape) en tant que texte normal. MAIS l’effet secondaire est que la qualité du rendu est réduite, ET il y a des problèmes avec le rendu lorsque certains paramètres de texte comme les tampons sont en place. C’est pourquoi il est recommandé d’exporter en tant que chemins.
Appliquer les options pour Rogner au contenu
Désactiver l’export tuilés des couches raster : Lors de l’exportation de fichiers, QGIS utilise un rendu en tuiles de couche raster intégré qui économise de la mémoire. Parfois, cela peut provoquer des « coutures » visibles dans les rasters des fichiers générés. Cocher cette option résoudrait cela, au prix d’une utilisation de mémoire plus élevée lors des exportations.
Note
Actuellement le rendu SVG est très basique. Il ne s’agit pas d’un problème lié à QGIS mais à la bibliothèque Qt utilisée. Nous pouvons espérer que cela soit corrigé dans les versions futures.
Exporter au format PDF¶
Pour exporter une mise en page au format PDF :
Remplissez le chemin et le nom de fichier : au contraire des exports image ou SVG, toutes les pages seront exportées dans un unique fichier PDF.
Dans la fenêtre suivante Options pour l’export en PDF, vous pouvez remplacer les paramètres d’export par défaut de la mise en page ou en configurer de nouveaux :
Toujours exporter comme vecteurs : certaines options de rendu nécessitent la pixellisation des objets pour un meilleur rendu. Cochez cette option pour conserver les objets comme vecteurs avec le risque que l’apparence du fichier de sortie ne corresponde pas à l’aperçu de la mise en page (pour plus de détails, voir Paramètres d’export).
Exporter les métadonnées RDF du document telles que le titre, l’auteur, la date, la description…
Définir l”Export de texte : contrôle si les textes sont exportés en tant que textes (Toujours exporter le texte sous forme d’objets texte) ou en tant que chemins uniquement (Toujours exporter le texte comme des chemins). S’ils sont exportés comme des objets texte, ils seront éditables comme des textes par des applications externes (par ex. Inkscape). MAIS la qualité du rendu est diminuée ET il peut y avoir des problèmes avec certains rendus comme les tampons autour des textes. C’est pour cela que l’export en chemins est recommandé.
Créer un PDF Géospatial (GeoPDF): Génère un fichier PDF géoréférencé (nécessite la version 3 ou plus de GDAL).
Désactiver l’export tuilés des couches raster : Lors de l’exportation de fichiers, QGIS utilise un rendu basé sur les tuiles qui économise de la mémoire. Parfois, cela peut provoquer des « coutures » visibles dans les rasters des fichiers générés. Cocher cette option résoudrait cela, au prix d’une utilisation de mémoire plus élevée lors des exportations.
Simplifier les géométries pour réduire la taille du fichier de sortie : Les géométries seront simplifiées lors de l’exportation de la mise en page en supprimant les sommets qui ne sont pas clairement différents à la résolution d’exportation (par exemple, si la résolution d’exportation est
300 dpi
, les sommets qui sont moins de1/600 pouces
seront supprimés). Cela peut réduire la taille et la complexité du fichier d’exportation (les fichiers très volumineux peuvent ne pas se charger dans d’autres applications).
Note
Depuis QGIS 3.10, avec GDAL 3, l’export en GeoPDF est géré et un grand nombre d’options spécifiques sont disponibles :
Format (format GeoPDF - il existe des variantes de GeoPDF),
Inclure plusieurs thèmes de carte (spécifier les thèmes de carte à inclure),
Inclure les informations des entités vectorielles (choisissez les couches et regroupez-les en groupes PDF logiques).
Note
L’exportation d’une mise en page vers des formats prenant en charge le géoréférencement (par exemple, PDF
et TIFF
) crée une sortie géoréférencée par défaut.
Générer un Atlas¶
Les fonctions Atlas vous permettent de créer des altlas cartographiques de manière automatisée. Atlas utilise les entités d’une table ou d’une couche vectorielle ( Couche de couverture) pour créer une sortie pour chaque entité (entité d’atlas) dans la table / couche. L’usage le plus courant consiste à zoomer un objet carte sur l’entité actuelle de l’atlas. D’autres cas d’utilisation incluent :
un objet carte affichant, pour une autre couche, uniquement les entités qui partagent le même attribut que l’entité de l’atlas ou qui se trouvent dans sa géométrie.
une étiquette ou un élément HTML dont le texte est remplacé lors de l’itération des entités
un objet table montrant les attributs des entités parent ou enfants associées à l’entité actuelle de l’atlas…
Pour chaque entité, la sortie est traitée pour toutes les pages et tous les objets en fonction de leurs paramètres d’exportation.
Astuce
Utilisez des variables pour plus de flexibilité
QGIS fournit un large panel de fonctions et variables, y compris celles liées à l’atlas, que vous pouvez utiliser pour manipuler les objets de la mise en page, mais aussi la symbologie des couches, selon l’état de l’atlas. La combinaison de ces fonctionnalités vous donne beaucoup de flexibilité et vous aide à produire facilement des cartes avancées.
Pour permettre la génération d’un atlas et accéder aux paramètres de l’atlas, reportez-vous au panneau Atlas. Ce panneau contient les éléments suivants (voir figure_layout_atlas) :
Configuration
La liste déroulante Couche de couverture permet de choisir la table ou la couche vecteur contenant les entités à partir desquelles générer chaque planche.
La case optionnelle Cacher la couche de couverture permet de cacher la couche de couverture sur les planches en sortie.
Une liste déroulante optionnelle Nom de la page permet de renseigner un nom pour chaque page. Vous pouvez sélectionner un champ de la couche de couverture ou renseigner une expression. Si cette option est vide, QGIS utilise un identifiant interne, selon le filtre et/ou l’ordre de tri appliqué à la couche.
La possibilité de Filtrer avec une expression les entités de la couche de couverture. Si une expression est rentrée, seules les entités satisfaisant la condition seront utilisées. Le bouton à droite permet d’ouvrir un constructeur de requête.
La case optionnelle Ordonner par vous permet de trier les entités de la couche de couverture en utilisant un champ de la couche de couverture ou une expression. L’ordre de tri (ascendant ou descendant) est spécifié par le bouton Ordre du tri représenté par une flèche ascendante ou descendante.
Sortie - c’est ici que la sortie de l’atlas peut être configurée :
L”Expression du fichier en sortie est utilisé pour générer un nom de fichier pour chaque planche de l’atlas. Il est basé sur une expression. Il n’est utile que lorsque plusieurs fichiers sont produits.
L” Export d’un seul fichier (si possible) vous permet de forcer la création d’un unique fichier quand le format de sortie choisi le permet (par exemple le
PDF
). Si cette case est cochée, l”Expression du fichier en sortie n’est pas prise en compte.Une liste déroulante Format d’export de l’image pour sélectionner le format de sortie lors de l’utilisation de Exporter l’atlas en tant qu’images….
Carte contrôlée par l’atlas¶
L’utilisation la plus courante de l’atlas est avec l’objet carte, zoomant sur l’entité d’atlas actuelle, au fur et à mesure que l’itération passe sur la couche de couverture. Ce comportement est défini dans les propriétés de groupe Contrôlé par l’atlas de l’objet carte. Voir controlled by atlas pour les différents paramètres que vous pouvez appliquer sur l’objet carte.
Personnalisez les étiquettes avec les expressions¶
Pour adapter les étiquettes aux entités utilisées par l’atlas, vous pouvez utiliser des expressions. Faites attention à bien insérer l’expression (incluant les fonctions, les champs ou les variables) entre [%
et %]
(voir Étiquette pour plus de détails).
Par exemple, pour une couche de ville ayant les champs CITY_NAME
et ZIPCODE
, vous pouvez insérer ceci :
The area of [% concat( upper(CITY_NAME), ',', ZIPCODE, ' is ',
format_number($area/1000000, 2) ) %] km2
ou une autre combinaison:
The area of [% upper(CITY_NAME)%],[%ZIPCODE%] is
[%format_number($area/1000000,2) %] km2
L’information [% concat( upper(CITY_NAME), ',', ZIPCODE, ' is ', format_number($area/1000000, 2) ) %]
est une expression utilisée dans la zone de texte. Les deux expressions produiront ce type d’étiquette dans l’atlas :
The area of PARIS,75001 is 1.94 km2
Explorer les boutons de valeurs définies par les données avec l’atlas¶
Il y a plusieurs endroits où vous pouvez utiliser un bouton Valeur définie par des données pour définir le paramètre sélectionné. Ces options sont particulièrement utiles avec la Génération d’Atlas. Voir Valeurs définies par des données pour plus de détails.
Pour les exemples suivants, la couche Regions
de l’échantillon de données QGIS est utilisée et sélectionnée comme Couche couverture pour la génération de l’atlas. Nous supposons qu’il s’agit d’une mise en page unique contenant un objet carte et un objet étiquette.
Lorsque la hauteur (nord-sud) d’une étendue de région est supérieure à sa largeur (est-ouest), vous devez utiliser Portrait au lieu de Paysage pour optimiser l’utilisation du papier. Avec un clic sur valeur défninie par les données, vous pouvez définir dynamiquement l’orientation du papier.
Faites un clic droit sur la page et sélectionnez Propriétés de la page pour ouvrir le panneau. Nous voulons définir l’orientation dynamiquement, en utilisant une expression en fonction de la géométrie de la région, donc appuyez sur la touche Orientation, sélectionnez Éditer… pour ouvrir la fenêtre du Constructeur de chaînes d’expression et entrez l’expression suivante :
CASE WHEN bounds_width(@atlas_geometry) > bounds_height(@atlas_geometry)
THEN 'Landscape' ELSE 'Portrait' END
Maintenant, si vous prévisualisez l’atlas, le papier s’oriente automatiquement, mais le placement des objets peut ne pas être idéal. Pour chaque région, vous devez également repositionner l’emplacement des objets de mise en page. Pour l’objet carte, vous pouvez utiliser le bouton sur la Largeur pour le rendre dynamique en utilisant l’expression suivante :
@layout_pagewidth - 20
De même, utilisez le bouton sur la Hauteur pour fournir l’expression suivante afin de limiter la taille de l’objet carte :
@layout_pageheight - 20
Pour vous assurer que l’objet carte est centré dans la page, définissez son Point de référence sur le bouton radio en haut à gauche et entrez 10
pour ses positions X et Y.
Ajoutons un titre au-dessus de la carte au centre de la page. Sélectionnez l’objet étiquette et définissez l’alignement horizontal sur Centré. Ensuite, déplacez l’étiquette à la bonne position, choisissez le bouton du milieu pour Point de référence, et fournissez l’expression suivante pour le champ X :
@layout_pagewidth / 2
Pour tous les autres objets de mise en page, vous pouvez définir la position de manière similaire afin qu’ils soient correctement positionnés à la fois pour le portrait et le paysage. Vous pouvez également faire plus de réglages tels que la personnalisation du titre avec des attributs de l’entité (voir Personnalisez les étiquettes avec les expressions), la modification des images, le redimensionnement du nombre de colonnes de légende en fonction de l’orientation de la page…
Les informations fournies ici sont une mise à jour de l’excellent blog (en anglais et portugais) sur les options de Valeurs définies par des données Multiple_format_map_series_using_QGIS_2.6 .
Il ne s’agit que d’un exemple de comment utiliser certains paramètres avancés de l’atlas.
Prévisualiser et générer un atlas¶
Une fois les paramètres de l’atlas configurés et les objets de la mise en page (carte, table, image…) liés à celui-ci, vous pouvez créer un aperçu de toutes les pages en cliquant sur Aperçu de l’Atlas. Vous pouvez utiliser les flèches pour naviguer à travers les entités :
ou sur l’icôneVous pouvez également utiliser la liste déroulante pour sélectionner et prévisualiser une entité spécifique. La liste déroulante affiche le nom des entités selon l’expression paramétrée dans l’option Nom de page de l’atlas.
En ce qui concerne les mises en page simples, un atlas peut être généré de différentes manières (voir Exporter des cartes pour plus d’informations - utilisez simplement les outils du menu ou de la barre d’outils au lieu du menu .
Cela signifie que vous pouvez imprimer directement vos mises en page avec Export d’un seul fichier (si possible) a été sélectionnée. Dans ce cas, un nom de fichier vous sera demandé.
. Vous pouvez également créer un PDF en utilisant : l’utilisateur devra indiquer un répertoire pour enregistrer tous les fichiers PDF, sauf si l’optionAvec l’outil Atlas.
ou , vous devrez choisir un répertoire. Chaque page de chaque entité d’atlas est exportée dans un fichier d’image ou SVG tel que défini dans le panneauNote
Avec une sortie multi-page, un atlas se comporte comme une mise en page dans la mesure où seule la page qui contient la Paramètres généraux obtiendra un fichier world (pour chaque sortie d’entité).
Astuce
Imprimer une entité spécifique de l’atlas
Si vous souhaitez imprimer ou exporter la mise en page pour une seule entité de l’atlas, lancez simplement l’aperçu, sélectionner l’entité désirée dans la liste déroulante et cliquez sur le menu
(ou pour n’importe quel format de fichier pris en charge).Utiliser les relations définies par le projet pour la création d’atlas¶
Pour les utilisateurs ayant des connaissances HTML et Javascript, il est possible d’utiliser des objets GeoJSON et d’utiliser les relations définies dans le projet QGIS. La différence entre cette approche et l’utilisation d’expressions directement insérées dans le HTML est qu’elle vous donne une entité GeoJSON complète et non structurée avec laquelle travailler. Cela signifie que vous pouvez utiliser les bibliothèques et fonctions Javascript existantes qui fonctionnent sur les représentations d’entités GeoJSON.
Le code suivant inclut toutes les entités enfants associées via la relation définie. En utilisant la fonction JavaScript setFeature
, cela vous permet de créer du HTML flexible qui représente les relations dans le format que vous souhaitez (listes, tableaux, etc.). Dans l’exemple de code, nous créons une liste à puces dynamique des entités enfants associées.
// Declare the two HTML div elements we will use for the parent feature id
// and information about the children
<div id="parent"></div>
<div id="my_children"></div>
<script type="text/javascript">
function setFeature(feature)
{
// Show the parent feature's identifier (using its "ID" field)
document.getElementById('parent').innerHTML = feature.properties.ID;
//clear the existing relation contents
document.getElementById('my_children').innerHTML = '';
feature.properties.my_relation.forEach(function(child_feature) {
// for each related child feature, create a list element
// with the feature's name (using its "NAME" field)
var node = document.createElement("li");
node.appendChild(document.createTextNode(child_feature.NAME));
document.getElementById('my_children').appendChild(node);
});
}
</script>
Lors de la création de l’atlas, il y aura une itération sur la couche de couverture contenant les entités parentes. Sur chaque page, vous verrez une liste à puces des entités enfants associées suivant l’identifiant du parent.