2010.12.5作成 修正
これから述べるのは,すでに国土基盤情報10mメッシュ標高のGrassへの取り込みのバリエーションである。国土基本図などの大縮尺地図は,平面直角座標系のものである。UTM座標系に比べて4倍の位置精度を持っている。Yaskey氏のhttp://www.yaskey.cside.tv/mapserver/note/gis.html (一部ケアレスミス),tmizu23氏によるhttp://d.hatena.ne.jp/tmizu23/20091215/1260868350 などに日本の平面直角座標系などが整理されている。
茨木市周辺の系番号はVI(京都府 大阪府 福井県 滋賀県 三重県 奈良県 和歌山県の全部または一部)でSRID/EPSG番号は2448に当たる。記述のページで,距離m単位のUTM座標系を作成したので,このファイルから平面直角座標系に変換する。
1. 座標系EPSGコードの選択
GIServer® - Suppport for Geographic Transformations http://inovagis.terradue.com/giserver/epsg.asp にはEPSGコード番号が記されている。大阪付近はUTM zone 53である。大阪付近の緯度帯の名称が"S"なので,下記の表最下段のEPSG:23893 - ID74 / UTM zone 53Sを使用してgrassに取り込んだ。
EPSG:23853 - ID74 / UTM zone 53N EPSG:23886 - ID74 / UTM zone 46S
EPSG:23887 - ID74 / UTM zone 47S EPSG:23888 - ID74 / UTM zone 48S
EPSG:23889 - ID74 / UTM zone 49S EPSG:23890 - ID74 / UTM zone 50S
EPSG:23891 - ID74 / UTM zone 51S EPSG:23892 - ID74 / UTM zone 52S
EPSG:23893 - ID74 / UTM zone 53S
その結果,南北方向の座標値が次のように異常に高く,表示画像も北西ー南東軸を長軸とする多少菱形に変形した。north: -10103889.3472573 south: -10141539.3472573 west: -29470.20909706 east: 5529.79090294。GIServer®のzone番号の末尾のNとSはそれぞれ北半球,南半球を指すものであった。
2. ラスター画像の座標系の変換
さて,gdalwarpコマンドはすでにのべたように,次のように使う。
gdalwarp -s_srs "EPSG:????" -t_srs "EPSG:????" <入力ファイル名> <出力ファイル名>
具体的には,/Users/moto/grassdata/FileConvert_folder/aroundHokiTakatsukiUTM10m3.TIFファイルを,UTM zone 53Nに対応するEPSG:23853から平面直角座標系VIのEPSG:2448の座標系に変換するので,次のようになる。
GRASS 6.4.0 (JPRCS6-JGD2000):~ > gdalwarp -s_srs "EPSG:23853" -t_srs "EPSG:2448" -tr 10 10 -r bilinear -dstnodata -9999 "/Users/moto/grassdata/FileConvert_folder/aroundHokiTakatsukiUTM10m3.TIF" "/Users/moto/grassdata/FileConvert_folder/aroundHokiTakatsukiPlane6_10m3.TIF"
実行過程は,次のよう。
Creating output file that is 3484P x 3750L.
Processing input file /Users/moto/grassdata/FileConvert_folder/aroundHokiTakatsukiUTM10m3.TIF.
Using internal nodata values (eg. -9999) for image /Users/moto/grassdata/FileConvert_folder/aroundHokiTakatsukiUTM10m3.TIF.
0...10...20...30...40...50...60...70...80...90...100 - done.
r.in.gdalでGrassに取り込んで得られた画像が次のものである。
projection: 99 (Transverse Mercator)
zone: 0
datum: towgs84=0,0,0,0,0,0,0
ellipsoid: grs80
north: -101515.82047706
south: -138642.00883958
west: -56991.88879855
east: -22888.97375531
nsres: 9.99897343
ewres: 10.00085485
rows: 3713
cols: 3410
cells: 12661330
3. Grassへの取り込みdemのNEWS境界値の確認
ここで示されたNEWSの座標限界値が想定されるものと一致するのかどうかを次のサイトを使って経緯度から求めた。
http://homepage3.nifty.com/gis-i/references/convert/calcXYext.html
経度・緯度から平面直角座標系とUTM座標系への変換
(測地系はJGD2000)
-----------------------
北西隅
入力値
経度: 135° 22′ 30″
緯度: 35° 5′ 0″
平面直角座標系 第6系
UTMゾーン 第53帯
出力値
平面直角座標系
(xは東、yは北)
x :-56991.88879854826m 西境界値
y :-101515.8204770617m 北境界値
UTM座標系
x :534184.7251970199m
y :3882348.777184622m
-----------------------
南東隅
経度・緯度から平面直角座標系とUTM座標系への変換
(測地系はJGD2000)
入力値
経度: 135° 45′ 0″
緯度: 34° 45′ 0″
平面直角座標系 第6系
UTMゾーン 第53帯
出力値
平面直角座標系
(xは東、yは北)
x :-22888.9737553078m 東境界値
y :-138642.00883958343m 南境界値
UTM座標系
x :568646.9347163498m
y :3845575.6905355062m
この結果はmeter単位で一致しているので目的は達したことがわかる。
4. Locationの問題
前述のように,A Big Fish in a Little Pondのウェブページ http://abigfishinalittlepond.blogspot.com/2010/06/grass-gisgisdb.htmlに用意されたGrass用GISDBをここ1ヶ月ほど使ってきたが,今回,平面直角座標系にラスター画像などの表示に手間取るので(UTMについても手間取った),今後はこれを使わず,Grassで用意されているもの(ぼくのLocation名はPlane6_JGD2000)を利用した。
なお,Locationを削除するのはマックならFinder上で,Windowsならブラウザー上で可能である。作成するには,前もって前述のGIServer® - Suppport for Geographic Transformations http://inovagis.terradue.com/giserver/epsg.asp でEPSGコード番号を調べておき,Grass Startup時に表示されるパネルの右下のEPSG codesをクリックして,その番号を検索して,番号を選び,grabすることで簡単に作成することができる。
以 上