14
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

OpenStreetMapAdvent Calendar 2019

Day 21

Overpass APIのススメ

Last updated at Posted at 2019-12-21

Overpass APIのススメ

Overpass APIとは

  • 世界中のみんなが自由に使える地図を描く&活用するプロジェクト「OpenStreetMap」の地理空間情報を扱うためのAPIです。

どんなデータがあるの?

  • OpenStreetMapに描けるデータは全て扱えます。海岸線からベンチまでOK。
  • もちろん「描ける≠描いてある」。無ければ地図に描いて世界にシェアしよう。
  • 具体的に扱えるデータについては、Map Featuresを参照してみてください。

とりあえず触ってみよう

  • Overpass turboというWebサイトを使えば、簡単にOverpass APIを使ってみることが出来ます。
  • 簡単に説明すると「地図版のコンソール」。そう、WindowsやUnixでおなじみの黒くて文字だらけの地図版です。
    image.png
  • 画面の左側にOverpass APIを操作するための言語「Overpass QL」を書く欄があります。
  • Overpass QLを書いて「実行」ボタンを押せばOverpass APIの実行結果が右側の地図に表示される仕組みです。
  • まずは、日本の都市部へ地図を移動させてください(Google Mapsと同じ要領で地図の移動と拡大縮小が出来ます)。

トイレのデータを抜き出してみる

  • そして、便利なことにOverpass QLを作る機能まであります。少しズームしてから「ウィザード」ボタンを押してください。
    image.png
  • クエリウィザードが表示されるので「toilets」と入力して「クエリを作成して実行」ボタンを押してください。
    image.png
  • しばらく待つと地図上に丸いアイコンが表示されます。このアイコンがトイレの位置を表しています。
    image.png
  • 表示された丸いアイコンをクリックしてみると、トイレの詳細(タグ)が表示されます。
    image.png

トイレの中身(データ)を見てみる

  • 画面右上の「データ」タブをクリックしてください。すると地図からデータに表示が切り替わります。
    image.png
  • JavaScript使いは分かるかと思いますが、Json形式のデータがOverPass APIから帰って来ます。
  • 「type: node」は「点(ポイント)」を意味し、latとlonは緯度経度。tagsはMap Featuresにあるタグが入ります。

世界中のトイレ情報が手の内に!

  • もちろん、建物や道路、ベンチ、海岸線、鉄道網、マンホール、湖、店舗、寺社仏閣(参道~灯籠含む)、森林(エリア)、樹木(一本)、並木。キリがないほどのデータを入手出来ます。
  • そして、それが全てオープンデータとして自由に利用することが出来ます。もちろん、ビジネスでの利用もOK。
  • データが無い?それなら描いてみよう。それが誰かの役に立つ。積み上がっていくと大きな価値になります。

参考サイト

  • もう少し具体的(JavaScriptから使うなど)な方法は、次の機会で公開しようと思います。とりあえず、以下のサイトを参考にすると開発スキルのある方なら使いこなせるかと思います。

公式Wiki

まち歩きマップメーカー

14
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?