L’instant WIK’IMPULS’ !
De l’unicité des données et de leur importance…
On croise souvent au sein des bases de données SIG ou des bases de fichiers, des listes de couches qui ne sont que des duplicatas d’une première et seule couche, découpée au gré des besoins en termes de découpage territoriale, ou d’ajouts/suppressions de champs
Il en résulte une donnée :
dont on ne connait plus vraiment l’intégrité, l’origine, la source et la cause de découpage,
difficile à mettre à jour,
qui alourdit les bases de données et serveurs de fichiers, en poids et en organisation.
Principe fondamental pour l’administration des bases de données : l’unicité des données !
Une base de données ou une base fichiers ne doit pas contenir de données redondantes ou identiques !
Une couche de données doit rester la plus large possible en termes de couverture géographique et de champs, en ce qui concerne son stockage en base ou en fichier.
Le découpage géographique ou informatif (champs), se fera sous forme de requête, via le SGBD ou le logiciel SIG.
Dans ce tutoriel, nous traiterons cette limitation de données via le logiciel SIG. Mais il peut être fait directement en base de données (avec une bonne indexation les performances seront meilleures), par la création de vues.
Problématique du jour
On dispose d’une couche de données SIG représentant le découpage administratif des départements de France.
On souhaite réaliser une carte ne représentant que les départements de la région « Auvergne Rhône Alpes ».
Cette cartographie va être réalisée via le logiciel SIG QGIS. Sans découpage de la couche de données des départements, mais par affichage d’un sous-ensemble de cette couche de données.
Les pré-requis
Ce tutoriel admet donc comme pré-requis :
l’installation préalable du logiciel SIG QGIS. QGIS est un logiciel SIG libre et open source,
la détention d’une couche de données géographiques, contenant des objets SIG et gérée par QGIS.
Ce tutoriel utilise la couche de données « GEOFLA® Départements » sur le territoire de la France Métropolitaine, au format PostGIS.
Suivre le tutoriel pas à pas…
Étape 2 - Ouvrir les données SIG dans QGIS
Ces manipulations peuvent être effectuées avec toute couche de données vectorielles gérée par QGIS : fichiers Shapefile (ESRI), MapInfo…, bases de données spatiales de type PostGIS…
Pour ouvrir une couche de données vectorielles, utiliser la barre d’outils dédiée
Pour en savoir + et apprendre à afficher des données vectorielles Shapefile ou PostgreSQL/PostGIS dans QGIS, Impuls’Map a créé 2 tutoriels dédiés :
« Afficher des données vecteur dans QGIS »
« Afficher des données PostGIS dans QGIS »
La couche de données – ici des départements français – s’affiche dans la fenêtre de visualisation cartographique de QGIS et il est possible de consulter les données attributaires grâce à la fonction « Ouvrir la table d’attributs ».
Étape 3 - Définir le sous-ensemble de données à afficher
N’afficher qu’une partie des données d’une couche revient à n’afficher qu’un sous-ensemble de données de la couche.
Dans la rubrique « Couches » de QGIS > sélectionner la couche dont on souhaite afficher les propriétés > double-cliquer sur la couche / clic-droit « Propriétés » / Menu « Couche », cliquer sur « Propriétés ».
Dans la fenêtre « Propriétés » → aller dans l’onglet « Général » qui contient les informations générales de la couche : source, système de projection, échelles de visibilité, sous-ensemble…
On peut, dans l’onglet « Général » des « Propriétés » de la couche « GeoflaDepartement » définir le sous-ensemble de données « Auvergne Rhône-Alpes » à afficher.
Étape 4 - Le constructeur de requête
La petite pause Wik’Impuls’ !!
La définition du sous-ensemble de données à afficher s’effectue en réalisant une requête attributaire sur les données de la couche.
Pour ce tutoriel, on souhaite afficher les départements de France qui appartiennent aux régions Auvergne et Rhône-Alpes.
On va donc effectuer une requête (sélection) attributaire à partir du champ « nom_reg » qui précise pour chaque département sa région d’appartenance, en ne conservant que ceux qui appartiennent à la région Rhône-Alpes OU à la région Auvergne.
Dans l’onglet « Général » > Section « Sous-ensemble » > cliquer sur « Constructeur de requête »
Étape 5 - Construire la requête
L’étape suivante consiste à écrire la requête qui va permettre de filtrer le sous-ensemble de données à afficher.
Dans le « Constructeur de requête », et à l’aide des sections « Champs », « Valeurs » et « Opérateurs »… on écrit la requête permettant de sélectionner tous les objets de la couche « GeoflaDepartements » dont le nom de la région est égal à « Auvergne » OU à « Rhône-Alpes »
c’est à dire, traduit en langage SQL → WHERE « nom_reg » = ‘AUVERGNE’ OR « nom_reg » = ‘RHONE-ALPES’
Étape 6 - Les astuces du constructeur de requête
Pour ajouter un champ dans la section « Expression » > Se positionner dans la section « Champs », et double-cliquer sur le champ souhaité
Pour ajouter un opérateur (=, <, >, LIKE…) dans la section « Expression » > Se positionner dans la section « Opérateurs », et effectuer un simple clic sur l’opérateur souhaité
Pour connaître toutes les valeurs prises par un champ de données au sein d’une couche, se positionner dans la section « Champs » > sélectionner le champ ciblé > se positionner ensuite dans la section « Valeurs » et > cliquer sur « Tout ». Cliquer sur « Échantillon » ne délivrera qu’un aperçu partiel des valeurs pouvant être prises par ce champs.
Pour ajouter une valeur listée dans la section « Valeurs » au sein de la section « Expression » > double-cliquer sur cette valeur.
Étape 7 - Tester et valider la requête
Une fois que la requête permettant de définir le sous-ensemble de données à afficher, est écrite :
Il est possible de tester la validité de la requête SQL avant de la valider en cliquant sur « Tester ».
Une fenêtre « Résultat de requête » s’ouvre et indique la validité de la requête ainsi que le nombre d’objets sélectionnés.
Pour valider ensuite la requête > cliquer sur « OK »
Étape 9 - Résultat cartographique et attributaire
Dans l’interface cartographique de QGIS, la carte n’affiche plus que les objets correspondants à la requête attributaire du sous-ensemble.
Si on ouvre les données attributaires, seules sont présentes les données décrivant ces objets.
Pour cet exemple, l’interface de cartographique et les données attributaires n’affichent plus les départements appartenant aux régions Auvergne et Rhône-Alpes.
Étape 10 - Le + des données « bases de données »
Pour les couches de données issues de bases de données (telles que PostgreSQL/PostGIS), il est possible d’effectuer la sélection du sous-ensemble à afficher dès l’ouverture de la couche.
Lors de l’ajout de la couche, puis de la connexion à la base de données – exemple pour ce tutoriel effectué avec la base de données PostGIS « Bd Tutoriel » –
Dans le schéma souhaité – ici le schéma « public » – double-cliquer sur la couche souhaitée – ici « GeoflaDepartement » – , le « Constructeur de requête » s’ouvre.
Suivre ensuite une méthodologie identique aux étapes décrites ci-dessus.
Ce tutoriel est terminé !!
La définition d’un sous-ensemble de données à permis de restreindre les données utilisées pour un traitement cartographique, sans modification ou duplication de la couche de données initiale.
Cette méthode permet de toujours conserver le principe d’unicité des données au sein des bases de données ou des serveurs de fichiers.
Ce tutoriel a été réalisé avec le logiciel QGIS 2.8.1-Wien
Pour en savoir plus + sur le projet QGIS → www.qgis.org
Les données utilisées pour réaliser ce tutoriel sont une extraction de la couche de données GEOFLA® Départements au 21 juillet 2015, sur le territoire français, produites par l’IGN.
Elles sont téléchargeables sur la « Plateforme ouverte des données publiques françaises » – « data.gouv.fr » → Données GEOFLA Départements
Vous avez aimé ?
Alors dites-le avec des , des likes, des tweets, des shares et des commentaires … !
On vous gâte…
Toujours + de tutoriels Impuls’Map !!
Tutoriel video by Impuls’Map pour apprendre à créer une carte web interactive, à partir de la librairie javascript Leaflet et exploitant des données geojson stockées dans des fichiers externes
Grâce à ce tutoriel, vous allez apprendre à créer un trigger pour pouvoir enregistrer et suivre les mises à jour effectuées au sein d’une base de données PostgreSQL. Et comme Impuls’Map est dédié aux SIG, nous effectuerons ce tutoriel au sein d’une base de données détenant l’extension spatiale PostGIS et à partir de données à dimension géographique, exploitables dans un SIG.