SlideShare a Scribd company logo
1 of 14


高度情報エンジン+ルーティングエンジン



地図エンジン

この2つを作り、組み合わせています。
高度計算、ルーティングエンジン
出発点、到着点の緯度、経度を指定すればルートの
情報と、各ポイントの高度情報が返ってくる。
(REST API)


・地図エンジン
フリーハンドや上に述べたルーティングエンジンで
書いたルートの保存、公開ができる。また、
KML,GPX,GeoJSON形式でのインポート、エクス
ポートが可能 →他のサービスと連携できる
Nginx

CentOSメモリ1GB

CentOS メモリ2GB

地図エンジン

Ubuntu メモリ2GB
高度エンジン
ルーティングエンジン
データ
ファイル

ファイル形
式のものを
逐一PHPで
処理

Webサーバー
Node.js

プロキシ
nignx
データベース
PostgreSQL

WEBサーバ
Node.js

プロキシサー
バ
nginx
データベース WEBサーバー

フロント

MongoDB

Node.js

Openlayers.js

GeoJSONの保
管

ルートエンジン
の利用、
MongoDBへの
保存など。

Openlayersで
openstretmap
というオープン
な地図を利用し
ています。

プロキシ
nginx
GooglemapはAPIも含めて制限があります。また、
著作権表示、データ保存の禁止など、制限が多いで
す。これは、新しい地図サービスを作る上でさまた
げになっているのではないでしょうか;;;(実際
地図アプリを作るとき制限に泣かされました)
→自分が最近興味を持っているオープンな地図の知
識を使って、新しい地図サービス開発につながるよ
うなwebサービスを作ろう!!
GoogleMapAPIは一切使用していません。
そのため、このサイトで作ったデータは自由に保存、
改変再配布可能です。
 インフラとして
保存した地図は、ユニークなURLが付きます。メモ
代わりに地図を作って友達と簡単に共有、なんてこ
とができます。また、iframeタグに対応したことで、
ブログに張り付けることができます。



ルーティングのAPIは高度情報も返します。これ
は他にはないAPIです。



コンテスト用のため、負荷に耐えられませんが、
要望が多ければ正式サービスとしてサーバーを増
設します。



今回間に合いませんでしたが、オープンデータを
使ったGoogleのPlaceAPIのようなものもできそ
うです。


学生、個人でサーバー3つ借りるのは抵抗があり
ましたが、せっかくなんで頑張ってみました。



初めてサーバー借りたので、不具合などあるかも
しれませんが、システム構成の面では最低限の負
荷に耐えられる設計にはしたつもりです。


今回使ったデータについて

高度情報は、NASAのSRTMのデータを使っていま
す。
http://www2.jpl.nasa.gov/srtm/
ルートエンジンにはOSM(オープンストリート
マップ)のデータを使っています。Pgroutingとい
うオープンソースのルーティングエンジンを有効に
使うことで1か月での実装が可能になりました。
http://pgrouting.org/
地図エンジンについて
Google mapに慣れていたのですが、OSMのデータ
を使いたいので、Openlayersというツールを使っ
ています。やや難しいですが、細かいところまで融
通が利くのでおすすめです。
地図に書き込む処理はこれを使わないと無理でした。
http://openlayers.org/

新規サービスにつながるよう実験的に作ったので、
興味を持った方は皆さんも自分で地図エンジンを
作ってみましょう!
最後まで読んでくださってありがとうございました。

More Related Content

Viewers also liked

Appster Disruptive Startups: 3 foundations of a scalable startup
Appster Disruptive Startups: 3 foundations of a scalable startupAppster Disruptive Startups: 3 foundations of a scalable startup
Appster Disruptive Startups: 3 foundations of a scalable startupJohn Pinson
 
Objectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL DatabaseObjectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL DatabaseInfiniteGraph
 
Surrealismo (origenes , argentina , literario y visual)
Surrealismo (origenes , argentina , literario y visual)Surrealismo (origenes , argentina , literario y visual)
Surrealismo (origenes , argentina , literario y visual)40020050
 
Chapter 4 Presentation 2
Chapter 4 Presentation 2Chapter 4 Presentation 2
Chapter 4 Presentation 2gerbs1010
 

Viewers also liked (6)

3º basico a 29 de mayo
3º basico a  29 de mayo3º basico a  29 de mayo
3º basico a 29 de mayo
 
Appster Disruptive Startups: 3 foundations of a scalable startup
Appster Disruptive Startups: 3 foundations of a scalable startupAppster Disruptive Startups: 3 foundations of a scalable startup
Appster Disruptive Startups: 3 foundations of a scalable startup
 
Objectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL DatabaseObjectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL Database
 
Surrealismo (origenes , argentina , literario y visual)
Surrealismo (origenes , argentina , literario y visual)Surrealismo (origenes , argentina , literario y visual)
Surrealismo (origenes , argentina , literario y visual)
 
Chapter 4 Presentation 2
Chapter 4 Presentation 2Chapter 4 Presentation 2
Chapter 4 Presentation 2
 
Prescribe el derecho a heredar?
Prescribe el derecho a heredar?Prescribe el derecho a heredar?
Prescribe el derecho a heredar?
 

Similar to OpenMapEngine

Chrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターンChrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターンYoichiro Tanaka
 
RedHat MW 2015
RedHat MW 2015RedHat MW 2015
RedHat MW 2015omatsuha
 
BIG DATA サービス と ツール
BIG DATA サービス と ツールBIG DATA サービス と ツール
BIG DATA サービス と ツールNgoc Dao
 
mod_cluster
mod_clustermod_cluster
mod_clusternekop
 
Microsoft Graph API Library for Go
Microsoft Graph API Library for GoMicrosoft Graph API Library for Go
Microsoft Graph API Library for Goyaegashi
 
〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理Akihiro Kitada
 
Google Cloud でアプリケーションを動かす.pdf
Google Cloud でアプリケーションを動かす.pdfGoogle Cloud でアプリケーションを動かす.pdf
Google Cloud でアプリケーションを動かす.pdfGoogle Cloud Platform - Japan
 
Hello, DirectCompute
Hello, DirectComputeHello, DirectCompute
Hello, DirectComputedasyprocta
 

Similar to OpenMapEngine (10)

Apache geode at-s1p
Apache geode at-s1pApache geode at-s1p
Apache geode at-s1p
 
Chrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターンChrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターン
 
RedHat MW 2015
RedHat MW 2015RedHat MW 2015
RedHat MW 2015
 
BIG DATA サービス と ツール
BIG DATA サービス と ツールBIG DATA サービス と ツール
BIG DATA サービス と ツール
 
mod_cluster
mod_clustermod_cluster
mod_cluster
 
Microsoft Graph API Library for Go
Microsoft Graph API Library for GoMicrosoft Graph API Library for Go
Microsoft Graph API Library for Go
 
Devfes kyoto2017
Devfes kyoto2017Devfes kyoto2017
Devfes kyoto2017
 
〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理
 
Google Cloud でアプリケーションを動かす.pdf
Google Cloud でアプリケーションを動かす.pdfGoogle Cloud でアプリケーションを動かす.pdf
Google Cloud でアプリケーションを動かす.pdf
 
Hello, DirectCompute
Hello, DirectComputeHello, DirectCompute
Hello, DirectCompute
 

OpenMapEngine