SlideShare una empresa de Scribd logo
1 de 36
                                                                                                                                                                                                                                                                              




PostGIS from 1.4 to 2.0: what's (really) news ?
                                                                                                                                                                                                                                                                              




                                                                                                                                                                                                                                                            Olivier COURTIN, Oslandia
                                                                                                                                                                                                                                                                                




Oslandia
                                                                                                                                                                                                                                                                                




              Young French SME Open Source GIS company

              PostGIS Experts: Vincent Picavet and Olivier Courtin

          Mainly Focuses on:
                  - Spatial Databases (PostGIS, SpatiaLite)
                  - OGC, ISO, INSPIRE Standards and SDI architecture
                  - Complex analysis: Routing, Network and Graphs Solutions


      Oslandia Ecosystem:



                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




Oslandia skills cloud tags
                                                                                                                                                                                                                                                                                




                                                                  3D GDAL GEOS
                                                    GRASS GraphServer                                                                                               INSPIRE MapServer


                                                                  OGC                                             PgRouting                                         PostGIS
                                                    PostgreSQL Spatialite TinyOWS

                                                                                      TileCache PyWPS                                                                                             QGIS

                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




PostGIS Key Points
                                                                                                                                                                                                                                                                                




              Spatial database plugin for PostgreSQL
 ●
              The Open Source spatial database reference, worldwide
 ●
 ● Initially conceived by Refractions Research (2001)
 ●
   Became an OsGeo project (2011)

 ● Currently under active development by a pool of companies
 ●
 ●
                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




Spatial Database alternates (from real world)
                                                                                                                                                                                                                                                                                




 ● Oracle Spatial                                                                                                                   Most serious and widely used alternative,
                                                                                                                                    but not Open Source, and expensive.
 ●
 ●
 ● SpatiaLite                                                                                                                       Clever technical solution, mostly
                                                                                                                                    dedicaced for embedded or mobile apps.



              SQL Server 2008 Still quite recent solution, so not (yet)
                              supported by alls/a lot of third part tools.

 ●
                                                                                                                                                                                                                                                                                




 ●
PostGIS : Commiters and Companies

                                    Keybit

                                    LisaSoft

                                    OpenGeo

                                    Oslandia

                                    CadCorp

                                    Paragon Corporation

                                    Refractions Research

                                    Sirius
PostGIS : Project Robustness

                                          Keybit

                                          LisaSoft

                                          OpenGeo

                                         Oslandia
    So even if a company behind PostGIS (or 2 or 3)
    have to stop or disappear: PostGIS will go on.
                                         CadCorp

                                          Paragon Corporation

                                          Refractions Research

                                          Sirius
                                                                                                                                                                                                                                                                                




Who use PostGIS ?
                                                                                                                                                                                                                                                                                




 ● Thousands of project worldwide use PostGIS.
 ●
 ● Few among them:
 ●
 ●
 ●

 ●

 ●

 ●
                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




PostGIS Architecture
                                                                                                                                                                                                                                                                                




                                                                                                                                                                                                                                                                                            GEOS
                                                                                                                                                                                                                                                                                            GEOS

                                                                                                                                                        PostGIS
                                                                                                                                                         PostGIS                                                                                                                                Proj4
                                                                                                                                                                Plugin                                                                                                                           Proj4
                                                                                                                                                                 Plugin
                                  PostgreSQL
                                   PostgreSQL
                                                                                                                                                                                                                                                                                    LibXML2
                                                                                                                                                                                                                                                                                     LibXML2
                                                                                                                                                            Liblwgeo
                                                                                                                                                             Liblwgeo
                                                                                                                                                            mm




                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




PostGIS Architecture: PostgreSQL
                                                                                                                                                                                                                                                                                




                                                                                                                                                                                                                                                                                                GEOS
                                                                                                                                                                                                                                                                                                 GEOS



                                                                                                                                                PostGIS Plugin
                                                                                                                                                 PostGIS Plugin                                                                                                                                 Proj4
                                                                                                                                                                                                                                                                                                 Proj4

                              PostgreSQL
                               PostgreSQL
                                                                                                                                                                                                                                                                                        LibXML2
                                                                                                                                                                                                                                                                                         LibXML2
                                                                                                                                                            Liblwgeom
                                                                                                                                                             Liblwgeom




          The database engine SQL 92 (and 99) compliancy
          Robust, powerfull, extensible, fast
          and (quite) easy to administrate.
                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




