2012 07 14_osm-ws_2
-
Upload
tom-hayakawa -
Category
Technology
-
view
2.204 -
download
4
description
Transcript of 2012 07 14_osm-ws_2
OpenStreetMap - API - JOSM -
OpenStreetMap Foundation Japan OpenStreetMap TOKAI
Center for GREEN COMPUTING, Nagoya Institute of Technology
早川知道 , Tom Hayakawa ( A.K.A Tom , @Tom_G3X )
OpenStreetMap
自己紹介
• OpenStreetMap Foundation Japan - 理事 • 名古屋工業大学グリーンコンピューティング研究所 • Malaika System ‒ CEO
• FLOSSな活動 – OpenStreetMap東海
• - http://groups.google.co.jp/group/OSM-Tokai – XOOPS Cube Project ~ XOOPS Cube 東海 – FLOSS桜山 ~ DS-Tokai
• 名古屋のメタ・コミュニティ
• Twitter @Tom_G3X • うえこみ春日井小牧
– 地域情報サイト運営- http://www.kasugai-komaki.jp/
• その前は・・・ – 株式会社ザクロ ‒ 取締役 とか・・・・
早川 知道(はやかわ ともみち)
OpenStreetMap のデータ利用
Google Maps vs OpenStreetMap
Google Mapsはサービス OpenStreetMapは地理情報データ
Data Rendering Service
ゼンリン 地図データ
・・・など
用途に合わせて 自由にレンダリング
Mapnik , Osmrender Cycle Map , Transport Map
… etc.
独自サービスの展開
OpenStreetMap
GPS log (trace) YahooJapan/Alps data Bing Maps (trace) 基盤地図(trace) ・・・・などなど
外部データとの マッシュアップなど
OpenStreetMapデータの利用
OpenStreetMapデータの利用イメージ • Map Data
– Planet.osm
• API – OSM API v0.6 – Overpass API – (XAPI)
• Edit Tools – JOSM – Potlatch2 ……etc.
• Render – Mapnik – PostgreSQL+PostGIS ……etc.
• MashUp – OpenLayers(JavaScript) ……etc.
REST
Render & Tools
Service ( MashUp )
OpenStreetMap MapData
Planet.osm OSM API v0.6 Overpass API
Mapnik JOSM
Potlatch2
Download REST
Web
OpenLayers GoogleMaps Bing Maps ・・・・など
OpenStreetMapデータの利用
Planet OSMデータ
• 全てのOSM地図データを一括ダウンロード – 全球データで、bzip2圧縮で20GB程度(展開して300GB程度) – 一週間に一回更新(日々の差分などもあり) – .osm形式(XML)
• 配布サイト: – OpenStreetMap (本家!)
• http://planet.openstreetmap.org/
– GEOFABRIK (国ごとのデータあり) • http://download.geofabrik.de/osm/asia/
– CloudMade (都道府県毎のデータあり) • http://downloads.cloudmade.com/asia/eastern_asia/japan
参考資料: http://wiki.openstreetmap.org/wiki/Planet.osm http://wiki.openstreetmap.org/wiki/JA:Planet.osm http://wiki.openstreetmap.org/wiki/JA:OSM_XML
OSMデータを直接ダウンロード
OpenStreetMapデータの利用
OpenStreetMap API
• OpenStreetMap API v0.6 – 通常、編集時などに使用しているAPI
• 双方向通信(データ取得、データ編集) – あらゆる操作が可能
• リクエスト制限あり • 通信速度:遅い
• Overpass API – 高速に大量データの取得が可能
• データ取得のみ – 特定のデータだけの取得も可能
• 通信速度:速い
2種類のAPIがある
OpenStreetMapデータの利用
OpenStretMap API
• 双方向通信 (OSMの全ての操作が可能) – データ・ダウンロード – データ新規登録、更新、削除(編集操作) – GPSログのアップロード/取得など
• リクエスト制限あり – 最大ダウンロード領域:0.25平方度・・・など – 大量ダウンロードのペナルティがあったり
通常の操作には充分な機能 参考資料: http://wiki.openstreetmap.org/wiki/JA:API_v0.6
OpenStreetMap API v0.6
OpenStreetMapデータの利用
OpenStreetMap API
• リクエストURL – http://api.openstreetmap.org/
• REST request – GET , PUT , POST , DELETE 形式
• リクエスト例: – 例:データ取得
• GET {URL}/api/0.6/map?bbox=left,bottom,right,top – left = 左側(西端)の経度 - bottom = 下側(南端)の緯度 – right = 右側(東端)の経度 - top = 上側(北端)の緯度
• レスポンス – Text/plain [ .osm形式(XML) ]
OpenStreetMap API v0.6 (リクエスト例)
OpenStreetMapデータの利用
OpenStreetMap API
• データ・ダウンロード専用 (Read only)
• 高速に大量のデータをダウンロード可能 – (JOSMプラグイン ( mirrored_download ) で利用可能)
• 特定のデータだけに絞り込んでダウンロード可能 – XAPI互換モード
読み込みだけなら、Overpass APIの方が絶対いい!
アプリなどからのデータ呼び出しに向いている
例えば、特定のデータだけをマッシュアップとか
参考資料:
http://wiki.openstreetmap.org/wiki/Overpass_API
Overpass API
OpenStreetMapデータの利用
OpenStreetMap API
• リクエストURL – http://overpass.osm.rambler.ru/cgi/xapi? – http://www.overpass-api.de/api/xapi?
• リクエスト例 – 例:エリアの指定 (緯度経度を指定)
• GET {URL}map?*[bbox=7.1, 51.1, 7.2, 52.2] – 例:建物(building)だけを取得
• GET {URL}map?way[building=yes] – 例:バス停(bus_stop)、信号(traffic_signals)のノードのみ取得
• GET {URL}map?node[bbox=7.1,51.2,7.2,51.3][highway=bus_stop|traffic_signals]
– 例:特定のバス路線のみ取得 • GET {URL}map?relation[bbox=7.1,51.2,7.2,51.3][route=bus]
– 例:特定のユーザーの特定日時以降のデータだけ取得 • GET {URL}map?*[@user=Tom_G3X][@newer=2011-07-17T00:00:00Z]
• レスポンス – Text/plain [ .osm形式(XML) ]
Overpass API (リクエスト例)
OpenStreetMap データの利用
OpenStreetMap API
OSM API v0.6 Overpass API 通信速度 ○ ◎ データ取得エリア △ 最大0.25平方度??
(大量取得ペナルティあり) ◎ 特に制限なし?
データ編集操作 (新規登録・更新・削除)
◎ 全ての編集操作可能 ×
データ取得時の絞り込み × ○ XAPI互換モード GPSログ (アップロード・ダウンロード)
○ ×
通常の編集操作、GPSログ操作などOSMの全ての操作が可能
各種データの取得に特化
OSM API v0.6 vs Overpass API
OpenStreetMapデータの利用
Overpass API を使ってみる (JOSM)
• JOSMプラグイン 「mirrored_download」をインストール – JOSM再起動
JOSMプラグイン「mirrored_download」
• 「ファイル」> 「OSMミラーからダウンロード」
OpenStreetMapデータの利用
Overpass API を使ってみる (JOSM)
• Object type: – オブジェクトを選択可能
• * : 全て • Node : ノードのみ • Way :ウェイのみ • Relation : リレーションのみ
• XAPI query: – XAPI互換 (特定のデータを指定可能)
– http://wiki.openstreetmap.org/wiki/Xapi – http://wiki.openstreetmap.org/wiki/Overpass_API
• 建物(building)のみ [building=*] • xxxx病院(hospital)のみ [amenity=hospital][name=xxxx] • Kasugai又はNagoya [name=Kasugai|Nagoya] • 指定日付より新しいデータ[@newer=2011-07-01T00:00:00Z] • 特定ユーザーのみ [@user=Tom_G3X]
特定のデータだけをダウンロード可能
OpenStreetMapデータの利用
Render :: Mapnik
• マップレンダー – 独自のマップレンダーを構築可能に – オープンソ-ス(LGPLライセンス) – Planet data を利用 – PostgresSQL/PostGIS 利用可能
参考資料: http://mapnik.org/ http://wiki.openstreetmap.org/wiki/Mapnik http://wiki.openstreetmap.org/wiki/JA:Mapnik http://postgis.refractions.net/ http://www.osgeo.org/
Mapnik
OpenStreetMapデータの利用
MashUp :: JavaScript Map Lib.
• OpenLayers – http://openlayers.org/ – オープンソース(BSDライセンス) – MashUpなどに利用 – 豊富なライブラリ
• OSM , Gmaps , Bing…… など多彩に利用可能
• Leaflet – http://leaflet.cloudmade.com/ – CloudMade製(BSDライセンス) – Mobile対応?? – 軽量らしい?
OpenLayers & Leaflet
OpenStreetMapデータの利用
アプリ開発とか
• OpenStreetPad – https://github.com/beelsebob/OpenStreetPad/ – ライセンス :: BSD – iOS向け - Objective-C – MapCSS対応 – これをベースに独自アプリ開発が可能
他にもいろいろあり!参考資料:
Android http://wiki.openstreetmap.org/wiki/Android
Apple iOS http://wiki.openstreetmap.org/wiki/Iphone
Software http://wiki.openstreetmap.org/wiki/Software
iPadアプリが公開されている
JOSM
設定
GPSログを見やすくする
• ログの進行方向を表示 – 表示設定>GPSポイント – 「ウェイの方向を矢印で表示」 – (大量のログがある時、便利です)
• ログに色を付ける – 表示設定>色 – 「GPSポイント」
JOSM
Plug-in
• Buildings_tools – 建物などを描く時、便利
• DirectDownload – 自分のGPSログをダウンロード
• DirectUpload – GPSログを直接アップロードできる
• editgpx – GPSログを編集できる
• PicLayer – 画像を背景に読み込む
• Lakewalker – 衛星画像から池などをデータ化(ちょっと微妙)
• Reverter – 変更セットを元に戻す(特殊用途?)
• Mirrored_download – Overpass API
• Utilsplugin2 – 高度なショートカットなど
プラグインで機能追加 早川が使ってるプラグインから
JOSM
フィルタ
強力なフィルタリング機能 フィルターのON/OFF
フィルタリングされたデータを 隠す/薄ら表示する
フィルターの反転
• 編集中のデータを必要なデータだけ表示 • 間違い防止に有効!
• テキスト欄(フィルタリング構文例) – highway=*
• 道路のみ表示 – highway=trunk
• 国道のみ表示 – type:way
• ウェイのみ表示 – type:node untagged
• タグの無いノードのみ表示 – user:Tom_G3X
• 特定のユーザーのデータだけ表示
参考 http://wiki.openstreetmap.org/wiki/JOSM_search_function
JOSM
妥当性検査
不具合を検出、修正作業の効率化 • エラー
– 明らかな間違い – 修正すべき! – 「FIX」で自動修正可能
• 警告 – 間違っている可能性がある – 内容を確認し、必要に応じ修正する – 一部警告は「FIX」で自動修正可能
• 「Missing power tower/pole within power line」 • 「ノードの複製」 • 「物理的なタグの無い未接続ノード」 など
• 妥当性検査レイヤー – 検出個所を視覚的に表示
JOSM
妥当性検査
• 設定>データ妥当性検証 – 「要求に応じて」列
• 検査実行時に行う検査項目
– 「アップロード時」列 • データのアップロード直前に 自動実行する検査項目
• データ量が多いと 時間が掛かる場合あり
検査項目の設定が出来る
JOSM
編集 :: ショートカットキー
• コピー – コピーするオブジェクトを選択して・・ – Ctrl + C (Win) – Command + C (Mac)
• ペースト – ペーストするオブジェクトを選択して・・ – Ctrl + V (Win) – Command + V (Mac) – マウスの位置にペーストされる
• タグだけペースト – タグだけ貼付けるオブジェクトを選択して・・ – Ctrl + Shift + V (Win) – Option + Command + V (Mac) – コピーしたオブジェクトのタグだけペーストされる
コピー・ペースト・タグだけコピー
JOSM
ノードとウェイの3つの繋がり方
一見同じに見えても、繋がり方が違う
Way - A
Way - A Way - B
Way - A Way - B
Node共有
Node重複
横から見てみる
JOSM
ツール :: ショートカットキー
• ウェイの分割 – ウェイを構成するノードを1つ選択 – P (Win & Mac) – 選択したノードより2つのウェイに分割
• ウェイの結合 – ノードを共有する2つのウェイを選択 – C (Win & Mac) – 1つのウェイに結合される
• ウェイを引き離す – 2つのウェイの共有ノードを選択 – G (Win & Mac) – ノードが複製される
ウェイの分割・結合 (ノードとウェイの3つの形態)
Way - A
Way - A Way - B
Way - A Way - B
Node共有
Node重複
JOSM
ツール :: ショートカットキー
• ノードの結合 – 複数のノードを選択 – M (Win & Mac) – 1つのノードにマージされる
ノードのマージ
Way - A Way - B
Way - A Way - B
Node共有
JOSM
ツール :: ショートカットキー
• ノードを一直線に配列 – 一直線にしたいウェイを選択 若しくは、複数のノードを選択
– L (Win & Mac) – 始点と終点を基準に 一直線になる
ノードを一直線上に