postgis @ pgday.eu 2009

Download PostGIS @ Pgday.eu 2009

Post on 11-May-2015

1.022 views

Category:

Technology

1 download

Embed Size (px)

DESCRIPTION

Présentation de PosGIS aux PgDays Europe 2009 a Paris

TRANSCRIPT

  • 1.PostGIS, un module de PostgreSQL pour les donnes spatiales Olivier Courtin Vincent Picavet PGDay.eu 2009Licence GNU FDLOSLANDIA SARL / 5. novembre 2009 / www.oslandia.com / infos@oslandia.com

2. Qui sommes nous ?Olivier Courtin (ex-Camptocamp)Vincent Picavet (ex-Makina) Convaincus par les modles Open SourceCommiter et contributeurs PostGIS 3. Oslandia, une SSLL spatiale ServicesFormationSupportConseilDveloppement Positionnement: SIG Ct serveurBases de donnes spatialesTraitement et analyse complexerouting, gocodage...Web Services OGC et INSPIRE 4. Plan de la prsentation ContexteLes SIGCas concretsPostGISLe projet et ses acteursTypes spatiauxIndexes spatiauxFonctions spatialesvolutionPostGIS 1.4PostGIS 1.5PostGIS 2.0Questions 5. Contexte: SIG ?80% de l'information est spatialeSystme d'Information GographiqueCapturerStockerchangerAnalyserReprsenterInitialement : Collectivits territoriales Aujourd'hui : Public & Priv 6. Contexte : Architecture SIG Architecture distribueClients web bureautique changes WS standardiss 7. Contexte : un SIG territorial, les vals de saintongesPays des Vals de Saintonges :syndicat mixte53000hab., 117 communes Donnes : Utilisation :conomiquesStockageTouristiques AnalyseAmnagementProduction de cartesEnvironnementCatalogagequipement CollecteServices Mise jourSport et culture Diffusion 8. Contexte : un SIG territorial, les vals de saintongesConsultation et diffusionApplication cadastre Consultation avec outils ddis 9. Contexte : Problmatique de covoiturageBisonVert.net Logiciel Libre de covoiturageObjectif : Associer les utilisateurs qui font le mme trajetExistant Association avec le libell des tapesParisMarseille Lyon Nice Limit ! Marseille Nice 10. Contexte : covoiturage spatial Solution : Utiliser les trajets rels1/ Calcul du trajet (routing)2/ Comparaison des trajets(analyse spatiale) 11. Contexte : Principaux enjeux d'un SGBD spatialGomtrieAttributsun enregistrement = feature Requtes SQL Filtres sur partie attributaire Filtres sur partie spatialeTenir la chargeGros volumes de donnesTraitements longsPerformances acceptables Respect des standards existants (OGC, ISO) 12. Contexte : Standards InternationauxLes spcifications: OGC SFS (Simple Feature for SQL) ISO SQL/MM part 3Ce qui est spcifi: Types de gomtries supports Prototypes des fonctions spatiales Table et traitements additionnels pour intgrit rfrentielle 13. PostGIS : Principe et architecturePlugin de PostgreSQL crit principalement en C Fait appel a des librairies tierces :Implmente OGC SFS 1.1 (et une partie de ISO SQL/MM) Nombreuses fonctions additionnelles 14. PostGIS : Rappel historique2001Premire version alpha 2003Version 0.8 - Utilisation en production 2005Version 1.0Rcriture du coeur et LWGEOMCompatible OGC SFS 1.1 2006Version 1.2Cap sur ISO SQL/MM (Curves, prfixes ST_...) 2009Sortie de la 1.4Cration d'un PSC et entre OSGeo 15. PostGIS : Communaut InstitutionnelsIGN : Institut Gographique NationalIRSN : Institut de Radioprotection et de Sret NuclaireJRC : Joint Research Center Union Europenne...Entreprises franaisesMediapostFrance Telecom...CommunautMondialePlusieurs milliers d'utilisateursMailing-list postgis-users trs active 16. PostGIS : Commiters PostGIS LisaSoftOpenGeoOslandiaCadCorpParagon CorporationRefractions ResearchSandro SantilliSirius 17. PostGIS : Autres SGBD spatiaux Oracle Spatial (et Locator)ESRI ArcSDEIBM DB2Microsoft SQLServer 2008SpatiaLite 18. Gomtries : Reprsentation et stockage Geometry (ou HEWKB) Stockage natif en base Binaire avec encodage hexaWKT (Well Known Text)Reprsentation textuelleDimensions 2D, 3D, ou 4DIdentifiant d'un systme de projection (SRID) 19. Gomtries: Point POINT (10 10) 20. Gomtries: LineString LINESTRING(0 5, 5 1, 9 4, 2 14, 14 13, 4 4) 21. Gomtries: Polygon POLYGON ( (9 13,13 9,13 3,4 2,1 4,1 12, 9 13), (5 11,5 6,1 9,5 11), (10 7, 10 4, 6 4, 8 8, 10 7) ) 1) Le premier ring (obligatoire) correspond au ring externe2) Les coordonnes des rings sont fermantes 22. Gomtries: Polygon et validit SFS Types invalides (au sens OGC SFS)Schema extrait du site de JTS (vividsolutions.com) 23. Gomtries: Les types multiples et aggrgats MULTIPOINT MULTILINESTRING MULTIPOLYGONGEOMETRYCOLLECTION 1) On ne peut pas mixer diffrents systmes de projection2) Idem pour les dimensions 24. Gomtries: Les courbes Les types dits curves : CIRCULARSTRING COMPOUNDCURVE MULTISURFACE 25. Gomtries: Polyhedral Surface (PostGIS 2.0) 26. PostGIS en base : Les tables additionnelles geometry_columns : catalogue des colonnes spatiales spatial_ref_sys: catalogue des systmes de projection Astuce : placer ces tables dans un schma part 27. Index spatiaux: Principe et cration Amliorer performances sur filtrageGomtrieApproxime les gomtries: Bbox BboxCration d'un index spatial: CREATE INDEX index_name ON table_nameUSING GIST(geom_column_name); 28. Index spatiaux: R-TreeRegroupement des Bbox dans des rgions de l'index 29. Index spatiaux SELECT c1.nom FROM communes c1, communes c2 WHERE c2.nom = 'Toulouse' AND ST_Touches(c1.the_geom, c2.the_geom); 30. Fonctionnalits : Export KMLSELECT ST_AsKML(the_geom, 5)FROM deptWHERE code_dept='75' ; 31. Fonctionnalits : Export GeoJSONSELECT ST_AsGeoJSON( ST_Transform(the_geom, 4326), 5 ) FROM deptWHERE code_dept='75' ; 32. Fonctionnalits : ST_BufferSELECT ST_Buffer(the_geom, 2500)FROM deptWHERE code_dept='75'; 33. Fonctionnalits : Aggrgation de gomtries SELECT ST_Union(the_geom) FROM commune GROUP BY code_dept; 34. Fonctionnalits : ST_Intersects et sous requte SELECT nom_deptFROM deptWHERE ST_Intersects(the_geom, (SELECT ST_Buffer(the_geom, 2500)FROM dept WHERE code_dept='75')); Rsultat: PARIS HAUTS-DE-SEINE SEINE-SAINT-DENIS VAL-DE-MARNE 35. Fonctionnalits : ST_DistanceSELECT code_dept, round( ST_Distance(ST_Centroid(the_geom),(SELECT ST_Centroid(the_geom) FROM dept WHERE code_dept='75')) / 1000) AS distance FROM dept ORDER BY distance LIMIT 4;Rsultats: 75|0 92|7 93|12 94|13 36. Fonctionnalits : Cration de gomtriesSELECT nom_dept FROM dept WHERE St_Within( GeometryFromText('POINT(600440 2428685)', 27582), the_geom); Resultat: PARIS 37. Fonctionnalits : Import GML(PostGIS 1.5)SELECT ST_AsText( ST_GeomFromGML('600440 2428686 ')); Rsultat: POINT(600440 2428686) 38. Fonctionnalits : Gnralisation via ST_SimplifyAlgorithme Douglas-Peuker SELECT ST_AsGeoJSON(ST_Transform( ST_Simplify(the_geom, 800),4326), 5)FROM dept WHERE code_dept='75'; 39. Fonctionnalits : rfrencement linaireFonctions de rfrencement Linaire (cas de tronons routiers) ST_line_interpolate_point(linestring, location) ST_line_substring(linestring, start, end) ST_line_locate_point(LineString, Point) ST_locate_along_measure(geometry, float8) 40. Fonctionnalits : pgRoutingPgRouting, un module additionel de parcours de graphe 41. PostGIS 1.4 : La dernire version stableSortie fin Juillet 2009Amlioration des performances Sparation du code bibliothque rutilisable (liblwgeom)Nouvelles fonctionnalits Bugfixes 42. PostGIS 1.4 : Performance de ST_Union SELECT ST_Union(the_geom) from dept; Version 1.3 Time: 10865 ms Version 1.4 Time: 2391 ms 43. PostGIS 1.4 : Refonte du manuel Rdacteurs: Regina Obe et Kevin Neufeld Version multilingue pour la 1.5 ? 44. PostGIS 1.4 : populate_geometry_columnsSynchro entre les colonnes gomtriqueset la table 'geometry_columns'SELECT * FROM geometry_columns;public|dept|the_geom|2|27582|MULTIPOLYGON ALTER TABLE dept RENAME TO foo;SELECT populate_geometry_columns(); SELECT * FROM geometry_columns;public|foo|the_geom|2|27582|MULTIPOLYGON 45. PostGIS 1.4 : populate_geometry_columns IICREATE VIEW myview AS SELECT gid,ST_Buffer(the_geom, 2500) AS the_geom FROM france WHERE code_dept='75';SELECT populate_geometry_columns();SELECT * FROM geometry_columnsWHERE f_table_name='myview'; |public|myview|the_geom|2|27582|POLYGON 46. Nouveauts : la 1.5 Sortie envisage: 'christmastime' Type 'geography' : latitude, longitude= support godsiqueFonctions d'importGMLKMLGeoJSON 47. Nouveauts : la 2.0 Sortie envisage fin 2010 Chantiers en cours ou prvus : WKTRaster images manipulables depuis la base Primitives 3D Fonctionnalits detopologie et graphes 48. Fin questions ? Merci de votre attentionQuestions, informations :infos@oslandia.comOslandia : http://www.oslandia.comFeedback : http://2009.pgday.eu/feedback

Recommended

View more >