PostGIS Architecture: PostGIS
                                                                                                                                                                                                                                                                                




                                                                                                                                                                                                                                                                                                GEOS
                                                                                                                                                                                                                                                                                                 GEOS



                                                                                                                                                PostGIS Plugin
                                                                                                                                                 PostGIS Plugin                                                                                                                                 Proj4
                                                                                                                                                                                                                                                                                                 Proj4

                              PostgreSQL
                               PostgreSQL
                                                                                                                                                                                                                                                                                        LibXML2
                                                                                                                                                                                                                                                                                         LibXML2
                                                                                                                                                            Liblwgeom
                                                                                                                                                             Liblwgeom




          The PostGIS spatial extension,
          Provide spatial types and functions.
                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




PostGIS Architecture: Liblwgeom
                                                                                                                                                                                                                                                                                




                                                                                                                                                                                                                                                                                                GEOS
                                                                                                                                                                                                                                                                                                 GEOS



                                                                                                                                                PostGIS Plugin
                                                                                                                                                 PostGIS Plugin                                                                                                                                 Proj4
                                                                                                                                                                                                                                                                                                 Proj4

                              PostgreSQL
                               PostgreSQL
                                                                                                                                                                                                                                                                                        LibXML2
                                                                                                                                                                                                                                                                                         LibXML2
                                                                                                                                                        Liblwgeom
                                                                                                                                                         Liblwgeom



                          PostGIS sub library
                          Handle most of the low level operations not
                          directly tied to the database
                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




PostGIS Architecture: GEOS
                                                                                                                                                                                                                                                                                




                                                                                                                                                                                                                                                                                                GEOS
                                                                                                                                                                                                                                                                                                 GEOS



                                                                                                                                                PostGIS Plugin
                                                                                                                                                 PostGIS Plugin                                                                                                                                 Proj4
                                                                                                                                                                                                                                                                                                 Proj4

                              PostgreSQL
                               PostgreSQL
                                                                                                                                                                                                                                                                                        LibXML2
                                                                                                                                                                                                                                                                                         LibXML2
                                                                                                                                                            Liblwgeom
                                                                                                                                                             Liblwgeom



          C++ Topology library
          Implement also some spatial algorithms
          (Douglas Peuker, Hausdorff distance...)
                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




PostGIS Architecture: Proj4
                                                                                                                                                                                                                                                                                




                                                                                                                                                                                                                                                                                                GEOS
                                                                                                                                                                                                                                                                                                 GEOS



                                                                                                                                                PostGIS Plugin
                                                                                                                                                 PostGIS Plugin                                                                                                                                 Proj4
                                                                                                                                                                                                                                                                                                 Proj4

                              PostgreSQL
                               PostgreSQL
                                                                                                                                                                                                                                                                                        LibXML2
                                                                                                                                                                                                                                                                                         LibXML2
                                                                                                                                                            Liblwgeom
                                                                                                                                                             Liblwgeom




          Projection Library
          Handle on the fly reprojection (ST_Transform)
                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




PostGIS Architecture: LibXML2
                                                                                                                                                                                                                                                                                




                                                                                                                                                                                                                                                                                                GEOS
                                                                                                                                                                                                                                                                                                 GEOS



                                                                                                                                                PostGIS Plugin
                                                                                                                                                 PostGIS Plugin                                                                                                                                 Proj4
                                                                                                                                                                                                                                                                                                 Proj4

                              PostgreSQL
                               PostgreSQL
                                                                                                                                                                                                                                                                                        LibXML2
                                                                                                                                                                                                                                                                                         LibXML2
                                                                                                                                                            Liblwgeom
                                                                                                                                                             Liblwgeom




          XML parser library
          Used to parse XML geometry input (GML, KML)
                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




Spatial database standards
                                                                                                                                                                                                                                                                                




ISO TC 211                                                                                                                ISO 19125
                                                                                                                            2004




OGC                                             OGC SFS 1.1                                                                                                                     OGC SFS 1.2.0
SFS WG                                             1999                                                                                                                            2006




