geotiffの作成

Nov. 29, 2010作成開始

はじめに

 Grassに取り込む前に実行した方がいい代表的な作業がこのgeotiff化である。geotiffはgeocodingされたraster fileである。Grass内の異なるLocation間で移動するよりも前もってgeotiff化するのがいい。フリーのアプリをインストールすれば使い勝手はいい。Yasky氏のhttp://www.yaskey.cside.tv/mapserver/note/geotiff.htmlにはSuperMap Viewer 5 libgeotiff/GeoTIFFの編集ソフトhttp://bubble.atnifty.com/modules/bwiki/index.php?geotifcp)を使う方法,月の杜工房のhttp://mf-atelier.sakura.ne.jp/mf-atelier/modules/tips/index.php/tec/create_gtif.html のMultiSpecを使う方法などがある。ここでは新たなソフトが不要でterminalから使用可能なGdal_translateを使う。gdal/ogr小技集に掲載されている方法を利用する。

I 講 義

II 演 習

I 講 義

1. tiff画像から座標系に対応した座標値を求める

  250mメッシュ(標高)Grassへの取り込み に示している「京都及大阪」の地勢図を旧測地系UTM図に投影したい。

> gdal_translate -of "GTiff" -a_srs EPSG:???? -a_ullr 左上X座標 左上Y座標 右下X座標 右下Y座標 input.tif output.tif

上のコマンドを実行することになるが,-a_ullr ulx uly lrx lry:  Assign/override the georeferenced bounds of the output file. This assigns georeferenced bounds to the output file, ignoring what would have been derived from the source file とされる。ここでulx uly lrx lryは,それぞれupper left x値,upper left y値,lower right x値,lower right y値である。ullrは,upper_left-lower_rightの略と考えられる。
 gdalでは,X座標はEasting,Y座標はNorthingを意味する。

 250mメッシュ(標高)Grassへの取り込み に示したように,取り込む予定のregionは,north: 3909620.867,south: 3836152.643,west: 500000,east: 591610.889となっている。旧測地系のUTM zone 53北半球のEPSGは,http://spatialreference.org/ref/epsg/?page=22 から,EPSG:3094: Tokyo / UTM zone 53Nである。「京都及大阪」が含まれる数値地図 200000 (地図画像) 日本-3は日本地図センターより発売されている。手持ちの5235.TIFは,1996年作成されたもので,旧測地系である。

次のようにコマンドを書くことができる。

> gdal_translate -of "GTiff" -a_srs EPSG:3094 -a_ullr 500000 3909620.867 591610.889 3836152.643 /Users/moto/grassdata/FileConvert_folder/5235.TIF /Users/moto/grassdata/FileConvert_folder/5235geo.tif

この実行は一瞬で終わる。

GRASS 6.4.0 (UTM53-tokyo):~ > gdal_translate -of "GTiff" -a_srs EPSG:3094 -a_ullr 500000 3909620.867 591610.889 3836152.643 /Users/moto/grassdata/FileConvert_folder/5235.TIF /Users/moto/grassdata/FileConvert_folder/5235geo.tif
Input file size is 4779, 3896
0...10...20...30...40...50...60...70...80...90...100 - done.
GRASS 6.4.0 (UTM53-tokyo):~ >

 出来上がったgeotifファイルをr.in.gdalでGrassに取り込む。
r.in.gdal -f input=/Users/moto/grassdata/FileConvert_folder/5235geo.tif output=5235map --overwrite

 この地図画像を,250mメッシュ(標高)の上にレンダリングして表示する。もちろん地図画像では現れないので,nvizを使う。Windows版はnvizが残念ながら使えなかったと思う。下の図はbasemapを250mメッシュ(標高)を下部レイヤーに,地図画像を上部レイヤーにしてnviz表示したものである。全く,地図画像が反映していない。

 この下の画像は,次のようにして表示した。250mメッシュ(標高)をbasemapにして,地図画像をdrape mapにしてoverlay maps from other layers (transparent null value cells)にチェック。nvizの表示例を次ぎにしめす。カラーはelevationにしている。basemapの透明度をかなり高くしている。nvizでの作業の際に,上方のDrawボタンをクリックしてrefreshするのが有効である。下の図はdemの色を薄くしたので地図画像の色が現れている。左最下部の白っぽい画像がちょっと見えているが,2D表示をしたところである。右のGIS managerのパネルでは,Basemapの透明度をかなり高くしているのがわかる。表示域が広く,縮尺がかなり小さいので地図画像の表示が点描のように見える。ラスターの上にベクトルを表示した方が地物の分布を理解できるので,nvizは画像表示が苦手と言えるだろう。

 

II 演 習

演習 Jan. 17, 2011追加修正 前もって衛星画像の処理のページを参照すること。

 ここから画像をダウンロード(3ファイルをまとめた圧縮ファイル:ETMnat_Forest_Urban_fusion.tifはETM+衛星画像のnatural画像から都市化域と森林域を抽出して統合したもの,ETMnat_Btrace.tifはETM+衛星画像のnatural画像からBlueレイヤーの森林とそれ以外の境界を抽出したもの,MapIbaraki.tifはこの矩形領域の25,000分の1地形図画像)して,Grassの世界測地系UTM座標53帯sのLocationに取り込みなさい。ETMnat_Btrace.tifについてはベクトル化しなさい。なお,この矩形領域は,世界測地系UTM経緯度 左上(34h55m45.00s, 135h29m00.00s),右下(34h46m08.00s, 135h37m30.00s)である。52.htm

以 上