revised at Jul. 22, 2017

1. 三匹のうり坊 fgddem.pyの利用

1. 三匹のうり坊 fgddem.pyの利用

Copyright (c) 2013, Minoru Akagi

国土地理院基盤地図情報 標高モデル JPGIS(GML)形式 に対応

国土地理院の基盤地図情報サイト: https://fgd.gsi.go.jp/download/menu.php

をGeoTIFFに変換するPythonスクリプト
http://space.geocities.jp/bischofia_vb/python/fgddem/
このサイト最上部の,ホーム|ダウンロード,
のダウンロードをクリックすると,得られる,のであるが,gdal とpythonのパスの問題で実行できないことが多々ある。これについて,次にまとめた。


問題無く実行ができる環境は次のようにすれば得られる。OSGeo4Wのデフォルトのインストール(Express Install)を実行する必要がある。アドバンスを選んで,gdal-pythonパッケージだけをインストールしても実行できない。
https://trac.osgeo.org/osgeo4w/
ここで,gdalだけでなく,GrassやQgisも初期のチェックのまま,受け入れる。

そして,
http://space.geocities.jp/bischofia_vb/python/fgddem/
から,変換ソフトをダウンロードする。

 二種類の実行方法がある。

◯バッチファイルへのドラッグ&ドロップによる方法(Windowsのみ)
1. fgddem_droptarget.batをテキストエディタで開き,2行目のOSGEO4W_ROOTの値をOSGeo4Wがインストールされているフォルダパスに変更する。(デフォルトでは,C:\OSGeo4Wなので,変更の必要性がない)
2. 国土地理院のダウンロードサイトからダウンロードしたZIPファイルをfgddem_droptarget.batにドラッグ&ドロップする。
 この場合は,zipファイルに含まれているxmlファイルだけが接合される。

◯コマンドラインでの入力による方法(Windowsの場合)
1. fgddem.pyとfgddem.batをパスの通ったフォルダにコピーする。OSGeo4Wでgdal-pythonをインストールした場合はOSGeo4W\binフォルダにコピーすればよい。
2. OSGeo4W Shellで次のようにコマンドを入力する。
fgddem -out_dir out downloads\FG-*.zip

【コマンドの説明】
fgddem.py [-replace_nodata_by_zero][-out_dir output_directory] src_files

GeoTIFFファイルは入力ファイルと同じファイルタイトルで,指定しない場合,ダウンロードフォルダに出力される。

src_files:
JPGIS(GML)形式のXMLファイルまたはそれを含むZIPファイル。ZIPファイルを指定した時は含まれるメッシュがすべて結合されて出力される。
複数指定も可能で,ワイルドカードを用いた場合マッチするファイル毎にGeoTIFFファイルが出力される。
-replace_nodata_by_zero:
このオプションを指定した場合,「データなし」の値が0に置き換えられます。「データなし」の値は設定されません。
このオプションを指定しなければ「データなし」として-9999が設定されます。
-out_dir:

————————————————
実行してのエラー例:
Traceback (most recent call last):
File "C:\OSGeo4W\bin\fgdem.py", line, in <module>
import gdal
ImportError: No module named gdal
C:\Documents and Settings\Administrator>
————————————————

この原因は次のようだ。

There are two parts to GDAL: the GDAL utilities (gdalinfo, gdalwarp, etc.) and the GDAL Python Bindings (when you call from osgeo import gdal from within a Python script.). The two can be (or could be in the past) installed separately.

The fact that you "see" gdalwarp on the command line means that you have the location of the utilities on your PATH (environment variables). Some of the utilities are self-contained, some require the Python bindings (notably those that require calling a .py file). In order for the Python bindings to work,

GDAL has to be on the PYTHON_PATH environment variable.

Find the GDAL folder (will contain gdalwarp, for instance). Find the osgeo folder in Python's Lib/site-packages. Add both to PATH and PYTHON_PATH. You should now be able to from osgeo import gdal in a fresh Python shell.

If you cannot, either you are missing some files in those locations (bad install), or you have not specified the path correctly / set the right environment variables. There's no other magic involved, it's either installed and linked correctly, or you did something wrong.

Note that for environment variables to be set and working, you need to "Apply/OK" the environement variables window(s), and also start a fresh command prompt / Python shell.

さてWindow 10の場合, http://www.pythonweb.jp/install/setup/index1.html
                                    http://proengineer.internous.co.jp/content/columnfeature/5205

などを参考に,環境変数を設定すること。

環境変数は,何らかの処理を環境に依存しない形で記述したいときに利用する。例えば,WindowsがデフォルトでインストールされるディレクトリはC:\WINDOWSなど
1台のコンピュータに複数のバージョンがインストールされていれば両方存在することもあり得る。
こういった場合,バッチ・ファイルなどの中で特定のディレクトリ名を指定する代わりに「%windir%」と書くことで,常にその時稼働しているWindowsのディレクトリを操作可能。環境変数は[システムのプロパティ]の中でユーザーが定義することも可能である。
コマンドベースでは,
set PYTHON_PATH=C:\OSGeo4W\bin;%PATH% とするか,
コントロールパネルで実行する場合は次のサイトを参考にして,
Windows 10    http://www.pythonweb.jp/install/setup/index1.html
Windows XP    https://support.microsoft.com/ja-jp/help/310519/how-to-manage-environment-variables-in-windows-xp
既存の環境変数PATH=……………の末尾に, ;C:\OSGeo4W\bin,を追加すること。

https://gist.github.com/minorua/4993166  には,
fgddem.pyのpytonプログラムリストが掲載されている。ここでは,pythonで記述され,使用している外部コマンドは,
bumpy, gdal (gdal_merge, gdalwarpなど)である。次のパッケージをインストールする必要がある。
Package Index > GDAL > 2.2.1
https://pypi.python.org/pypi/GDAL/2.2.1

以上