LoginSignup
0
3

More than 3 years have passed since last update.

PythonとGDALを使ってウェッブマップを作ろう

Posted at

オープンソースのPythonとGDALを使って無償でGISデータを処理する方法を紹介します。今回使用するデータは国土地理院が提供している基盤地図情報の数値標高モデル。

PythonとGDALの組み合わせで上記のウェッブマップが作成されます。

インストール

まずはMinicondaを使ってPythonと必要なライブラリをインストールしましょう。ダウンロードが完了したと後はMinicondaのコマンドラインを開きPythonの仮想環境を立ち上げます(デフォルトのPython3バージョンを使用):

conda create --name myenv
conda activate myenv

次にPythonのスクリプトに使用するライブラリをインストールします:

conda install -c conda-forge gdal numpy beautifulsoup4

最後にウェッブマップ作製に使用するPythonのスクリプトをダウンロードします:

git clone https://github.com/danielhoshizaki/hillshade

使い方

まずは./data/rawディレクトリに数値標高モデルファイルがあることを確認しましょう。他のファイルをダウンロードしている場合はこの段階で./data/rawの中に置きます。

Pythonスクリプトを回す前にコードの一部を変える必要があります。condaでインストールしたライブラリGDALのパスを指定する必要があります。GDALは協力なソフトですがインストールが非常に複雑である為今回は絶対パスを使いましょう。GDALのバイナリーを探すにはLinuxのfindを使うかWindosの検索ボックスを使います。上記で作成したmyenv仮想環境のディレクトリを探せばすぐに出てきます。探すのはgdaldem.exeとgdalbuildvrt.exeが入っているはディレクトリとgdal2tiles.pyが入っているディレクトリ。見つけたらPythonスクリプトのgdal_bin_pathとgdal_tiles_pathを設定します。

準備が整ったらスクリプトを起動してウェッブマップが出来るのを待ちます。

仕組み

Pythonスクリプトは大きく分けて二つの役割を果たしています。一つはconvertと言うファンクションを使って生の数値標高モデルファイル(ZIPされたXMLファイル)をGeoTiffに変換すること。二つめの役割はコマンドラインを通してGDALに直接データを処理してもらうこと。GDALに直接流すコマンドは三つあります以下のデータ処理が行われます:

  1. 各DEMのGeoTiffを陰影起伏GeoTiffに変換
  2. 全ての陰影起伏GeoTiffをバーチャルデータセットvrtにまとめる
  3. バーチャルデータセットをウェッブマップに変換

最後に回すgdal2tilesコマンドは新規に./data/WTMSディレクトリを作ります。ディレクトリの中にはLeaflet.htmlと言うファイルがあるのでダブルクリックをしましょう。独自のウェッブマップが完成です!ただしこのウェッブマップは自分のPCで見ることしかできません.. 他の人にも見てもらい場合はGithub PagesやAWS S3に乗せるかもうちょっと頑張ってウェッブサバーに乗せてみましょう!

0
3
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
0
3