※2024/8/26 注意:最新の標高データはタイル形式で配信されていないようです。そのため、本モジュールは使えません。 手間ですが、基盤地図情報ダウンロードサービスからダウンロードするしか無いと思われます。
またまた地図ネタです.今回はちょっと力作です.コードは短いですが,結構便利です.
国土地理院の標高タイルから標高値を取得するpythonモジュール libgsidem2el を作ってみました.
標高タイルとは, https://maps.gsi.go.jp/development/ichiran.html#dem を見るとわかるように,タイル単位で配信される数値標高データです.
これがあると,基盤地図情報からダウンロードしなくても標高値を取得できます.
コードは以下です.
Usage
import module
import libgsidem2el as gsi
constructor
- DEM5A, DEM5B, DEM10B, DEMGMのいずれかを選択可能.
- https://maps.gsi.go.jp/help/pdf/demapi.pdf 参照
dem = gsi.libgsidem2el('DEM5A')
標高値を取得
- 引数は経度,緯度,ズームレベルです.
- ズームレベルは,DEM5A,B:15, DEM10B:0-14, DEMGM:0-8です.
el = dem.getEL(lon, lat, zoom = 15)
- getELメソッドで取得,DEM5AB,10Bは[m],DEMGMは[cm]の標高値を返す.
- それぞれの地図の対象範囲外は'outside'を返す
- 水面等により欠測の場合は,'e'を返す(地理院タイルの使用).
- 一度読み込んだタイルはクラスの変数demdfに保存するため,近接するデータの取得が高速化される反面,大領域を一度に処理する場合はメモリを消費する.
これを使って計算の準備をしています.お正月休みには準備できると思います.