以下は完全に自慢ですので、それっぽいBGMを置いておきます。
地上開度とは
地上開度に関する説明は横山ほか(1999)が詳しいですが、ざっくり言うと、
直感的には, 開度は当該地点が周囲に比べて地上に突き出ている程度及び地下に食い込んでいる程度を数量化したものである。
横山隆三, 白沢道生, & 菊池祐. (1999). 開度による地形特徴の表示. 写真測量とリモートセンシング, 38(4), 26-34.
です。
地上開度を計算する方法は、SAGA GISのProtection Indexを用いることが多いですが、最近は50cmDEMなり、25cmDEMなりが登場し、計算が終わるのに三日三晩かかることが課題でした。
CUDAに対応させた話
ご存じの通り、最近は高速計算が可能な世の中になりましたので、SAGA GISのソースコードをもとに、CUDAに対応させました。
なんと50cmDEMでも3日かかっていた計算が数十秒で終わります。
使い方
平面直角座標系のGeoTiffを用意して、
python3 index.py <input_GeoTiff> <output_GeoTiff> --radius <RADIUS>
とすればよいです。RADIUSは計算幅ですので、これを小さくすればするほど時間と負荷がかかります。
・・・まあCUDAなので、そこまでですが。
何が凄いのか
言えません。
ただ、DEMをひっくり返すと地下開度まで速攻で計算できます。
出典
Conrad, O., Bechtel, B., Bock, M., Dietrich, H., Fischer, E., Gerlitz, L., Wehberg, J., Wichmann, V., and Boehner, J. (2015): System for Automated Geoscientific Analyses (SAGA) v. 2.1.4. Geosci. Model Dev., 8, 1991-2007, https://doi.org/10.5194/gmd-8-1991-2015.
謝辞
Special thanks and heartfelt appreciation to Victor Olaya for developing the original C++ program that serves as the foundation for this implementation.
コメント