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
890
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
240
新規事業のアプリ、Flutterで作ってます〜U-ROUTEのポイ活対応編〜 OCEM#3
mapion
0
270
ウォーキングアプリ「aruku&」ってどうやって作ってるの? OCEM#3
mapion
0
260
ONE COMPATH/ワンコンパス Company Deck For Engineer(会社紹介資料)
mapion
0
9.3k
ONE COMPATHの地図の開発技術~入門編~ OCEM #2
mapion
0
270
脱レガシー! 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
510
Other Decks in Programming
See All in Programming
AI Augmentation Techniques with Liberty
ivargrimstad
1
400
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
360
AI-Powered Domain-Driven Design
ziobrando
0
410
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
240
Event is what happens
moro
2
3.9k
Moscow Python Meetup №112. Как поселить ИИ агентов в event driven архитектуре
moscowdjango
PRO
0
110
ActionController meets Protocol Buffers
sorah
1
790
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
540
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
330
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
230
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
230
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
It's Worth the Effort
3n
188
29k
Site-Speed That Sticks
csswizardry
13
1.6k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
4 Signs Your Business is Dying
shpigford
187
23k
Technical Leadership for Architectural Decision Making
baasie
3
640
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
560
HDC tutorial
michielstock
2
1k
So, you think you're a good person
axbom
PRO
2
2.3k
A Soul's Torment
seathinner
8
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 な どの機能を試して、分析・解析用途の幅を広げたい * 他のルーティングエンジンも評価して、それぞれの特徴 や強みなどを整理したい * ルーティングエンジンを活用した位置情報ログの分析・
解析に取り組む! 今後の展開(個人目標)