Note sur la création de la base de données géographique
Par JC Desconnets jcd@teledetection.fr Préambule : Cette note détaille les opérations nécessaires pour créer une nouvelle base de données géographique et y insérer les couches vecteurs (shapefile) utilisées dans le client cartographique de MDweb. Elle donne aussi utiliser l’éditeur de carte, notamment le choix des couches à afficher, leurs propriétés d’affichage et leur légende. Accès au module de gestion de la base de données géo Création d’une base de données géographique Modification d’une base de données géographique Suppression d’une base de données géographique Configuration de la connexion à la base de données géographique Utilité et utilisation de la base de données géographiques pour le client cartographique La base de données géographique qui est associée à MDweb héberge les couches d’informations géographiques que l’on souhaite visualiser dans le moteur de recherche et de saisie cartographique. Ces couches d’information au sein du client cartographique sont le support :
Pour proposer à l’utilisateur tant en saisie qu’en recherche les objets géographiques pertinents, il est nécessaire de définir un ensemble de couches d’information représentant les objets géographiques d’intérêt du projet de catalogage sur lesquels pourront être référencés les jeux de données. A travers, son module de création et de gestion de la base de données géographique, MDweb permet lors de la mise en place de l’outil, de créer une base de données, insérer les couches d’informations sans avoir une connaissance de système de gestion PostgreSQL/PostGIS, puis de configurer le client cartographique. Limites actuelles Limites pour la construction de la base de données La création de la base de données géographiques doit être réalisée à partir de fichiers de forme (ou couche vecteur) au format shape d’ESRI sur des données géoréférencées dans un système de projection. Les fichiers shapes doivent être accompagnés de leur fichier de définition de projection *.proj. Il faut garder à l’esprit que le module cartographique de MDweb n’est pas un module de navigation et de visualisation détaillée mais bien un support à la saisie d’emprise spatiale et à la recherche de données par localisation. Ces deux dernières fonctions nécessitent bien de considérer les objets d’intérêts nécessaires mais de rend pas indispensable une précision de représentation très élevée. Limites du module de gestion de la base de données géographiques La base de données géographiques est construite en s’appuyant sur PostgreSQL/PostGIS. Lors de la création ou de la modification de la base de données géographiques, le serveur hébergeant MDweb et le serveur hébergeant la base de données doit être le même. Par, ailleurs, les bibliothèques GEOS et PROJ4 doivent être installées ainsi que l’exécutable proj et invproj. En effet, les scripts qui assurent la création, la modification de la base de données sont réalisés par l’exécution de commandes SQL à travers les scripts PHP. Le module a été implémentée et tester uniquement sur PostgreSQL/Postgis 8.1 et 8.2 sous Windows et sous linux. Il permet d’insérer uniquement des fichiers shape projetés (utilisation de la fonction shp2psql). Du fait de l’exécution des fonctions PostgreSQL par PHP, le temps d’exécution des commandes postgres est tributaire de la directive php.ini max_execution_time que l’on doit régler à 180 s. Pour cela, l’insertion de fichier shape volumineux risque d’être problématique. L’accès au module de gestion de la base de données géographique n’est possible que si vous êtes connecté dans MDweb en tant qu’administrateur. Vous devez accéder au module d’administration de MDweb. L’ensemble des fonctionnalités du module sont accessibles par l’élément ‘BD Géo’ du menu administrateur
Le module de gestion de la base de données géographiques propose cinq grandes fonctions : · Ajouter : pour créer une nouvelle base de données géographiques · Modifier : pour insérer ou supprimer des couches d’information dans une base de données géographique existante · Supprimer une base de données géographique · Configuration de la connexion : assure le paramétrage de la connexion à un serveur PostgreSQL et à une base de données géographique qui sera utilisée pour le client cartographique · Editeur cartographique : Editeur cartographique permettant de composer les couches qui apparaîtront (et leur légende) dans le client cartographique. · Mise à jour BDs spatiale – thésaurus : assure la mise à jour de la table ‘hierarchiespatiale’ avec les termes de type « spatial » du thésaurus d’application. Pour plus de précision, reportez vous à la note sur la gestion du thésaurus). - Ce module permet de créer une nouvelle base de données géographique sous PostgreSQL/PostGIS. Pour permettre, l’utilisation de ce module, la cartouche spatiale PostGIS doit être installée sur votre serveur PostgreSQL. Lors de la création d’une base de données géographique, les scripts MDweb exécutent les commandes SQL et utilisent les fichiers lwpostgis.sql, spatial_ref_sys.sql de PostGIS. Table créées et utilité Les tables créées dans la base de données géographiques. Par défaut, lors de la création d’une base de données hébergeant des objets géographiques de type GEOM, PostgreSQL créée deux tables : · geometry_columns qui référence toutes les tables comportant de la géométrie (champ de type GEOM) et leurs caractéristiques · spatial_ref_sys qui contient la définition des systèmes de projection. Pour les besoins de MDweb, trois autres tables sont créées : · objet_geom : qui contient les objets géographiques servant à la définition des emprises des fiches de métadonnées de votre catalogue · metadata_link : table qui permet de faire le lien entre les identifiants des fiches de métadonnées et les emprises (géométrie) stockées dans la table objet_geom · hierarchiespatiale : table permettant de stocker la hiérarchie entre les couches contenues dans la base géographique. Cette hiérarchie sera utilisée pour visualiser les couches d’information dans le module cartographique. Création de la base de données à partir du module ‘BD Géo’ de MDweb 1. Accédez à la page Ajouter une base de données géographique à partir du menu du module administration
2. Compléter le formulaire proposé en
contrôlant la validité des valeurs par défaut. Si ces valeurs ne conviennent
pas, vous pouvez les modifier afin de permettre la bonne exécution de la
création. Il faudra dans une deuxième étape, modifier la configuration par
défaut de la connexion à la base de données géographiques en allant à la page
‘Connexion à
7 champs sont proposés pour permettre la création de la base de données : · Adresse IP du SGBD : Nom ou adresse IP du serveur hébergeant la base de données géographique. · Port TCP/IP du SGBD : Numéro du port d’accès au serveur de base de données. Par défaut, le port est 5432. · Compte utilisateur : Nom de l’utilisateur pouvant accéder à la base de données géographique. Il doit avoir les droits en écriture sur la base de données. Il doit aussi pouvoir créer une base de données. · Mot de passe : Mot de passe de l’utilisateur. · Nom de la base de données géographique : vous devez choisir un nom qui ne comporte pas d’espace, ni de caractères spéciaux ( ? ; : ! & etc.) · Chemin absolu du fichier lwpsotgis.sql : le chemin absolu doit comporter le nom du lecteur pour une installation Windows. Normalement, ce fichier se trouve dans le répertoire share/contrib/ de votre installation PostgreSQL. Si ce n’est pas cela signifie que la cartouche spatiale PostGIS n’est pas installée. Ce fichier est strictement nécessaire à la bonne exécution des scripts de création. · Chemin absolu du fichier spatial_ref_sys.sql : chemin absolu doit comporter le nom du lecteur pour une installation Windows. Normalement, ce fichier se trouve dans le répertoire share/contrib/ de votre installation PostgreSQL. Ce fichier est strictement nécessaire à la bonne exécution des scripts de création. 3. Après avoir compléter, Envoyer le formulaire, une nouvelle page apparaît pour finaliser la création de la base de données géographique.
4. choix du srid ou identifiant du système de projection. Vous devez donner le srid du système de projection utilisé. Il s’agit d’un identifiant numérique unique. Ils sont définis dans la table spatial_ref_sys de votre base de données. a) Le champ ‘identifiant du système de référence…’ vous permet d’accéder à la liste des srid stockés et de choisir celui qui est approprié (le même que celui de votre fichier *.proj).
En cliquant sur un des élément de la liste, vous compléter automatiquement les deux champ ‘identifiant du système de référence ..’ et ‘description du système..’
Ou b) charger le fichier de définition de projection de votre fichier shape à partir du bouton ‘parcourir’ c) envoyer le formulaire Aide à l’identification du srid : le srid n’est pas contenu dans le fichier de définition de votre shape, par contre, il contient le nom du système de projection
Vous pouvez chercher le srid du système de projection sur le site de OGP Surveying & Positionning Commitee (www.epsg.org) rubrique EPSG Geodetic Parameter Dataset. Dans le cas, où votre système n’est pas référencé dans cet organisme, il en existe d’autres dont ESRI, nous fournissons un fichier srid.sql en téléchargement qui contient un complément de système. Une recherche textuelle avec le nom de votre système vous permettra sans doute trouver le srid correspondant dans ce fichier. Il est situé dans les scripts de MDweb: create_geo_db/srid.sql 1. Accédez à la page Modifier la base de données géographique à partir du menu du module administration
Insertion d’une nouvelle couche d’information géographique 2. cliquez sur le bouton Modifier pour accéder aux champs qui vous permettront de charger le fichier shape et ses fichiers associés (shx, dbf)
3. insérer les chemins du shapefile que vous souhaitez insérer dans la base. Trois fichiers sont nécessaires à l’importation : · Le fichier de forme shp · Le fichier d’index shx · Le fichier contenant les attributs dbf. Note : Le fichier dbf doit présenter obligatoirement une colonne appelée ‘toponyme’ de type ‘text’ de 50 caractères maximum. Cette colonne est utilisée pour l’affichage du toponyme. 4. Vous devez ensuite définir un nom pour la table qui sera créée dans la base de données. Ce nom de table sera ensuite utilisé lors de l’édition du client cartographique. 5. Envoyez votre formulaire complété. Remarque : L’insertion d’une couche d’information est permise pour une couche d’information déjà projetée dans un système et accompagné de son fichier de définition de projection *.proj Suppression d’une couche d’information géographique La suppression d’une table dans une base de données se fait par l’intermédiaire de la même page que l’insertion 1. Accédez à la page Modifier la base de données géographique à partir du menu du module administration
2. Choisir la base de données sur laquelle vous souhaitez réaliser la suppression
3. Supprimer la table que vous souhaitez. La suppression est définitive.
1. Accédez à la page Supprimer la base de données géographique à partir du menu du module administration
3. Choisir la base de données que vous souhaitez supprimer.
3. Valider. La suppression est définitive Ce module assure le paramétrage de la connexion à un serveur PostgreSQL et à une base de données géographique qui sera utilisée pour le client cartographique. Son exécution réécrit les valeurs des variables de connexion contenues dans le fichier config/config.inc.carto.php. Vous y accéder par l’élément BD Géo > Configuration > Connexion BD Géo
Vous accéder à un formulaire qui va vous permettre de modifier la configuration courante ou par défaut.
7 champs permettent le paramétrage de la connexion à la base de données géographique :
Après modification et vérification des valeurs saisies dans les champs, valider avec le bouton ‘création du fichier de configuration du module géographique’ Après cette opération, le fichier config/config.inc.carto.php sera modifié. Remarque : pour que cette opération s’effectue correctement, il est indispensable que l’utilisateur ‘apache’ (utilisateur du service httpd) ait les droits en écriture sur le répertoire où sont stockés les scripts de MDweb Contacts
IRD / US ESPACE (US 140) 500, rue Jean François Breton, 34093 Montpellier Cedex 05 TEL : +33 (0)4 67 54 87 02 J.C Desconnets jcd@teledetection.fr Site du projet MDweb : www.mdweb-project.org Démonstrateur en ligne : demo.mdweb-project.org |