ISO JTC1                                                                          ISO SQL/MM                                                                                        ISO SQL/MM                                                                              ISO SQL/MM
SC32 WG4                                                                             2003                                                                                               2006                                                                                  Draft 2009




                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




PostGIS main past Milestones
                                                                                                                                                                                                                                                                                




                                          Support for spatial predicates with GEOS
              0.8
          2003

                                          Lightweight geometry support (binary LWGEOM)
              1.0                         OGC Simple Feature for SQL (SFS) compliancy.
              2005



                                          Begin to reach ISO SQL/MM compliancy.
              1.3
              2006




                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




Spatial database standards
                                                                                                                                                                                                                                                                                




ISO TC 211                                                                                                                ISO 19125
                                                                                                                            2004




OGC                                             OGC SFS 1.1                                                                                                                     OGC SFS 1.2.0
SFS WG                                             1999                                                                                                                            2006




ISO JTC1                                                                          ISO SQL/MM                                                                                        ISO SQL/MM                                                                              ISO SQL/MM
SC32 WG4                                                                             2003                                                                                               2006                                                                                  Draft 2009




                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




PostGIS Latest Milestones
                                                                                                                                                                                                                                                                                




                  PostGIS 1.4                                                                                                    PostGIS 1.5                                                                                                         PostGIS 2.0
                   July 2009                                                                                                    February 2010                                                                                                     ~ September 2011




                                                                                                                                                                                                                                                                                
1.4: High Level Management Functions

    ST_Populate_Geometry_Columns()




    ST_UpdateGeometrySRID()
1.4: Documentation Fully Rewritten
1.4: ST_Union Performance Improve


SELECT ST_Union(the_geom) from province;

Version 1.3: 10865 ms

Version 1.4: 2391 ms
1.5: Distance Function Performance

 Clear performance
 improvement


 Distance results should
 be kept slightly the same


 New related functions:
 ST_ClosestPoint
 ST_DFullyWithin
 ...
1.5: Import GML and KML




 Result: SRID=27582;POINT(600400 2428686)
1.5: Geography


GEOGRAPHY type (SRID 4326)

Spatial index support

About 20 Basics spatial functions
supported (on Geocentric datas)

Cast from/to GEOMETRY
                                                                                                                                                                                                                                                                                




What new features planned for 2.0 release ?
                                                                                                                                                                                                                                                                                




 Enhanced functions for cleaning data

 Topology support (ISO SQL-MM)

 Integration of PostGIS Raster

 Multidimensional Indexes

 3D geometries primitives


                                                                                                                                                                                                                                                                                
2.0: ST_MakeValid


 Invalid
 Geometries
 (OGC SFS)




   SELECT ST_CollectionExtract(
               ST_MakeValid(the_geom), 3
          )
   FROM spatial_table;
2.0: Topology
  Aim is to add a true topological model (faces, nodes, edges)
  upon spaghettis geometries.

  Already described in ISO SQL/MM.

  For now PostGIS Topology functions mainly focus on:
  •Creation
  •Management
  •Accessor
  •GML output

   Common uses cases:
  •Networks and graphs
  •Choropleth
  •...
2.0: Multidimensional Spatial Index GIN
                                                                                                                                                                                                                                                                                




2.0: PostGIS Raster
                                                                                                                                                                                                                                                                                




  Project started by Pierre Racine in early 2008

  Now (1.5) with additional PostGIS Raster we could
   use and manipulate RASTER data from PostGIS.

      PostGIS 2.0 will provide build in Raster support




                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




2.0: PostGIS Raster architecture
                                                                                                                                                                                                                                                                                




  GDAL is used to access to Raster data

  A tool to load raster into database: raster2pgsql.py

  Raster data could be stored either:
    – Inside database (as WKB)
    – Outside the database (as JPEG or GeoTIFF)

                                                                           Inside                                                                                                                                                 JPEG or
                                                                          Database                                                                                                                                                GeoTIFF
                                                                          as WKB
                                                                                                                                                                                                                          External Storage
                                                                                                                                                                                                                          on Filesystem

                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




