SlideShare a Scribd company logo
1 of 35
pgRouting



       YAMAGUCHI Toshimitsu
Shortest Path Problem
Dijkstra's Algorithm
Edsger Wybe Dijkstra
(1930 5 11 - 2002      8   6
G

S



    6
6

    5           2
                            G

        4
S                           4
                        2

            3
    2

                    6
5

                        6

    5           2
                                G
                    4
        4
S                               4
                            2

            3
    2
        2
                        6
5

                        6

    5           2
                                G
                    4
        4
S                               4
                            2

            3
    2
        2
                        6
5

                         6

    5           2
                                 G
                    45
        4
S                                4
                             2

            3                        8
    2
        2
                         6
5

                         6

    5           2
                                 G
                    45
        4
S                                4
                             2

            3                        8
    2
        2
                         6
56

                          6

    5            2
                                  G
                     45
        4
S                                 4
                              2

             3                        86
    2
        2
                          6
56

                          6

    5            2
                                  G
                     45
        4
S                                 4
                              2

             3                        86
    2
        2
                          6
56

                          6

    5                                 11
                 2
                                  G   10
                     45
        4
S                                 4
                              2

             3                        86
    2
        2
                          6
56

                          6

    5                                 11
                 2
                                  G   10
                     45
        4
S                                 4
                              2

             3                        86
    2
        2
                          6
Route finding with pgRouting
pgRouting (http://pgrouting.postlbs.org/)
pgRouting
1

2

3
1

#!/bin/sh
ogr2ogr -update   -append   ./allRoads/roads.shp   ./aaa/a.shp   -nln   roads
ogr2ogr -update   -append   ./allRoads/roads.shp   ./aaa/b.shp   -nln   roads
ogr2ogr -update   -append   ./allRoads/roads.shp   ./aaa/c.shp   -nln   roads
ogr2ogr -update   -append   ./allRoads/roads.shp   ./bbb/a.shp   -nln   roads
ogr2ogr -update   -append   ./allRoads/roads.shp   ./bbb/b.shp   -nln   roads
....
2
              DB                 — PostGIS



% createdb -U postgres routing

% psql -U postgres -f [path]/lwpostgis.sql routing

% psql -U postgres -f [path]/spatial_ref_sys.sql routing
2
      DB                — pgRouting(                        )



% psql -U postgres -f [path]/routing_core.sql routing

% psql -U postgres -f [path]/routing_core_wrappers.sql routing

% psql -U postgres -f [path]/routing_topology.sql routing
2
      DB                — pgRouting(TSP)



% psql -U postgres -f [path]/routing_tsp.sql routing

% psql -U postgres -f [path]/routing_tsp_wrappers.sql routing
2
       DB                — pgRouting(DD)



% psql -U postgres -f [path]/routing_dd.sql routing

% psql -U postgres -f [path]/routing_dd_wrappers.sql routing
2
                         DB




% shp2pgsql ./roads.shp roads | nkf -w | psql -U postgres -d routing
2
 source        target



ALTER TABLE routing ADD COLUMN source integer;
ALTER TABLE routing ADD COLUMN target integer;
2


SELECT assign_vertex_id('routing', 0.00001, 'the_geom', 'gid');
<0.00001
3

routing=# SELECT gid,source,target FROM roads ORDER BY
Distance(the_geom,GeomFromText('POINT(139.708 35.7076)')) limit 1;

  gid   | source | target
--------+--------+--------
 583718 | 446827 | 446860
(1 row)

routing=#
3

routing=# SELECT AsText(the_geom) FROM dijkstra_sp('roads', 273679, 273974);

                 astext
------------------------------------------------------------------------
MULTILINESTRING((139.862297777778 35.6611955555556,.....
...
MULTILINESTRING((139.865603888889 35.663965,139.865358055556 35.6641527777778))
(13 rows)

routing=#
May
June
September

More Related Content

More from Toshimitsu YAMAGUCHI

先端人間支援科学ミーティング資料
先端人間支援科学ミーティング資料先端人間支援科学ミーティング資料
先端人間支援科学ミーティング資料Toshimitsu YAMAGUCHI
 
視覚障害者のための触地図作成システムの開発—経路情報を利用した触地図簡略化—
視覚障害者のための触地図作成システムの開発—経路情報を利用した触地図簡略化—視覚障害者のための触地図作成システムの開発—経路情報を利用した触地図簡略化—
視覚障害者のための触地図作成システムの開発—経路情報を利用した触地図簡略化—Toshimitsu YAMAGUCHI
 
触地図作成システムの開発
触地図作成システムの開発触地図作成システムの開発
触地図作成システムの開発Toshimitsu YAMAGUCHI
 
第53回WIT研究会におけるリアルタイム映像配信 -技術編-
第53回WIT研究会におけるリアルタイム映像配信 -技術編-第53回WIT研究会におけるリアルタイム映像配信 -技術編-
第53回WIT研究会におけるリアルタイム映像配信 -技術編-Toshimitsu YAMAGUCHI
 
新潟市障がい者ITサポートセンターの活動 - 新潟市におけるITサポートの実践と課題
新潟市障がい者ITサポートセンターの活動 - 新潟市におけるITサポートの実践と課題新潟市障がい者ITサポートセンターの活動 - 新潟市におけるITサポートの実践と課題
新潟市障がい者ITサポートセンターの活動 - 新潟市におけるITサポートの実践と課題Toshimitsu YAMAGUCHI
 
Perlmagickを使った画像処理
Perlmagickを使った画像処理Perlmagickを使った画像処理
Perlmagickを使った画像処理Toshimitsu YAMAGUCHI
 
秋葉区ボランティアセンタ支援技術講座
秋葉区ボランティアセンタ支援技術講座秋葉区ボランティアセンタ支援技術講座
秋葉区ボランティアセンタ支援技術講座Toshimitsu YAMAGUCHI
 
視覚障害者のための触地図作成システムの試作
視覚障害者のための触地図作成システムの試作視覚障害者のための触地図作成システムの試作
視覚障害者のための触地図作成システムの試作Toshimitsu YAMAGUCHI
 
触地図システムの機能紹介
触地図システムの機能紹介触地図システムの機能紹介
触地図システムの機能紹介Toshimitsu YAMAGUCHI
 
Introduction of Web Accessibility at Kawasaki
Introduction of Web Accessibility at KawasakiIntroduction of Web Accessibility at Kawasaki
Introduction of Web Accessibility at KawasakiToshimitsu YAMAGUCHI
 
Assistive Technologies for Web Access
Assistive Technologies for Web AccessAssistive Technologies for Web Access
Assistive Technologies for Web AccessToshimitsu YAMAGUCHI
 

More from Toshimitsu YAMAGUCHI (17)

サイトワールド2010
サイトワールド2010サイトワールド2010
サイトワールド2010
 
先端人間支援科学ミーティング資料
先端人間支援科学ミーティング資料先端人間支援科学ミーティング資料
先端人間支援科学ミーティング資料
 
視覚障害者のための触地図作成システムの開発—経路情報を利用した触地図簡略化—
視覚障害者のための触地図作成システムの開発—経路情報を利用した触地図簡略化—視覚障害者のための触地図作成システムの開発—経路情報を利用した触地図簡略化—
視覚障害者のための触地図作成システムの開発—経路情報を利用した触地図簡略化—
 
G空間EXPO 触地図ポスタ
G空間EXPO 触地図ポスタG空間EXPO 触地図ポスタ
G空間EXPO 触地図ポスタ
 
新潟養護学校勉強会2010
新潟養護学校勉強会2010新潟養護学校勉強会2010
新潟養護学校勉強会2010
 
触地図作成システムの開発
触地図作成システムの開発触地図作成システムの開発
触地図作成システムの開発
 
第53回WIT研究会におけるリアルタイム映像配信 -技術編-
第53回WIT研究会におけるリアルタイム映像配信 -技術編-第53回WIT研究会におけるリアルタイム映像配信 -技術編-
第53回WIT研究会におけるリアルタイム映像配信 -技術編-
 
新潟市障がい者ITサポートセンターの活動 - 新潟市におけるITサポートの実践と課題
新潟市障がい者ITサポートセンターの活動 - 新潟市におけるITサポートの実践と課題新潟市障がい者ITサポートセンターの活動 - 新潟市におけるITサポートの実践と課題
新潟市障がい者ITサポートセンターの活動 - 新潟市におけるITサポートの実践と課題
 
Perlmagickを使った画像処理
Perlmagickを使った画像処理Perlmagickを使った画像処理
Perlmagickを使った画像処理
 
CSUN2010報告
CSUN2010報告CSUN2010報告
CSUN2010報告
 
2010MSW協会プレゼン
2010MSW協会プレゼン2010MSW協会プレゼン
2010MSW協会プレゼン
 
秋葉区ボランティアセンタ支援技術講座
秋葉区ボランティアセンタ支援技術講座秋葉区ボランティアセンタ支援技術講座
秋葉区ボランティアセンタ支援技術講座
 
視覚障害者のための触地図作成システムの試作
視覚障害者のための触地図作成システムの試作視覚障害者のための触地図作成システムの試作
視覚障害者のための触地図作成システムの試作
 
触地図システムの機能紹介
触地図システムの機能紹介触地図システムの機能紹介
触地図システムの機能紹介
 
Introduction of Web Accessibility at Kawasaki
Introduction of Web Accessibility at KawasakiIntroduction of Web Accessibility at Kawasaki
Introduction of Web Accessibility at Kawasaki
 
UAI Seminar 2008 at Nagoya
UAI Seminar 2008 at NagoyaUAI Seminar 2008 at Nagoya
UAI Seminar 2008 at Nagoya
 
Assistive Technologies for Web Access
Assistive Technologies for Web AccessAssistive Technologies for Web Access
Assistive Technologies for Web Access
 

Recently uploaded

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

pgRoutingを使った経路検索

  • 1. pgRouting YAMAGUCHI Toshimitsu
  • 3.
  • 5. Edsger Wybe Dijkstra (1930 5 11 - 2002 8 6
  • 6. G S 6
  • 7. 6 5 2 G 4 S 4 2 3 2 6
  • 8. 5 6 5 2 G 4 4 S 4 2 3 2 2 6
  • 9. 5 6 5 2 G 4 4 S 4 2 3 2 2 6
  • 10. 5 6 5 2 G 45 4 S 4 2 3 8 2 2 6
  • 11. 5 6 5 2 G 45 4 S 4 2 3 8 2 2 6
  • 12. 56 6 5 2 G 45 4 S 4 2 3 86 2 2 6
  • 13. 56 6 5 2 G 45 4 S 4 2 3 86 2 2 6
  • 14. 56 6 5 11 2 G 10 45 4 S 4 2 3 86 2 2 6
  • 15. 56 6 5 11 2 G 10 45 4 S 4 2 3 86 2 2 6
  • 16. Route finding with pgRouting
  • 19. 1 2 3
  • 20. 1 #!/bin/sh ogr2ogr -update -append ./allRoads/roads.shp ./aaa/a.shp -nln roads ogr2ogr -update -append ./allRoads/roads.shp ./aaa/b.shp -nln roads ogr2ogr -update -append ./allRoads/roads.shp ./aaa/c.shp -nln roads ogr2ogr -update -append ./allRoads/roads.shp ./bbb/a.shp -nln roads ogr2ogr -update -append ./allRoads/roads.shp ./bbb/b.shp -nln roads ....
  • 21. 2 DB — PostGIS % createdb -U postgres routing % psql -U postgres -f [path]/lwpostgis.sql routing % psql -U postgres -f [path]/spatial_ref_sys.sql routing
  • 22. 2 DB — pgRouting( ) % psql -U postgres -f [path]/routing_core.sql routing % psql -U postgres -f [path]/routing_core_wrappers.sql routing % psql -U postgres -f [path]/routing_topology.sql routing
  • 23. 2 DB — pgRouting(TSP) % psql -U postgres -f [path]/routing_tsp.sql routing % psql -U postgres -f [path]/routing_tsp_wrappers.sql routing
  • 24. 2 DB — pgRouting(DD) % psql -U postgres -f [path]/routing_dd.sql routing % psql -U postgres -f [path]/routing_dd_wrappers.sql routing
  • 25. 2 DB % shp2pgsql ./roads.shp roads | nkf -w | psql -U postgres -d routing
  • 26. 2 source target ALTER TABLE routing ADD COLUMN source integer; ALTER TABLE routing ADD COLUMN target integer;
  • 29. 3 routing=# SELECT gid,source,target FROM roads ORDER BY Distance(the_geom,GeomFromText('POINT(139.708 35.7076)')) limit 1; gid | source | target --------+--------+-------- 583718 | 446827 | 446860 (1 row) routing=#
  • 30. 3 routing=# SELECT AsText(the_geom) FROM dijkstra_sp('roads', 273679, 273974); astext ------------------------------------------------------------------------ MULTILINESTRING((139.862297777778 35.6611955555556,..... ... MULTILINESTRING((139.865603888889 35.663965,139.865358055556 35.6641527777778)) (13 rows) routing=#
  • 31.
  • 32.
  • 33. May
  • 34. June

Editor's Notes