1 / 39

Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française. Plan de la présentation. Contexte : pourquoi PostgreSQL/PostGIS? Fonctionnalités Client / Serveur Résultats / Conclusions Autres applications de PostgreSQL/PostGIS à l’IGN France.

haines
Download Presentation

Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française IGN DT/DSL

  2. Plan de la présentation • Contexte : pourquoi PostgreSQL/PostGIS? • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications de PostgreSQL/PostGIS à l’IGN France IGN DT/DSL

  3. Contexte :Pourquoi PostgreSQL/PostGIS ? • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications IGN DT/DSL

  4. Contexte : bases de données avant 2002 • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications BDTopo: • Vocation :référentiel géographique 3D de haute précision • Thèmes: réseau routier, réseau ferré, réseau hydrographique, bâtiments, végétation, surfaces administratives … • Sources: restitution sur photographies aériennes • Constitution de 1990 à 2006 – 2007 • Échelle : > 1/10 000 • Précision :  2 m IGN DT/DSL

  5. Contexte : bases de données avant 2002 • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications Géoroute • Vocation : calcul d’itinéraires, navigation embarquée, géocodage. • Thèmes:réseau routier, restrictions de circulation, équipement (hôpital, police …) … • Couvre les zones urbaines ; des données moyenne échelle assure le lien entre ces zones. • Sources hétérogènes : • BDTopo • Cadastre • BDCarto • Constitution entre 1995 et 2000. • Echelle : > 1/20 000 • Précision :  10 m IGN DT/DSL

  6. Contexte : bases de données avant 2002 BDCarto • Vocation : référentiel moyenne échelle • Thèmes: réseau routier, réseau hydrographique, occupation du sol, limite administrative … • Sources : vectorisation de carte (échelle 1/50 000) • Constitution entre 1986 et 1993 • Echelle : 1/100 000 • Précision :  30 m • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications IGN DT/DSL

  7. Contexte : éléments techniques • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications IGN DT/DSL

  8. Nouvelle étape : la mise à jour en continue • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • Nouvel objectif : mise à jour en continue pour la BDTopo, Géoroute et BDCarto. • Principe : • Collecter l’information de mise à jour une seule fois. Principales sources : • Partenaires (gestionnaires de réseaux, administrations locales, pompiers, ...) • Collecte • La propager dans les bases. • Mise à jour décentralisée : • 7 unités de production (5 en dehors de Paris) • 120 collecteurs IGN DT/DSL

  9. Géoroute BDTopo BDUni 2002 : un nouveau projet • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • Objectifs : • Unification: • Rendre la mise à jour plus facile • Conserver les avantages des 2 produits • Implémentation d’un nouveau système pour sauvegarder, gérer et mettre à jour les bases de données vecteur de l’IGN : • Bases d’un seul bloc sur la France métropolitaine • Mise à jour décentralisée • Possibilité de travailler sur le terrain (déconnecté) IGN DT/DSL

  10. 2002 : un nouveau projet • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications IGN DT/DSL

  11. Première approche • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • Un marché touffu : • Technologies variées (Oracle, ESRI, IBM, Oracle, GéoConcept…) • Coûts variés • Définition des besoins : • Etape difficile par manque d’expérience du projet et des équipes de production.  Nous n’avions pas assez d’expérience pour rédiger l’appel d’offre • Un existant IGN : • Grande utilisation du SIG Géoconcept (production, mise à jour, développement) • PostgreSQL utilisé par une autre équipe IGN IGN DT/DSL

  12. 2004 : Prototypage • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • Objectifs : • Augmenter les compétences techniques de l’équipe • Mieux définir le besoin • Recherche d’une IHM et d’un protocole opératoire • Point de départ : • Client = SIG Géoconcept • Serveur = PostgreSQL/PostGIS (gratuit, facile à apprendre et compétence à l’IGN) • Client – Serveur communication = A développer IGN DT/DSL

  13. Synchronisation Synchronisation BDUni France entière PostgreSQL / PostGIS Synchronisation Synchronisation 2004 : Prototypage • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications Géoconcept Géoconcept Géoconcept Géoconcept • Développement d’un outil permettant de synchroniser les données entre les n clients et le serveur • Tests de PostgreSQL (transaction) • Les utilisateurs sont impliqués dans le suivi / guidage des développements IGN DT/DSL

  14. 2005 - 2006: industrialisation et production • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • Le prototype donne de bons résultats (coût, besoins, IHM…) Industrialisation du prototype : • Traitement des cas difficiles • Paramétrages fins • Test du système (bases de données massives) • Vérification d’aptitude • Production : • Printemps 2006 : montée en base de l’agglomération parisienne • 03/2008 : toute la France métropolitaine sur le système IGN DT/DSL

  15. Fonctionnalités client – serveur • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications IGN DT/DSL

  16. GCVS: principes BDUni France entière PostgreSQL / PostGIS • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications GCVS SIG du collecteur (Géoconcept) • GCVS = Geographic Concurrent Versioning System • Développement avec visual C++ (utilisation du pilote ODBC) • 3 principales fonctions accessibles depuis Géoconcept : • Montée en base des données • Extraction des données • Synchronisation des clients IGN DT/DSL

  17. Géoconcept GCVS : montée en base  Prend les données sous Géoconcept et les charge sur le serveur PostgreSQL • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications BDUni PostgreSQL / PostGIS Montée en base • Utilisé une fois par zone géographique • Transactionnel IGN DT/DSL

  18. GCVS : extraction  Extrait une zone sur le serveur PostgreSQL et transfère ces données sous Géoconcept pour la mise à jour. • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications BDUni France entière PostgreSQL / PostGIS Extraction Géoconcept • Plusieurs collecteurs peuvent extraire la même zone en même temps IGN DT/DSL

  19. Synchronisation Synchronisation BDUni France entière PostgreSQL / PostGIS Synchronisation Synchronisation GCVS : synchronisation des données • Envoie les mises à jour des postes clients sur le serveur et les mises à jour du serveur sur les autres clients. • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • Si 2 collecteurs mettent à jour le même objet, un conflit est généré et l’un des 2 collecteurs doit le résoudre … • Travail déconnecté • Synchronisation à la demande IGN DT/DSL

  20. Déroulement d’une mise à jour • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • T1 : le collecteur A met à jour une route sous Géoconcept 3 1 4 1 Autoroute Autoroute 6 2 2 5 • T2 : le collecteur A crée une zone de réconciliations avec des métadonnées de mise à jour 3 1 4 Création d’une bretelle Autoroute 6 2 5 IGN DT/DSL • T3 : (à la demande) synchronisation

  21. GCVS : implémentation GCVS doit être capable de retrouver rapidement les objets détruits, créés et modifiés sur les clients et sur le serveur. Pour cela : • Sur le serveur, chaque objet a : • Un identifiant • Un numéro de réconciliation • Sur le client : • Chaque objet a un identifiant • Un fichier MS Access contient : • La correspondance entre l’identifiant client et l’identifiant serveur. • Une clé md5 de chaque objet client (mise à jour après chaque réconciliation) • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications IGN DT/DSL

  22. GCVS : implémentation • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • Exemple d’une modification sur le client Autoroute Nationale GCVS : • Détecte une modification sur le poste client par comparaison des clés md5 : • Calculée sur l’objet • Stockée dans le fichier Access • Recherche si l’objet n’a pas déjà été modifié sur le serveur IGN DT/DSL

  23. GCVS : de nombreuses possibilités • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • Paramétrage avec des fichiers XML : • Correspondance entre les classes d’objets du SIG et les tables du serveur. • Une classe d’objet peut être en lecture/écriture. • Des profils variés en production : • Lecture seule (cartographes, contrôle qualité…) • Mise à jour des unités administratives par une seule personne sur tout le territoire … • Recherche des objets non synchronisés • Traitement des liens IGN DT/DSL

  24. Structure des données sur le serveur • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • Table des tronçons de route • Table historique des tronçons de route Cette structure permet la réplication et le calcul des évolutions entre 2 dates (différentiel) IGN DT/DSL

  25. Réplication maison • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications Permet d’avoir une copie de la base de production en quelques minutes : réplication maitre / esclave. Base à t0 Copie à t0 Dump/Restore Mise à jour Replication Base à t1 Copie à t1 Les évolutions entre t0 et t1 sont transférées dans la copie à t0 IGN DT/DSL

  26. Résultats - Conclusions • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications IGN DT/DSL

  27. La base unifiée aujourd’hui • Serveur de production : • 1 base de données pour la France métropolitaine : • 118 Go • 124 tables et 124 tables historiques • 160 millions d’objets : • 19 millions d’objets végétations (17 Go) • 16 millions de tronçons de route (13 Go) • 23 millions de bâtiments (12 Go) … • 32 millions d’objets dans les tables historiques • Des indexes de plus de 1 Go (identifiant, indexes géométriques) • 6 bases de données pour les territoires d’outre-mer (Martinique, Réunion, Guyane …) • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications IGN DT/DSL

  28. La base unifiée aujourd’hui • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • Serveur de production : • Server DELL, PowerEdge 6850, 4 processeurs • Disque : 5 x 300 Go 10 000 rpm SCSI, dont 4 en RAID 1 • RAM : 12 Gb • Serveur de secours : • 1 base de données restaurée chaque semaine (sauvegarde) • 1 base de données en lecture seule : contrôle qualité, démos,… • réplication toutes les 30 minutes • Réseau : 1Mbit/s entre Paris et les CIRs IGN DT/DSL

  29. Maintenance de la solution • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • DBA PostgreSQL/PostGIS : • 1/3 temps (ingénieur système unix) • Sauvegarde, réplication, quelques interventions (déblocage) • Maintenance évolutive (spécifications …) • Maintenance GCVS : • 1 temps plein (ex développeur au projet) • Rattrape de production • Maintenance évolutive (amélioration logicielle …) • Soutien de l’équipe projet (1/4 temps) IGN DT/DSL

  30. PostgreSQL/PostGIS : retour d’expérience • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • Facile à prendre en main • Gratuit et open-source • Nombreuses possibilités d’accès et de développement (ODBC, libpq …)  Prototypage rapide • Performance : • Gestion de bases de données massives • Capacité à répondre rapidement aux requêtes • Transaction IGN DT/DSL

  31. Comparaison avec une solution commerciale • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications IGN DT/DSL

  32. Autres applications autour PostgreSQL/PostGIS à l’IGN France • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications IGN DT/DSL

  33. Flux de données : vue générale • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications Archivage (entrepôt) Diffusion Production BDUni Géoconcept BDParcellaire Produits dérivés • Fichiers : • Données Vecteur : Format FEIV • Métadonnées : Fichiers XML ISO19115 BDAlti • Diffusion classique massive (batch) • Service internet : • Visualisation public : Géoportail • Interrogation métadonnées (intranet) BDGéodésique Orthophotographies Bases carto IGN DT/DSL

  34. Base de données altimétriques (2006) • 80 Go : • Vecteur : courbes, points côtés • Raster : MNT • Métadonnées • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications BASALT PostGreSQL/PostGIS LINUX < 5 clients • Logiciel maison • Visual c++ avec ODBC ExploZOE Windows Consultation Intégration Edition Modification IGN DT/DSL

  35. 10 Clients Navigateur XHTML Apache Navigateur PHP XHTML Navigateur XHTML Base de données géodésique • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications Base de données PostgreSQL • 70 Go • Vecteur (Bornes …) • Raster (Photos) • Plusieurs schémas IGN DT/DSL

  36. Stockage et consultation des métadonnées • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • Stockage sur PostgreSQL : • 50 Go • 20 millions d’objets dans la table de registre (ebRIM) • Fichiers XML (norme ISO19115) • Consultation sur l’intranet de l’IGN (CSW) • Utilisation du logiciel RedSpider IGN DT/DSL

  37. Géoportail (2007) Accès en ligne pour le grand public à la donnée géographique • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications • PostgreSQL est seulement utilisé pour stocker les données vecteur (300 Go) et pour pré-calculer les tuiles de données à afficher • Bientôt service WMS and WFS (Geoserver) IGN DT/DSL

  38. BDTopo Zones variées PostgreSQL Diffusion : extraction BDTopo France entière PostgreSQL • Contexte • Fonctionnalités Client / Serveur • Résultats / Conclusions • Autres applications Extraction Livraison dans différentes emprises et formats IGN DT/DSL

  39. Conclusion PostgreSQL/PostGIS est devenu le principal SGBD à l’IGN France. Il est utilisé pour : • Stocker des bases de données massives et variées • Consulter et mettre à jour les données avec des logiciels maisons • Solution attractive et robuste IGN DT/DSL Merci pour votre attention

More Related