Transcript
Page 1: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

1/37

Utilisation de PostgreSQL/PostGIS pour gérer la base de données

topographique française

Page 2: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

2/37

Plan de la présentation

• Contexte : pourquoi PostgreSQL/PostGIS?

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications de PostgreSQL/PostGIS à l’IGN France

Page 3: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

3/37

Contexte :Pourquoi PostgreSQL/PostGIS ?

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 4: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

4/37

Contexte : bases de données avant 2002

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

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 5: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

5/37

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

Contexte : bases de données avant 2002

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 6: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

6/37

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

Page 7: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

7/37

Contexte : éléments techniques

BD TOPO GEOROUTE BD CARTO

Serveur Oracle + Arc/Info

SIG GéoConcept GéoConcept GéoConcept, Arc/Info

Bases de données

1 par département (100 blocs)

50 blocs 1 pour toute la France

Mise à jour Irrégulière – sur photographies aériennes

Irrégulière Régulière (pour les principaux thèmes)

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 8: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

8/37

Nouvelle étape : la mise à jour en continue

• 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

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 9: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

9/37

2002 : un nouveau projet

• 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é)

Géoroute BDTopo BDUni

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 10: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

10/37

2002 : un nouveau projet

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 11: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

11/37

Première approche

• 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

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 12: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

12/37

2004 : Prototypage

• 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

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 13: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

13/37

2004 : Prototypage

BDUni France entièrePostgreSQL / PostGIS

Synchronisatio

n

Synchronisation

Synchronisatio

n

SynchronisationGé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

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 14: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

14/37

2005 - 2006: industrialisation et production

• 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

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 15: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

15/37

Fonctionnalités client – serveur

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 16: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

16/37

BDUni France entièrePostgreSQL / PostGIS

GCVS

SIG du collecteur

(Géoconcept)

GCVS: principes

• 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

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 17: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

17/37

GCVS : montée en base Prend les données sous Géoconcept et les charge sur le

serveur PostgreSQL

>begin

>insert into road segments …

> insert into road segments …

> Insert into buildings …

>insert into administrative_boundary …

….

>commit

• Utilisé une fois par zone géographique• Transactionnel

Montée en baseBDUni

PostgreSQL / PostGIS

Géoconcept

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 18: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

18/37

GCVS : extraction Extrait une zone sur le serveur PostgreSQL et transfère

ces données sous Géoconcept pour la mise à jour.

• Plusieurs collecteurs peuvent extraire la même zone en même temps

ExtractionBDUni France entièrePostgreSQL / PostGIS

Géoconcept

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 19: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

19/37

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.

• 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

BDUni France entièrePostgreSQL / PostGIS

Synchronisatio

n

Synchronisation

Synchronisatio

n

Synchronisation

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 20: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

20/37

Déroulement d’une mise à jour

1

• T1 : le collecteur A met à jour une route sous Géoconcept

• T2 : le collecteur A crée une zone de réconciliations avec des métadonnées de mise à jour

Création d’une bretelle

Autoroute

2

1 4

3

52 6

Autoroute

1 4

3

52 6

Autoroute

• T3 : (à la demande) synchronisation

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 21: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

21/37

GCVS : implémentationGCVS 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

Page 22: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

22/37

GCVS : implémentation

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

Nationale Autoroute

• Exemple d’une modification sur le client

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 23: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

23/37

GCVS : de nombreuses possibilités

• 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

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 24: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

24/37

Structure des données sur le serveur

• Table des tronçons de route

Identifiant Numéro de réconciliation

Nom de la rue

…. Date de création Date de modification

Date de destruction

TR1 10 Rue Picasso

03/01/2009 05/01/2009

TR2 11 Rue Matisse

03/01/2009 06/01/2009

Identifiant Numéro de réconciliation

Nom de la rue

…. Date de création Date de modification

Date de destruction

TR1 1 Rue Mozart 03/01/2009

• Table historique des tronçons de route

Cette structure permet la réplication et le calcul des évolutions entre 2 dates (différentiel)

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 25: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

25/37

Réplication maison

Permet d’avoir une copie de la base de production en quelques minutes : réplication maitre / esclave.

Base à t0

Base à t1

Dump/Restore Copie à t0

Copie à t1

Les évolutions entre t0 et t1 sont transférées dans la copie à t0

Replication

Mise à jour

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 26: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

26/37

Résultats - Conclusions

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 27: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

27/37

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

Page 28: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

28/37

La base unifiée aujourd’hui

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

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 29: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

29/37

Maintenance de la solution

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)

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 30: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

30/37

PostgreSQL/PostGIS : retour d’expérience

• 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

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 31: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

31/37

Comparaison avec une solution commerciale

Solution commerciale

Solution IGN avec PostgreSQL

Couts

(Licences clients + serveur + formation + adaptation ou développement)

Moyen à élevé (> 750 k€) faible (300 k€)

Maitrise technique Niveau utilisateur Niveau utilisateur + développeur

Délais Risque lié à l’appel d’offre (compliqué en France) :

1 an

Temps des développements et des tests :

1,5 an

Réseau Peut nécessité l’adaptation du réseau

Pas de changements

SIG Inconnu Conservation de Géoconcept

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 32: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

32/37

Autres applications autour PostgreSQL/PostGIS à l’IGN France

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 33: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

33/37

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Flux de données : vue générale

Production Archivage (entrepôt)

Diffusion

BDUni

Géoconcept

BDParcellaire

BDAlti

Orthophotographies

BDGéodésique

Bases carto

Fichiers :

• Données Vecteur : Format FEIV

• Métadonnées : Fichiers XML ISO19115

Produits dérivés

• Diffusion classique massive (batch)

• Service internet :

Visualisation public : Géoportail

Interrogation métadonnées (intranet)

Page 34: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

34/37

ExploZOEWindows

PostGreSQL/PostGISLINUX

BASALT

Base de données altimétriques (2006)

•Logiciel maison

•Visual c++ avec ODBC

Intégration

Modification

Consultation

80 Go :

•Vecteur : courbes, points côtés

•Raster : MNT

•Métadonnées

Edition

< 5 clients

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 35: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

35/37

Base de donnéesPostgreSQL

Apache

PHP

Navigateur

XHTML

Navigateur

XHTML

Navigateur

XHTML

10 Clients

Base de données géodésique

•70 Go

•Vecteur (Bornes …)

•Raster (Photos)

•Plusieurs schémas

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 36: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

36/37

Stockage et consultation des métadonnées

• 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

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 37: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

37/37

Géoportail (2007)

• 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)

Accès en ligne pour le grand public à la donnée géographique

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 38: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

38/37

Diffusion : extraction

BDTopoFrance entièrePostgreSQL

Extraction

BDTopoZones variées PostgreSQL

Livraison dans différentes emprises et formats

• Contexte

• Fonctionnalités Client / Serveur

• Résultats / Conclusions

• Autres applications

Page 39: 1/37 Mai 09 IGN DT/DSL Utilisation de PostgreSQL/PostGIS pour gérer la base de données topographique française

Mai 09

IGN DT/DSL

39/37

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

Merci pour votre attention


Top Related