Créer des couches¶
Les couches peuvent être créées de plusieurs façons, notamment:
couches vides à partir de zéro
couches à partir de couches existantes
couches du presse-papiers
couches à la suite d’une requête de type SQL basée sur une ou plusieurs couches (virtual layers 1)
QGIS fournit également des outils pour importer / exporter de / vers différents formats.
Création de nouvelles couches vectorielles¶
QGIS vous permet de créer de nouvelles couches dans différents formats. Il fournit des outils pour créer des couches GeoPackage, Shapefile, SpatiaLite, GPX et Temporary Scratch (également appelées couches de mémoire). La création d’une new GRASS layer 1 est supportée dans le plugin GRASS.
Création d’une nouvelle couche GeoPackage¶
Pour créer une nouvelle couche GeoPackage, appuyez sur la touche dans le menu ou dans la barre d’outils Data Source Manager. La boîte de dialogue Nouvelle couche GeoPackage sera affichée comme illustré dans figure_create_geopackage.
La première étape consiste à indiquer l’emplacement du fichier de base de données. Pour ce faire, appuyez sur le bouton … à droite du champ Base de données et sélectionnez un fichier GeoPackage existant ou créez-en un nouveau. QGIS ajoutera automatiquement la bonne extension au nom que vous fournissez.
Donnez un nom à la nouvelle couche / table (Nom table)
Définissez le type geometrie. S’il ne s’agit pas d’une couche sans géométrie, vous pouvez spécifier si elle doit Inclure la dimension Z et/ou Inclure les valeurs M.
Spécifiez le système de référence de coordonnées à l’aide du bouton
Pour ajouter des champs à la couche que vous créez:
Entrez le Nom du champ
Sélectionnez le Type. Les types pris en charge sont Texte, Nombre entier (entier et entier64), nombre decimal,:guilabel:Date et Date and time, Binaire (BLOB) et : guilabel:Boolean.
Selon le format de données sélectionné, saisissez Longueur maximale des valeurs.
Reproduisez les étapes ci-dessus pour chaque champ que vous devez ajouter
Une fois que vous êtes satisfait des attributs, cliquez sur OK. QGIS ajoutera la nouvelle couche à la légende, et vous pouvez la modifier comme décrit dans la section Numériser une couche existante.
Par défaut, lors de la création d’une couche GeoPackage, QGIS génère une colonne d’ID d’entité appelée fid
qui agit comme la clé primaire de la couche. Le nom peut être changé. Le champ de géométrie, s’il est disponible, est nommé ``geometry””, et vous pouvez choisir de Créer un index spatial dessus. Ces options se trouvent sous Options avancées avec Identifiant de la couche (nom court et lisible) et Description de la couche.
Une gestion plus approfondie des couches GeoPackage peut être effectuée avec DB Manager 1.
Créer une nouvelle couche Shapefile¶
Pour créer une nouvelle couche au format Shapefile ESRI, appuyez sur le bouton dans le menu ou dans la barre d’outils Data Source Manager. La boîte de dialogue :guilabel:`Nouvelle couche de fichier de formes” s’affiche comme illustré dans figure_create_shapefile.
Fournissez un chemin et un nom de fichier à l’aide du bouton … à côté de Nom de fichier. QGIS ajoutera automatiquement la bonne extension au nom que vous fournissez.
Ensuite, indiquez Encodage de fichier des données
Choisissez le Type de géométrie de la couche (point, multipoint, ligne ou polygone)
Spécifiez si la géométrie doit avoir Z (+ valeurs M) ou :guilabel: valeurs M
Spécifiez le système de référence de coordonnées à l’aide du bouton
Pour ajouter des champs à la couche que vous créez:
Entrez le Nom du champ
Sélectionnez les données Type. Uniquement nombre décimal, nombre entier,:guilabel:Texte et Date sont pris en charge.
Selon le format de données sélectionné, saisissez Longueur et Précision.
Reproduisez les étapes ci-dessus pour chaque champ que vous devez ajouter
Une fois que vous êtes satisfait des attributs, cliquez sur OK. QGIS ajoutera la nouvelle couche à la légende, et vous pouvez la modifier comme décrit dans la section Numériser une couche existante.
Par défaut, une première colonne entière id
est ajoutée mais peut être supprimée.
Créer une nouvelle couche SpatiaLite¶
Pour créer une nouvelle couche SpatiaLite, appuyez sur le bouton dans le menu ou dans la barre d’outils Data Source Manager. La boîte de dialogue Nouvele couche SpatiaLite s’affiche comme illustré dans Figure_create_spatialite.
La première étape consiste à indiquer l’emplacement du fichier de base de données. Pour ce faire, appuyez sur le bouton … à droite du champ Base de données et sélectionnez un fichier SpatiaLite existant ou créez-en un nouveau. QGIS ajoutera automatiquement la bonne extension au nom que vous fournissez.
Donnez un nom (nom de couche) à la nouvelle couche
Définissez le type geometrie. S’il ne s’agit pas d’une couche sans géométrie, vous pouvez spécifier si elle doit Inclure la dimension Z et/ou Inclure les valeurs M.
Spécifiez le système de référence de coordonnées à l’aide du bouton .
Pour ajouter des champs à la couche que vous créez:
Entrez le Nom du champ
Sélectionnez les données Type. Les types pris en charge sont Texte, nombre entier et nombre décimal.
Reproduisez les étapes ci-dessus pour chaque champ que vous devez ajouter
Une fois que vous êtes satisfait des attributs, cliquez sur OK. QGIS ajoutera la nouvelle couche à la légende, et vous pouvez la modifier comme décrit dans la section Numériser une couche existante.
Si vous le souhaitez, vous pouvez sélectionner la Créer une clé primaire auto-incrémentée sous la section :guilabel: Options avancées`. Vous pouvez également renommer la Colonne de géométrie (géométrie
par défaut).
Une gestion plus approfondie des couches SpatiaLite peut être effectuée avec DB Manager 1.
Créer une nouvelle couche GPS¶
Pour créer un nouveau fichier GPX, vous devez d’abord charger le plugin GPS. ouvre la boîte de dialogue Plugin Manager. Cochez la Outil GPS.
Lorsque ce plugin est chargé, choisissez depuis menu . Dans la boîte de dialogue, choisissez où enregistrer le nouveau fichier et appuyez sur Enregistrer. Trois nouvelles couches sont ajoutées au panneau de couches :waypoints
,``routes`` et traces
.
Créer une nouvelle couche temporaire en mémoire¶
Les couches de travail temporaires sont des couches en mémoire, ce qui signifie qu’elles ne sont pas enregistrées sur le disque et seront supprimées à la fermeture de QGIS. Elles peuvent être utiles pour stocker les entités dont vous avez temporairement besoin ou comme couches intermédiaires pendant les opérations de géotraitement.
Pour créer une nouvelle couche memoire temporaire, choisissez le dans le menu :menuelection:`Couche -> Créer couche ->` ou dans la barre d’outils Data Source Manager. La boîte de dialogue Nouvelle couche mémoire temporaire s’affiche comme illustré dans figure_create_temporary. Alors:
Fournissez le Nom couche
Sélectionnez le Type de géométrie. Ici, vous pouvez créer un:
Couche de type
pas de géométrie
, servant de table simple,Couche
Point
ouMultiPoint
,Couche
LineString / CompoundCurve
ouMultiLineString / MultiCurve
,Couche
Polygone / CurvePolygon
ouMultiPolygon / MultiSurface
.
Spécifiez le système de référence de coordonnées à l’aide du bouton .
Par défaut, une nouvelle couche de travail temporaire est créée sans aucun attribut. Vous pouvez les ajouter ultérieurement en utilisant le bouton Nouveau champ dans la boîte de dialogue de la table d’attributs de la couche ou l’onglet Champ de sa boîte de dialogue de propriétés. Vous pouvez également créer des couches de travail temporaires préremplies en utilisant par exemple le presse-papiers (voir Création de nouvelles couches à partir du presse-papiers) ou à la suite d’un algorithme de traitement 1.
Astuce
Stockez en permanence une couche mémoire sur le disque
Pour éviter la perte de données lors de la fermeture d’un projet avec des couches de travail temporaires, vous pouvez enregistrer ces couches dans n’importe quel format vectoriel pris en charge par QGIS:
sélectionner l’entrée Convertir permanent dans le menu contextuel de la couche;
en utilisant l’entrée
du menu contextuel ou le menu .
Chacune de ces commandes ouvre la boîte de dialogue Enregistrer la couche vectorielle sous décrite dans la section Création de nouvelles couches à partir d’une couche existante et le fichier enregistré remplace le fichier temporaire dans le panneau Couches.
Création de nouvelles couches à partir d’une couche existante¶
Les couches raster et vectorielle peuvent être enregistrées dans un format différent et / ou reprojetées dans un système de référence de coordonnées (SCR) différent en utilisant le menu Panneau Couches et en sélectionnant :
ou en cliquant avec le bouton droit sur la couche dans lepour les couches raster
ou pour les couches vectorielles.
Faites glisser et déposez la couche de l’arborescence des couches vers l’entrée PostGIS dans Panneau Navigateur. Notez que vous devez avoir une connexion PostGIS dans Panneau Navigateur.
Paramètres en commun¶
La boîte de dialogue Enregistrer la couche sous … affiche plusieurs paramètres permettant de modifier le comportement lors de l’enregistrement de la couche. Parmi les paramètres communs pour les raster et le vecteur:
Nom fichier: l’emplacement du fichier sur le disque. Il peut faire référence à la couche de sortie ou à un conteneur qui stocke la couche (par exemple, des formats de type base de données tels que GeoPackage, SpatiaLite ou Open Document Spreadsheets).
CRS: peut être modifié pour reprojeter les données
Étendue (les valeurs possibles sont couche, Canevas de carte ou définie par l’utilisateur)
Ajouter un fichier enregistré à la carte: pour ajouter la nouvelle couche au canevas
Certains paramètres sont toutefois spécifiques au format vecteur ou raster:
Paramètres spécifiques au raster¶
Selon le format d’exportation, certaines de ces options peuvent ne pas être disponibles:
Mode de sortie (il peut s’agir de données brutes ou image rendue)
Format: exporte vers n’importe quel format raster sur lequel GDAL peut écrire, comme GeoTiff, GeoPackage, MBTiles, PDF géospatial, SAGA GIS Binary Grid, Intergraph Raster, ESRI .hdr Labeled …
Résolution
Options création: utilisez des options avancées (compression de fichier, tailles de blocs, colorimétrie …) lors de la génération de fichiers, soit à partir de predefined create profiles 1 liés au format de sortie ou en définissant chaque paramètre.
création de Pyramides
valeurs No data
Paramètres spécifiques au vecteur¶
Selon le format d’exportation, certaines de ces options peuvent être disponibles:
Format: exporte vers n’importe quel format vectoriel auquel GDAL peut écrire, tel que GeoPackage, GML, ESRI Shapefile, AutoCAD DXF, ESRI FileGDB, Mapinfo TAB ou MIF, SpatiaLite, CSV, KML, ODS, …
Nom de la couche: disponible lorsque le Nom du fichier fait référence à un format de type conteneur, cette entrée représente la couche de sortie.
Encoding
Enregistrer uniquement les entités sélectionnées
Sélectionnez les champs à exporter et leurs options d’exportation. Dans le cas où vous définissez le comportement de vos champs avec certains Edit widgets 1, par ex.
value map
, vous pouvez conserver les valeurs affichées dans la couche en cochant Remplacer toutes les valeurs des champs bruts sélectionnés par les valeurs affichées.Exporter la symbologie : peut être utilisé principalement pour l’export en DXF et pour tous les formats de fichiers qui gèrent les styles d’entités OGR (voir la remarque ci-dessous) comme le KML, TAB…
Pas de symbologie : Style par défaut dans l’application qui lit les données
Symbologie de l’entité : Enregistre le style avec les styles d’entités OGR (voir la remarque ci-dessous)
Symbologie de la couche de Symboles : Enregistre avec les styles d’entités OGR (voir la remarque ci-dessous), mais exporte la même géométrie plusieurs fois si plusieurs symbologies de symboles sont utilisées
Une valeur d’échelle peut être appliquée aux dernières options
Note
Les styles d’entités OGR sont un moyen de stocker le style directement dans les données en tant qu’attribut caché. Seuls certains formats peuvent gérer ce type d’informations. Les formats de fichiers KML, DXF et TAB sont de tels formats. Pour des détails avancés, vous pouvez lire le document OGS Feature Styles Specification <https://gdal.org/user/ogr_feature_style.html> _ _ .
Geometry: vous pouvez configurer les capacités géométriques de la couche de sortie
type geometrie: conserve la géométrie d’origine des entités lorsqu’elle est définie sur Automatique, sinon la supprime ou la remplace avec n’importe quel type. Vous pouvez ajouter une colonne de géométrie vide à une table attributaire et supprimer la colonne de géométrie d’une couche spatiale.
Force multi-type: force la création d’entités multi-géométriques dans la couche.
Inclure la dimension z aux géométries.
Astuce
La substitution du type de géométrie de la couche permet de faire des choses comme enregistrer une table sans géométrie (par exemple: fichier: fichier .csv) dans un fichier de formes AVEC tout type de géométrie (point, ligne, polygone), de sorte que les géométries peuvent ensuite être ajoutées manuellement aux lignes avec l’outil Add Part.
Options de source de données, Options de couche ou Options personnalisees qui vous permettent de configurer des paramètres avancés en fonction du format de sortie. Certains sont décrits dans Découvrir les formats de données et de champs mais pour plus de détails, consultez la documentation du pilote` GDAL <https://gdal.org> `_.
Lors de la sauvegarde d’une couche vecteur dans un fichier existant, et selon les capacités du format ciblé (ex GeoPackage, SpatiaLite, FileGDB… ), l’utilisateur peut se voir offrir différentes options telles que:
écraser tout le fichier
écraser uniquement la couche cible (le nom de la couche est configurable)
ajouter des entités à la couche cible existante
ajouter des entités, ajouter de nouveaux champs s’il y en a.
Pour les formats comme ESRI Shapefile, MapInfo .tab, l’ajout d’entite est également disponible .
Création de nouveaux fichiers DXF¶
Outre la boîte de dialogue Enregistrer sous … qui fournit des options pour exporter une seule couche vers un autre format, notamment :fichier:`* .DXF`, QGIS fournit un autre outil pour exporter plusieurs couches en une seule couche DXF. Il est accessible dans le menu .
Dans la boîte de dialogue Export DXF:
Fournissez le fichier de destination.
Choisissez le mode de symbologie et l’échelle (voir la note OGR Feature Styles 1), le cas échéant.
Sélectionnez les données Encoding.
Sélectionnez le SCR à appliquer : les couches sélectionnées seront reprojetées dans le SCR donné.
Sélectionnez les couches à inclure dans les fichiers DXF en les archivant dans le widget de table ou en les sélectionnant automatiquement à partir d’un map theme 1. Les boutons Sélectionner tout et Désélectionner tout peuvent aider à définir rapidement les données à exporter.
Pour chaque couche, vous pouvez choisir d’exporter toutes les entités dans une seule couche DXF ou de vous fier à un champ dont les valeurs sont utilisées pour diviser les entités en couches dans la sortie DXF.
En option, vous pouvez également choisir de:
Utiliser le titre de la couche comme nom s’il est défini au lieu du nom de la couche elle-même;
Exporter les entités intersectant l’étendue actuelle de la carte;
Forcer la sortie 2d (par exemple pour prendre en charge la largeur de polyligne);
Exporter l’étiquette en tant qu’éléments MTEXT ou éléments TEXT.
Création de nouvelles couches à partir du presse-papiers¶
Les entités présentes dans le presse-papiers peuvent être collées dans une nouvelle couche. Pour ce faire, sélectionnez certaines entités, copiez-les dans le presse-papiers, puis collez-les dans une nouvelle couche en utilisant
et en choisissant:Nouvelle couche vecteur …: la boîte de dialogue Sauvegarder la couche vecteur sous … apparaît (voir Création de nouvelles couches à partir d’une couche existante pour les paramètres)
ou :guilabel:`Couche mémoire temporaire … “: vous devez fournir un nom pour la couche
Une nouvelle couche, remplie d’entités sélectionnées et de leurs attributs, est créée (et ajoutée au canevas de carte).
Note
La création de couches à partir du presse-papiers est possible avec des entités sélectionnées et copiées dans QGIS ainsi qu’avec des entités d’une autre application, tant que leurs géométries sont définies à l’aide d’un texte bien connu (WKT).
Création de couches virtuelles¶
Une couche virtuelle est un type spécial de couche vectorielle. Il vous permet de définir une couche comme résultat d’une requête SQL impliquant un nombre quelconque d’autres couches vectorielles que QGIS est capable d’ouvrir. Les couches virtuelles ne transportent pas de données par elles-mêmes et peuvent être vues comme des vues.
Pour créer une couche virtuelle, ouvrez la boîte de dialogue de création de couche virtuelle en:
enabling the Add Virtual Layer tab in the Data Source Manager dialog;
ou en utilisant l’arborescence de dialogue DB Manager.
La boîte de dialogue vous permet de spécifier un nom de couche et une requête SQL. La requête peut utiliser le nom (ou id) des couches vectorielles chargées comme tables, ainsi que leurs noms de champ comme colonnes.
Par exemple, si vous avez une couche appelée airports
, vous pouvez créer une nouvelle couche virtuelle appelée public_airports
avec une requête SQL comme:
SELECT *
FROM airports
WHERE USE = "Civilian/Public"
La requête SQL sera exécutée, quel que soit le fournisseur sous-jacent de la couche airports
, même si ce fournisseur ne prend pas directement en charge les requêtes SQL.
Des jointures et des requêtes complexes peuvent également être créées, par exemple, pour joindre des informations sur les aéroports et les pays:
SELECT airports.*, country.population
FROM airports
JOIN country
ON airports.country = country.name
Note
Il est également possible de créer des couches virtuelles en utilisant la fenêtre SQL de Extension DB Manager.
Incorporation de couches à utiliser dans les requêtes¶
Outre les couches vectorielles disponibles dans le canevas de carte, l’utilisateur peut ajouter des couches à la liste Couches intégrées, qui peuvent être utilisées dans les requêtes sans qu’il soit nécessaire de les afficher dans le canevas de carte ou le panneau Couches.
Pour incorporer une couche, cliquez sur Ajouter et fournissez Nom local, Fournisseur, Encodage et le chemin vers Source.
Le bouton Import permet d’ajouter des couches dans le canevas de carte dans la liste des couches intégrées. Ces couches peuvent ensuite être supprimées du panneau Couches sans interrompre les requêtes existantes.
Langage de requête pris en charge¶
Le moteur sous-jacent utilise SQLite et SpatiaLite pour fonctionner.
Cela signifie que vous pouvez utiliser tout le SQL que votre installation locale de SQLite comprend.
Les fonctions de SQLite et les fonctions spatiales de SpatiaLite peuvent également être utilisées dans une requête de couche virtuelle. Par exemple, la création d’une couche de points à partir d’une couche d’attribut uniquement peut être effectuée avec une requête similaire à:
SELECT id, MakePoint(x, y, 4326) as geometry
FROM coordinates
Functions of QGIS expressions 1 peuvent également être utilisées dans une requête de couche virtuelle.
Pour référencer la colonne de géométrie d’une couche, utilisez le nom geometry
.
Contrairement à une requête SQL pure, tous les champs d’une requête de couche virtuelle doivent être nommés. N’oubliez pas d’utiliser le mot-clé as
pour nommer vos colonnes si elles sont le résultat d’un calcul ou d’un appel de fonction.
Les problèmes de performance¶
Avec les paramètres par défaut, le moteur de couche virtuel fera de son mieux pour détecter le type des différentes colonnes de la requête, y compris le type de la colonne de géométrie, le cas échéant.
Cela se fait en introspectant la requête lorsque cela est possible ou en récupérant la première ligne de la requête (LIMIT 1) en dernier recours. La récupération de la première ligne du résultat juste pour créer la couche peut être indésirable pour des raisons de performances.
Les paramètres de la boîte de dialogue de création:
Colonne identifiant unique: spécifie un champ de la requête qui représente des valeurs entières uniques que QGIS peut utiliser comme identificateurs de ligne. Par défaut, une valeur entière à incrémentation automatique est utilisée. La définition d’une colonne d’identifiant unique accélère la sélection des lignes par id.
pas de geometrie: force la couche virtuelle à ignorer tout champ de géométrie. La couche résultante est une couche uniquement attributaire.
Geometry Colonne: spécifie le nom de la colonne de géométrie.
Type de géométrie : spécifie le type de la géométrie.
CRS Géométrie : spécifie le système de référence de coordonnées de la couche virtuelle.
Commentaires spéciaux¶
Le moteur de couche virtuelle tente de déterminer le type de chaque colonne de la requête. S’il échoue, la première ligne de la requête est extraite pour déterminer les types de colonne.
Le type d’une colonne particulière peut être spécifié directement dans la requête en utilisant des commentaires spéciaux.
La syntaxe est la suivante: /*:type*/
. Il doit être placé juste après le nom d’une colonne. type
peut être soit int
pour les entiers, réel
pour les nombres à virgule flottante ou texte
.
Par exemple:
SELECT id+1 as nid /*:int*/
FROM table
Le type et le système de référence de coordonnées de la colonne de géométrie peuvent également être définis grâce à des commentaires spéciaux avec la syntaxe suivante /*:gtype:srid*/
où gtype
est le type de géométrie (point
, linestring
, polygon
, multipoint
, multilinestring
ou multipolygon
) et srid
un entier représentant le code EPSG d’un système de référence de coordonnées.
Utilisation d’index¶
Lorsque vous demandez une couche via une couche virtuelle, les indexs de couche source seront utilisés de la manière suivante:
si un prédicat
=
est utilisé sur la colonne de clé primaire de la couche, le fournisseur de données sous-jacent sera invité à fournir un identifiant particulier (FilterFid)pour tout autre prédicat (
>
,<=
,! =
, etc.) ou sur une colonne sans clé primaire, une requête construite à partir d’une expression sera utilisée pour demander le sous-jacent fournisseur de données vectorielles. Cela signifie que les index peuvent être utilisés sur les fournisseurs de bases de données s’ils existent.
Une syntaxe spécifique existe pour gérer les prédicats spatiaux dans les requêtes et déclenche l’utilisation d’un index spatial: une colonne cachée nommée _search_frame_
existe pour chaque couche virtuelle. Cette colonne peut être comparée pour l’égalité à une boîte englobante. Exemple:
SELECT *
FROM vtab
WHERE _search_frame_=BuildMbr(-2.10,49.38,-1.3,49.99,4326)
Les prédicats binaires spatiaux comme ST_Intersects
sont accélérés de manière significative lorsqu’ils sont utilisés en conjonction avec cette syntaxe d’index spatial.