Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OSSルーティングエンジン「GraphHopper」と戯れてみた
Search
One compath
November 02, 2016
Programming
850
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
240
ONE COMPATH/ワンコンパス Company Deck For Engineer(会社紹介資料)
mapion
0
9k
ONE COMPATHの地図の開発技術~入門編~ OCEM #2
mapion
0
250
脱レガシー! Aurora PostgreSQLに移行してみた OCEM #2
mapion
1
1k
エンジニアなので「技術」で仕事を効率化してみた ~Slack連携でチームの生産性が向上~ OCEM#2
mapion
0
240
20221112_FOSS4G2022Online.pdf
mapion
0
1.9k
ONE COMPATH/ワンコンパス Company Deck(会社資料)
mapion
0
420
Other Decks in Programming
See All in Programming
初めてのKubernetes 本番運用でハマった話
oku053
0
130
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
8
3.3k
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
150
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
160
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
850
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
0
350
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
130
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
180
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
2k
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
540
今さら聞けない .NET CLI
htkym
0
110
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
My Coaching Mixtape
mlcsv
0
180
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
280
The Limits of Empathy - UXLibs8
cassininazir
1
540
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
420
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
660
The Language of Interfaces
destraynor
162
27k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
310
Practical Orchestrator
shlominoach
191
11k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
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 な どの機能を試して、分析・解析用途の幅を広げたい * 他のルーティングエンジンも評価して、それぞれの特徴 や強みなどを整理したい * ルーティングエンジンを活用した位置情報ログの分析・
解析に取り組む! 今後の展開(個人目標)