2.0: PostGIS Raster basic concepts
                                                                                                                                                                                                                                                                                




                  • One table means one raster coverage
                  (like a vector coverage)

                  • One row means one tile or one raster object
                  (like a vector coverage where one row means one
                     geometry)

                  • One new type: RASTER
                  (like the PostGIS GEOMETRY type)



                                                                                                                                                                                                                                                                                
2.0: PostGIS Raster




SELECT A.rid, g.gid ,
       ST_Intersects(A.rast, g.geom) As inter
FROM a_rast AS A
CROSS JOIN
(VALUES (1, 'POINT(34.24, 57.85)'::geometry) ,
        (2, 'LINESTRING(34.85 57.75,34.8
  57.85)'::geometry)
) AS g(gid,geom)
WHERE A.rid = 2 ;
                                                                                                                                                                                                                                                                                




PostGIS 2.0 Roadmap
                                                                                                                                                                                                                                                                                




                      – Core development: July 2010 – July 2011

                      – Feature Freeze:~August 2011

                      – 2.0 release: ~ September 2011




                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                




Conclusions
                                                                                                                                                                                                                                                                                




  PostGIS is a mature and stable project

  Already became a true alternative to closed source spatial databases.

  Several news features are planned for PostGIS 2.0

  PostGIS is currently 'only' limited by the funds it could gathered.

  University and research projects are truly welcomes.




                                                                                                                                                                                                                                                                                
Contacts

                  Olivier COURTIN
           olivier.courtin@oslandia.com


            www.oslandia.com

Más contenido relacionado

Similar a Olivier Courtin - PostGIS from 1.4 to 2.0: what is really new?

Teaching warehousing concepts through interactive animations and 3D models
Teaching warehousing concepts through interactive animations and 3D modelsTeaching warehousing concepts through interactive animations and 3D models
Teaching warehousing concepts through interactive animations and 3D modelsGurdal Ertek
 
200808 loma resource_talent_bomb
200808 loma resource_talent_bomb200808 loma resource_talent_bomb
200808 loma resource_talent_bombSteven Callahan
 
竹谷賢二のバイシクルトレーニング Vol.6
竹谷賢二のバイシクルトレーニング Vol.6竹谷賢二のバイシクルトレーニング Vol.6
竹谷賢二のバイシクルトレーニング Vol.6nishimuramika
 
Informe_Ejecutivo_Test_RGI.pdf
Informe_Ejecutivo_Test_RGI.pdfInforme_Ejecutivo_Test_RGI.pdf
Informe_Ejecutivo_Test_RGI.pdfIrekia - EJGV
 
ショップカードスマホアプリ簡単制作パック
ショップカードスマホアプリ簡単制作パックショップカードスマホアプリ簡単制作パック
ショップカードスマホアプリ簡単制作パックDHRgroup
 
WANA Social Charter
WANA Social CharterWANA Social Charter
WANA Social CharterWANA forum
 
Pmd Pf 68maruko
Pmd Pf 68marukoPmd Pf 68maruko
Pmd Pf 68marukomedism
 
竹谷賢二のバイシクルトレーニング Vol.5
竹谷賢二のバイシクルトレーニング Vol.5竹谷賢二のバイシクルトレーニング Vol.5
竹谷賢二のバイシクルトレーニング Vol.5nishimuramika
 
Manual minolta auto meter vf
Manual minolta auto meter vfManual minolta auto meter vf
Manual minolta auto meter vfMarcelo Graciolli
 
Bridge newspaper out_393x545_121207
Bridge newspaper out_393x545_121207Bridge newspaper out_393x545_121207
Bridge newspaper out_393x545_121207HoYong Lee
 
Hitachi 400D Articulated Dump Service Repair Manual.pdf
Hitachi 400D Articulated Dump Service Repair Manual.pdfHitachi 400D Articulated Dump Service Repair Manual.pdf
Hitachi 400D Articulated Dump Service Repair Manual.pdffujsekmd8dudj
 

Similar a Olivier Courtin - PostGIS from 1.4 to 2.0: what is really new? (20)

Ansi hi 9.8
Ansi hi 9.8Ansi hi 9.8
Ansi hi 9.8
 
Novidades Legislativas Nº 05 | 15/02/2012
Novidades Legislativas Nº 05 | 15/02/2012Novidades Legislativas Nº 05 | 15/02/2012
Novidades Legislativas Nº 05 | 15/02/2012
 
