2012 07 14_osm-ws_2

37
OpenStreetMap - API - JOSM - OpenStreetMap Foundation Japan OpenStreetMap TOKAI Center for GREEN COMPUTING, Nagoya Institute of Technology 早川知道 , Tom Hayakawa ( A.K.A Tom , @Tom_G3X )

description

7/14 OpenStreetMap Workshop @ Nagoya

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 データの利用

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 - 設定・フィルタ・妥当性検査 -

JOSM

JOSMの理想的な編集スタイル

左手・キーボード 操作

右手・マウス 描画

範囲選択

ズームイン/アウト

背景移動

ショートカット・キーを覚えると便利! (作業効率が格段に上がる)

JOSM

まず最初に、アカウント設定

•  アカウント設定 – 接続設定>認証

•  OSMユーザー名 •  OSMパスワード

お約束で・・・

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

妥当性検査

•  検出個所は、様々な状況があるので 検出個所と周辺の状況をよく把握してから、 修正を行うこと

修正時は、状況をよく把握して修正する事

警告個所

右クリックで「問題へズーム」

JOSM - 覚えておきたい10のショートカットキー -

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

ツール :: ショートカットキー

•  ウェイ(エリア)を円形に – 円にする閉じたウェイを選択 – O (Win & Mac) – 円形に!

円を作る(ウェイ)

JOSM

ツール :: ショートカットキー

•  円形を作成 – 3つのノードを選択 –  Shift + O (Win & Mac) –  ノードを含む円を作成

円を作る(3ノード)

JOSM

ツール :: ショートカットキー

•  ノードを一直線に配列 – 一直線にしたいウェイを選択 若しくは、複数のノードを選択

– L (Win & Mac) – 始点と終点を基準に 一直線になる

ノードを一直線上に

JOSM

ツール :: ショートカットキー

•  ノードを等間隔にする – ウェイを選択 若しくは、複数のノードを選択

–  Shift + B (Win & Mac) – 等間隔に

ノードを等間隔に

JOSM

ツール :: ショートカットキー

•  直行した形状 – エリアのウェイを選択 –  Q (Win & Mac) – 正確な四角になる

エリアを正確な四角に

JOSM

質問・疑問等ご自由にどうぞ