Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
OSSルーティングエンジン「GraphHopper」と戯れてみた
Search
One compath
November 02, 2016
Programming
880
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OSSルーティングエンジン「GraphHopper」と戯れてみた
オープンソースで開発されているルーティングエンジン
「GraphHopper」というやつを少し触ってみたという
お話です。
One compath
November 02, 2016
More Decks by One compath
See All by One compath
社内の制度を使って新規事業を⽴ち上げてみた話 OCEM#3
mapion
0
230
新規事業のアプリ、Flutterで作ってます〜U-ROUTEのポイ活対応編〜 OCEM#3
mapion
0
260
ウォーキングアプリ「aruku&」ってどうやって作ってるの? OCEM#3
mapion
0
250
ONE COMPATH/ワンコンパス Company Deck For Engineer(会社紹介資料)
mapion
0
9.3k
ONE COMPATHの地図の開発技術~入門編~ OCEM #2
mapion
0
260
脱レガシー! Aurora PostgreSQLに移行してみた OCEM #2
mapion
1
1.1k
エンジニアなので「技術」で仕事を効率化してみた ~Slack連携でチームの生産性が向上~ OCEM#2
mapion
0
260
20221112_FOSS4G2022Online.pdf
mapion
0
1.9k
ONE COMPATH/ワンコンパス Company Deck(会社資料)
mapion
0
450
Other Decks in Programming
See All in Programming
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
160
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
550
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
350
Family mrubyの進捗
kishima
1
130
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
290
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
480
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
120
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
320
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
130
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
380
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
600
wkhtmltopdfの次どうするか問題2026
willnet
2
1.4k
Featured
See All Featured
BBQ
matthewcrist
89
10k
GitHub's CSS Performance
jonrohan
1033
470k
Design in an AI World
tapps
1
320
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
360
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
Abbi's Birthday
coloredviolet
4
10k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
Producing Creativity
orderedlist
PRO
348
41k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
The Limits of Empathy - UXLibs8
cassininazir
1
680
How to build a perfect <img>
jonoalderson
1
6k
Are puppies a ranking factor?
jonoalderson
2
3.9k
Transcript
OSSルーティングエンジン 「GraphHopper」と戯れてみた FOSS4G 2016 Tokyo LT 株式会社マピオン 中村 浩士
Who? * 中村 浩士 (なかむら こうじ) * @kozy4324 (Twitter, GitHub,
etc…) * 株式会社マピオン所属 * マピオン歴は10年 * 元Webアプリケーションエンジニア * JavaScriptなどのWebフロントエンド周り が得意領域です(でした) * GISは勉強中です!
オープンソースで開発されているルーティングエンジン 「GraphHopper」というやつを少し触ってみたという お話です。 発表の内容
位置情報ログの分析・解析用途でルーティングエンジン を活用したい! * ユーザーの経路検索ログを可視化 * GPSログの経路マッチング * ネットワークベースの到達圏解析 * etc…
モチベーション
OpenStreetMap Wiki にいい感じでまとめられている https://wiki.openstreetmap.org/wiki/Routing 以下のプロダクトが気になった * pgRouting * GraphHopper *
Open Source Routing Machine * Valhalla OSSルーティングエンジン
https://github.com/graphhopper/graphhopper * Java実装のOSSルーティングエンジン * OSMデータで動作する * 動作要件は「JRE (Java 7+) がインストールされてること」
* ただしネットワークデータを展開するメモリ領域は必要 * また起動スクリプトで wget コマンドを一部利用 GraphHopper とは
Getting Started ソースコードの取得と、最新安定版へのチェックアウト ビルド、OSMデータの取得、ネットワークデータの生成、アプリケーションの起動まで 面倒見てくれる起動スクリプトを実行 最後にWebアプリケーションの起動ログが出力されればOK
Getting Started (続き) http://localhost:8989/ で確認可能
日本のエリアで動かす 起動スクリプトのOSMデータの指定を変え、割り当てメモリを2Gほど指定する (デフォルトだとOutOfMemoryエラーが発生する)
JSONレスポンス形式に対応した Web API にも対応 https://github.com/graphhopper/graphhopper/blob/0.8/docs/web/api-doc.md Web API
Web API レスポンスサンプル 「田町駅」から「駒場東大前」までの ルートリクエスト http://localhost:8989/route ?point=35.645736,139.747683 &point=35.658902,139.683363 &points_encoded=false &instructions=false
&debug=true
Ruby で Web API を叩いて、結果を GeoJSON 形式で吐 き出すプログラムを書いてみた。 Ruby から
Web API 経由で利用する
None
None
実行 以下な感じで実行して結果をファイル出力できる。
GitHub でプレビュー
* OSMデータのサイズでダウンロードおよびネットワーク データの展開はそこそこ時間がかかるが、データ処理 時間を除けば「とりあえず触ってみる」の敷居は低い * デフォルトだと車の経路検索となる、歩行者の経路検索 を行う設定カスタマイズを確認したい * 経路マッチングを行う map-matching
なるプロダクトも あり、これも試したい * 位置情報ログの分析・解析用途に利用するにはこれで いい感じっぽい GraphHopper 所感
* GraphHopperの設定カスタマイズや map-matching な どの機能を試して、分析・解析用途の幅を広げたい * 他のルーティングエンジンも評価して、それぞれの特徴 や強みなどを整理したい * ルーティングエンジンを活用した位置情報ログの分析・
解析に取り組む! 今後の展開(個人目標)