Teaching warehousing concepts through interactive animations and 3D models
Teaching warehousing concepts through interactive animations and 3D modelsTeaching warehousing concepts through interactive animations and 3D models
Teaching warehousing concepts through interactive animations and 3D models
 
200808 loma resource_talent_bomb
200808 loma resource_talent_bomb200808 loma resource_talent_bomb
200808 loma resource_talent_bomb
 
竹谷賢二のバイシクルトレーニング Vol.6
竹谷賢二のバイシクルトレーニング Vol.6竹谷賢二のバイシクルトレーニング Vol.6
竹谷賢二のバイシクルトレーニング Vol.6
 
Informe_Ejecutivo_Test_RGI.pdf
Informe_Ejecutivo_Test_RGI.pdfInforme_Ejecutivo_Test_RGI.pdf
Informe_Ejecutivo_Test_RGI.pdf
 
第16回Looops.TV 良品計画 風間様資料
第16回Looops.TV 良品計画 風間様資料第16回Looops.TV 良品計画 風間様資料
第16回Looops.TV 良品計画 風間様資料
 
Novidades Legislativas Nº 39 | 05/06/2012
Novidades Legislativas Nº 39 | 05/06/2012Novidades Legislativas Nº 39 | 05/06/2012
Novidades Legislativas Nº 39 | 05/06/2012
 
ショップカードスマホアプリ簡単制作パック
ショップカードスマホアプリ簡単制作パックショップカードスマホアプリ簡単制作パック
ショップカードスマホアプリ簡単制作パック
 
WANA Social Charter
WANA Social CharterWANA Social Charter
WANA Social Charter
 
Pmd Pf 68maruko
Pmd Pf 68marukoPmd Pf 68maruko
Pmd Pf 68maruko
 
竹谷賢二のバイシクルトレーニング Vol.5
竹谷賢二のバイシクルトレーニング Vol.5竹谷賢二のバイシクルトレーニング Vol.5
竹谷賢二のバイシクルトレーニング Vol.5
 
3 etxea
3 etxea3 etxea
3 etxea
 
Catalogo memorias
Catalogo memoriasCatalogo memorias
Catalogo memorias
 
Finance model
Finance modelFinance model
Finance model
 
Manual minolta auto meter vf
Manual minolta auto meter vfManual minolta auto meter vf
Manual minolta auto meter vf
 
travel-magazine-1.pdf
travel-magazine-1.pdftravel-magazine-1.pdf
travel-magazine-1.pdf
 
Bridge newspaper out_393x545_121207
Bridge newspaper out_393x545_121207Bridge newspaper out_393x545_121207
Bridge newspaper out_393x545_121207
 
Cocina vegana legumbres
Cocina vegana legumbresCocina vegana legumbres
Cocina vegana legumbres
 
Hitachi 400D Articulated Dump Service Repair Manual.pdf
Hitachi 400D Articulated Dump Service Repair Manual.pdfHitachi 400D Articulated Dump Service Repair Manual.pdf
Hitachi 400D Articulated Dump Service Repair Manual.pdf
 

Último

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Último (7)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

