さて、本日はPythonで国土地理院の標高API を使ってみようと思います。
標高API とは
緯度経度を送るとその地点の標高を返してくれるサービス。この仕組みを利用すれば、WEBサイト上の地図でクリックした地点の標高を取得したりすることができます。こんな便利なものを提供していただけるなんて、本当にありがたいですね。
仕様
地理院地図|標高APIをご参照ください。すごく簡単に使えますね。
例えば、このようなリクエストを投げると
http://cyberjapandata2.gsi.go.jp/general/dem/scripts/getelevation.php?lon=140.08531&lat=36.103543&outtype=JSON
このような結果が返ってきます。
「elevation」が標高ですね。
「hsrc」は標高データのデータソースみたいです。今回はこの値は無視します。
実行環境
Windows10(64bit)
Python3.6.5
Jupyter Notebook
使用する緯度経度
緯度: 35.678601
経度: 139.740286
ここがどこかといいますと永田町駅ですね。
サンプルコード
永田町駅の標高を取得するサンプルです。
import requests lat = 35.678601 # 緯度 lon = 139.740286 # 経度 url = "http://cyberjapandata2.gsi.go.jp/general/dem/scripts/getelevation.php" \ "?lon=%s&lat=%s&outtype=%s" %(lon, lat, "JSON") resp = requests.get(url, timeout=10) data = resp.json() print(data["elevation"])
ものすごく簡単にできました。結果は29.2m ですね。
取得結果が正しいか地理院地図を使用して確かめます。
29.2m としっかり表示されていますね。素晴らしい!
簡単に使用できてこんな有益な情報が取得できるなんて本当にうれしい限りです。ぜひこれを利用して何か便利なものを作ってみたいですね。