可視領域を算出する「r.viewshed」コマンドについて、出力される可視領域ラスタの数値について。
「r.viewshed」コマンドでは入力DEMと視点場の位置を指定します。
「coordinates」は視点場を示すxy座標です。
observer_elevationは視点の高さで、何も指定しなければデフォルトの1.75mに設定されます。
r.viewshed input=DEM@kasi output=f08 coordinates=462317,4643958 observer_elevation=1.75
出力される可視領域は「見える」、「見えない」のニ値画像かと思いきや連続量ラスタが出力されます。
単純に可視領域を2値画像化する場合は「r.reclass」コマンドを使用します。
ニ値画像化する場合
二値画像化する場合は、あらかじめルールファイルを用意しておくほうが簡単です。ここでは「reclass.txt」というファイルにルールを記述しています。
r.reclass input=f08@kasi output=f08reclass rules=reclass.txt
ルールファイルの中身は、0〜180度を「1」、180度以上を「NULL」に指定しています。これをテキストファイルに保存しておきます。
0 thru 180 =1
180 thru 1000 =NULL
ベクタ化する場合
二値画像ラスタからベクタ化する場合は「r.to.vect」コマンドを使用します。
r.to.vect input=f08reclass@kasi output=f08 type=area
可視領域ラスタは視点場からの角度
「r.viewshed」コマンドで出力される可視領域ラスタは視点場からの視線と可視地点の鉛直方向との角度です。俯角は鋭角、仰角は鈍角になります。
可視領域ラスタをGeoTIFFに出力します。「r.out.gdal」コマンドにて。
r.out.gdal input=f08@kasi output=F08_original format=GTiff
QGISで出力して90より大きいを赤、90以下を青に設定しました。視点場(オレンジ五角形)より高い地点は赤に、低い地点は青になっています。