Olivier Courtin - PostGIS from 1.4 to 2.0: what is really new?

  • 1.                                                                                                PostGIS from 1.4 to 2.0: what's (really) news ?                                                                                                Olivier COURTIN, Oslandia
  • 2.                                                                                                  Oslandia                                                                                                  Young French SME Open Source GIS company PostGIS Experts: Vincent Picavet and Olivier Courtin Mainly Focuses on: - Spatial Databases (PostGIS, SpatiaLite) - OGC, ISO, INSPIRE Standards and SDI architecture - Complex analysis: Routing, Network and Graphs Solutions Oslandia Ecosystem:                                                                                                 
  • 3.                                                                                                  Oslandia skills cloud tags                                                                                                  3D GDAL GEOS GRASS GraphServer INSPIRE MapServer OGC PgRouting PostGIS PostgreSQL Spatialite TinyOWS TileCache PyWPS QGIS                                                                                                 
  • 4.                                                                                                  PostGIS Key Points                                                                                                  Spatial database plugin for PostgreSQL ● The Open Source spatial database reference, worldwide ● ● Initially conceived by Refractions Research (2001) ● Became an OsGeo project (2011) ● Currently under active development by a pool of companies ● ●                                                                                                 
  • 5.                                                                                                  Spatial Database alternates (from real world)                                                                                                  ● Oracle Spatial Most serious and widely used alternative, but not Open Source, and expensive. ● ● ● SpatiaLite Clever technical solution, mostly dedicaced for embedded or mobile apps. SQL Server 2008 Still quite recent solution, so not (yet) supported by alls/a lot of third part tools. ●                                                                                                  ●
  • 6. PostGIS : Commiters and Companies Keybit LisaSoft OpenGeo Oslandia CadCorp Paragon Corporation Refractions Research Sirius
  • 7. PostGIS : Project Robustness Keybit LisaSoft OpenGeo Oslandia So even if a company behind PostGIS (or 2 or 3) have to stop or disappear: PostGIS will go on. CadCorp Paragon Corporation Refractions Research Sirius
  • 8.                                                                                                  Who use PostGIS ?                                                                                                  ● Thousands of project worldwide use PostGIS. ● ● Few among them: ● ● ● ● ● ●                                                                                                 
  • 9.                                                                                                  PostGIS Architecture                                                                                                  GEOS GEOS PostGIS PostGIS Proj4 Plugin Proj4 Plugin PostgreSQL PostgreSQL LibXML2 LibXML2 Liblwgeo Liblwgeo mm                                                                                                 
  • 10.                                                                                                  PostGIS Architecture: PostgreSQL                                                                                                  GEOS GEOS PostGIS Plugin PostGIS Plugin Proj4 Proj4 PostgreSQL PostgreSQL LibXML2 LibXML2 Liblwgeom Liblwgeom The database engine SQL 92 (and 99) compliancy Robust, powerfull, extensible, fast and (quite) easy to administrate.                                                                                                 
  • 11.                                                                                                  PostGIS Architecture: PostGIS                                                                                                  GEOS GEOS PostGIS Plugin PostGIS Plugin Proj4 Proj4 PostgreSQL PostgreSQL LibXML2 LibXML2 Liblwgeom Liblwgeom The PostGIS spatial extension, Provide spatial types and functions.                                                                                                 
  • 12.                                                                                                  PostGIS Architecture: Liblwgeom                                                                                                  GEOS GEOS PostGIS Plugin PostGIS Plugin Proj4 Proj4 PostgreSQL PostgreSQL LibXML2 LibXML2 Liblwgeom Liblwgeom PostGIS sub library Handle most of the low level operations not directly tied to the database                                                                                                 
  • 13.                                                                                                  PostGIS Architecture: GEOS                                                                                                  GEOS GEOS PostGIS Plugin PostGIS Plugin Proj4 Proj4 PostgreSQL PostgreSQL LibXML2 LibXML2 Liblwgeom Liblwgeom C++ Topology library Implement also some spatial algorithms (Douglas Peuker, Hausdorff distance...)                                                                                                 
  • 14.                                                                                                  PostGIS Architecture: Proj4                                                                                                  GEOS GEOS PostGIS Plugin PostGIS Plugin Proj4 Proj4 PostgreSQL PostgreSQL LibXML2 LibXML2 Liblwgeom Liblwgeom Projection Library Handle on the fly reprojection (ST_Transform)                                                                                                 
  • 15.                                                                                                  PostGIS Architecture: LibXML2                                                                                                  GEOS GEOS PostGIS Plugin PostGIS Plugin Proj4 Proj4 PostgreSQL PostgreSQL LibXML2 LibXML2 Liblwgeom Liblwgeom XML parser library Used to parse XML geometry input (GML, KML)                                                                                                 
  • 16.                                                                                                  Spatial database standards                                                                                                  ISO TC 211 ISO 19125 2004 OGC OGC SFS 1.1 OGC SFS 1.2.0 SFS WG 1999 2006 ISO JTC1 ISO SQL/MM ISO SQL/MM ISO SQL/MM SC32 WG4 2003 2006 Draft 2009                                                                                                 
  • 17.                                                                                                  PostGIS main past Milestones                                                                                                  Support for spatial predicates with GEOS 0.8 2003 Lightweight geometry support (binary LWGEOM) 1.0 OGC Simple Feature for SQL (SFS) compliancy. 2005 Begin to reach ISO SQL/MM compliancy. 1.3 2006                                                                                                 
  • 18.                                                                                                  Spatial database standards                                                                                                  ISO TC 211 ISO 19125 2004 OGC OGC SFS 1.1 OGC SFS 1.2.0 SFS WG 1999 2006 ISO JTC1 ISO SQL/MM ISO SQL/MM ISO SQL/MM SC32 WG4 2003 2006 Draft 2009                                                                                                 
  • 19.                                                                                                  PostGIS Latest Milestones                                                                                                  PostGIS 1.4 PostGIS 1.5 PostGIS 2.0 July 2009 February 2010 ~ September 2011                                                                                                 
  • 20. 1.4: High Level Management Functions ST_Populate_Geometry_Columns() ST_UpdateGeometrySRID()
  • 22. 1.4: ST_Union Performance Improve SELECT ST_Union(the_geom) from province; Version 1.3: 10865 ms Version 1.4: 2391 ms
  • 23. 1.5: Distance Function Performance Clear performance improvement Distance results should be kept slightly the same New related functions: ST_ClosestPoint ST_DFullyWithin ...
  • 24. 1.5: Import GML and KML Result: SRID=27582;POINT(600400 2428686)
  • 25. 1.5: Geography GEOGRAPHY type (SRID 4326) Spatial index support About 20 Basics spatial functions supported (on Geocentric datas) Cast from/to GEOMETRY
  • 26.                                                                                                  What new features planned for 2.0 release ?                                                                                                  Enhanced functions for cleaning data Topology support (ISO SQL-MM) Integration of PostGIS Raster Multidimensional Indexes 3D geometries primitives                                                                                                 
  • 27. 2.0: ST_MakeValid Invalid Geometries (OGC SFS) SELECT ST_CollectionExtract( ST_MakeValid(the_geom), 3 ) FROM spatial_table;
  • 28. 2.0: Topology Aim is to add a true topological model (faces, nodes, edges) upon spaghettis geometries. Already described in ISO SQL/MM. For now PostGIS Topology functions mainly focus on: •Creation •Management •Accessor •GML output Common uses cases: •Networks and graphs •Choropleth •...
  • 30.                                                                                                  2.0: PostGIS Raster                                                                                                  Project started by Pierre Racine in early 2008 Now (1.5) with additional PostGIS Raster we could use and manipulate RASTER data from PostGIS. PostGIS 2.0 will provide build in Raster support                                                                                                 
  • 31.                                                                                                  2.0: PostGIS Raster architecture                                                                                                  GDAL is used to access to Raster data A tool to load raster into database: raster2pgsql.py Raster data could be stored either: – Inside database (as WKB) – Outside the database (as JPEG or GeoTIFF) Inside JPEG or Database GeoTIFF as WKB External Storage on Filesystem                                                                                                 
  • 32.                                                                                                  2.0: PostGIS Raster basic concepts                                                                                                  • One table means one raster coverage (like a vector coverage) • One row means one tile or one raster object (like a vector coverage where one row means one geometry) • One new type: RASTER (like the PostGIS GEOMETRY type)                                                                                                 
  • 33. 2.0: PostGIS Raster SELECT A.rid, g.gid , ST_Intersects(A.rast, g.geom) As inter FROM a_rast AS A CROSS JOIN (VALUES (1, 'POINT(34.24, 57.85)'::geometry) , (2, 'LINESTRING(34.85 57.75,34.8 57.85)'::geometry) ) AS g(gid,geom) WHERE A.rid = 2 ;
  • 34.                                                                                                  PostGIS 2.0 Roadmap                                                                                                  – Core development: July 2010 – July 2011 – Feature Freeze:~August 2011 – 2.0 release: ~ September 2011                                                                                                 
  • 35.                                                                                                  Conclusions                                                                                                  PostGIS is a mature and stable project Already became a true alternative to closed source spatial databases. Several news features are planned for PostGIS 2.0 PostGIS is currently 'only' limited by the funds it could gathered. University and research projects are truly welcomes.                                                                                                 
  • 36. Contacts Olivier COURTIN olivier.courtin@oslandia.com www.oslandia.com