※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

緯度経度座標系から平面直角座標系への変換


長さや流域面積の算出には緯度経度座標系よりも平面直角座標系の方が適している。

Q-GISを立ち上げる。
前回保存したデータを読み出す。
上方のメニューの設定を選択し、その中のプロジェクトのプロパティをクリックする。
上のタブの「座標参照系」を選択する。
ここで、地理座標系ではなく、投影座標系の中のTransverse Mercatorを選択する。
JGD2000 / Japan Plane Rectangular CS VIを選択する。なお、JGD2000 / Japan Plane Rectangular CS VIのIDは417である。
すると、中央付近の白い画面に
+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80
+towgs84=0,0,0,0,0,0,0 +units=m +no_defs
の文字が現れる。その文字をコピーする。
「プロジェクトのプロパティ」の画面を閉じる。
もう一度上方のメニューの設定をクリックし、その中のカスタムCRSをクリックする。
パラメータの所に先ほどコピーしたものを貼り付ける。
ここで、前回指定した範囲である北緯34.63°、北緯34.3°、東経136.06°、東経136.66°について、平面直角座標系における座標を計算する。
まず、北西側の隅について計算する。
北西側の隅は、北緯34.63°、東経136.06°であった。
「北」の所に34.63、「東」の所に136.06を入力する。
計算をクリックする。
すると、平面直角座標系における値が出てくるので、それを「北」の部分の値(「北」で出てくる値は、南北方向についての値という意味である)については、上から4桁目、「東」(「東」で出てくる値は東西方向についての値である)については上から3桁目を四捨五入し、値を控える。
次に、南西側の隅について計算する。
南西側の隅は北緯34.3°、東経136.06°としている。
「北」の所は34.3°、東の所は変更せず、東経136.06°のままとする。
計算をクリックする
ここで出た値を、北西側と同様に四捨五入して控える。
更に、南東側の隅についての計算をする。
南東側の隅は北緯34.3°、東経136.66°としている。
「北」の所は34.3のままにしておく。「東」の所は136.66に変更する。
計算をクリックする
ここで出た値も四捨五入して控える。
最後に、北東側の値を計算する。
北東側は、北緯34.63°、東経136.66°である。
「北」の所に34.63、「東」に136.66を入力し、計算をクリックする。
そこで出た値を同様に四捨五入して控える。


すると、
   北西側の隅    北東側の隅
 (5500, -15200)  (6100, -15200)

   南西側の隅    南東側の隅
  (5500, -18900)  (6100, -18900)
となる。
上記の値は(東西方向の座標, 南北方向の座標)の順で書いた。

上記を行った後はQGISを一旦閉じる。今回は保存する必要はない。そして改めてQGISを起動する。

計算で求めた範囲を入力する


左側のアイコンの上から二つ目の星印のアイコン(新しいマップセット)をクリックする。
Nextをクリックし、次に出てくる画面で「新しいロケーションを作成」を選択し、kushidaMと打ち込む。
Nextをクリックする。
「投影法」を選択し、ID417のJGD2000 / Japan Plane Rectangular CS VIを選択する。
次に今調べた値
北-152000, 南-189000, 西5000(上記では5500となっているが、ここでは更に上から2桁目を切り捨て、5000とした), 東61000を入力する。
nextをクリックし、マップセット名(自分の名前など)を入力し、更にnextをクリックし、finishをクリックする。


精度を変更する。

左側の一番下のアイコン
現在のGrassリージョンを編集をクリックする。
読み込んだ情報には、dem, area, riverがある。これを利用するのに精度が重要となる。
demの精度は10mなので、その精度にarea, riverも合わせる。
N-S Resに10、E-W Resにも10を入力する。
了解をクリックする。

ラスタレイヤ・ベクタレイヤに手を加える。

左側のアイコンの下から3番目、トンカチのマークの「GRASSツールを開く」をクリックする。これからコマンド上で入力していく。
g.region -p
範囲を見ることができる。これを確かめた上で次の作業に入る。
次に投影法の変換を行う。
ラスタにはr.proj、ベクタにはv.projのコマンドを用いる。
r.proj help
ヘルプを見ることができる。
r.proj in=dem lo=kushida
数が多いので時間が掛かる。
ここで図を書こう。左端の上から五つ目GRASSラスタレイヤを追加をクリックする。「地図名」をdemにし、了解をクリックする。
ベクタについても同様に行う。
v.proj help
ヘルプを見る。
v.proj -l lo=kushida
kushidaのロケーションで使用できるマップがarea、riverとでる。
v.proj in=area lo=kushida
v.proj in=river lo=kushida

areaのレイヤについて、レイヤパネルの中の"area"をダブルクリックして、レイヤプロパティを出す。
塗りつぶしオプションを「なし」に、アウトラインオプションは赤色にする。
riverのレイヤについて、レイヤパネルの中の"area"をダブルクリックして、レイヤプロパティを出す。
アウトラインオプションを青色にする。

縮尺の単位を変更する。

上方のメニュー「設定」からプロジェクトのプロパティに入る。
一般情報のタブをクリックする。
レイヤ単位でメーターを選ぶ。


コマンド上で、次のように打つ。
r.watershed help
ヘルプを見ることができる。
g.region -p res=100
r.watershed -f el=dem ba=basin36km100m st=stream36km100m th=3600


細線化およびベクタ変換

QGISの画面で、今まで出していたレイヤを一度全部消す。
「ラスタレイヤを追加」をクリックする。
「位置」をkushidaM, 「地図名」をstream36km100mとして了解をクリックする。
このstream36km100mはラスタデータとなっている。これをベクタデータにしたい。
しかし、拡大して見ると、太さが一様ではないことが分かる。まず、太さを一様にする所から始める。
r.thin help
ヘルプを見ることができる。
r.thin in=stream36km100m out=stream36km100m_thin
細線化
r.to.vect in=stream36km100m_thin out=stream36km100m
ベクタ変換

流域解析

r.to.vect in=basin36km100m out=basin36km100m fe=area
を実行する。
流域ごとに分かれた図ができる。
QGISで上からstream, basin, stream, basin, area, dem の順で並べる。


今日の日付で保存する。

今日はここまでです。お疲れ様でした。
添付ファイル