今回のように限られた領域内にある点群のデータから

surfaceや等値線を作る場合


(1) regionとresolutionを妥当な値に設定しておく必要がある。

(2) 「限られた領域」のMASKをかけてから計算を実行する必要がある。


まず、QGISのshellを立ち上がります。
(1) Region と Resolution
g.region -p n=54N s=17N e=136E w=73E res=0.05 save=china_prec

#エラー: 不正な入力 <n=54N>

というエラーが出たら、 N、Sを消して次のようにもう一度やってください

>g.region -p n=54 s=17 e=136 w=73 res=0.05 save=china_prec --o

zone: 0
datum: wgs84
ellipsoid: wgs84
north: 54N
south: 17N
west: 73E
east: 136E
などが出るはずです。

save=china_precは、他の領域や異なるresolutionで解析を進めたときに、すぐに g.region -p region=china_precで、この設定領域に戻れるように設定を保存しています。

ここで、一旦QGISを閉じる。

(2) MASK作成の手順
(a) QGISを普通に立ち上げ、すぐに(GRASSのマップセット選択をせずに)
 * 「プラグイン」→「WFSレイヤの追加」を選択。
  「新しいWFS接続を作成する」の「接続の詳細」で
  「名称」をUNとし、「URL」に、
  http://webservices.ionicsoft.com/unData/wfs/UN
  を入れる。
ユーザー名やパスワードは空白のまま。「OK」(QGIS1.5ならいらないかもしれません)
 * 「サーバーコネクション」で、上で入力した「UN」を選択し、「接続」。
  しばらくすると、タイトル、名称、要約の下にレイヤが表示されるので、
  その中から、"COUNTRIES 1:1M wfs:COUNTRY ..."を選び、「OK」。
  全世界の国境線WFSデータがロードされるのしばらく待ちます。
  ロードが終わると、"wfs:COUNTRY"というレイヤが地図画面に表示される。
 * メニューから「レイヤ」→「Shapeファイルとして保存」→
  ファイル名の欄にcountryと入れて、適当なディレクトリに「保存」。
  「座標参照系選択」のwindowが出たら、デフォルトのWGS84のままで「OK」。

QGIS1.5なら、形式のところ ESRI Shapefileを選び、別名で保存のところcountryで、CRSのところ「ブラウズ」をクリックして、座標参照系のところWGS84を選らんでOKをクリックしてください

 * 一旦、QGISを終わります。
(b) 再度QGIを立ち上げ、今度はGRASSのマップセットChinaで以下を実行。
v.in.ogr -o dsn=. la=country out=country
  により、国境線・海岸線のシェープファイルをGRASSに取り込む。

QGIS1.5では以下のような警告が出るが、100%のところが合ってるなら一応大丈夫です

C:\>v.in.ogr -o dsn=. la=country out=country
警告: 説明内のバグ, <ポイント>内のオプション 'type' は存在しません
警告: 説明内のバグ, <ライン>内のオプション 'type' は存在しません
警告: 説明内のバグ, <境界>内のオプション 'type' は存在しません
警告: 説明内のバグ, <セントロイド>内のオプション 'type' は存在しませ
最優先の投影チェック
レイヤー: country
警告: デフォルトのドライバー/データベースはセットされています to:
      ドライバー: dbf
      データベース: $GISDBASE/$LOCATION_NAME/$MAPSET/dbf/
マップ 251 フィーチャーをインポートしています...

ベクトルマップ <country> にトポロジーを作成しています...
プリミティブを登録しています...
2136 プリミティブは登録されました
237467 頂点は登録されました
領域を作成しています...
100%
作成された領域 2115
2114 アイルは作成されました
島を接続しています...
100%
セントロイドを接続しています...
100%
ノードの数: 2125
プリミティブの数: 2136
ポイントの数: 0
ラインの数: 0
境界の数: 2136
セントロイドの数: 0
領域の数: 2115
アイルの数: 2114
間違った境界の数: 22
セントロイドのないエリアの数: 2115

警告: ポリゴンを除いています、結果は保証されていません!
100%
ベクトルマップ <country> にトポロジーを作成しています...
ノードの数: 2125
プリミティブの数: 2136
ポイントの数: 0
ラインの数: 0
境界の数: 2136
セントロイドの数: 0
領域の数: -
アイルの数: -

ポリゴンを崩します:

複写を除去します:

境界をくずします:

複写を除去します:

ノードにある境界を除去します:

ダングルをラインに変更します:

ブリッジを除去します:

ベクトルマップ <country> にトポロジーを作成しています...
領域を作成しています...
100%
作成された領域 2128
1953 アイルは作成されました
島を接続しています...
100%
ノードの数: 2425
プリミティブの数: 3225
ポイントの数: 0
ラインの数: 0
境界の数: 3225
セントロイドの数: 0
領域の数: 2128
アイルの数: 1953
セントロイドのないエリアの数: 2128
レイヤー: country


ベクトルマップ <country> にトポロジーを作成しています...
プリミティブを登録しています...
4727 プリミティブは登録されました
210861 頂点は登録されました
領域を作成しています...
100%
作成された領域 2128
1953 アイルは作成されました
島を接続しています...
100%
セントロイドを接続しています...
100%
ノードの数: 4552
プリミティブの数: 4727
ポイントの数: 0
ラインの数: 0
境界の数: 2600
セントロイドの数: 2127
領域の数: 2128
アイルの数: 1953
セントロイドのないエリアの数: 1

2127 入力ポリゴン
トータルエリア: 1.472500e+014 (2128 エリア)
重複するエリア: 0.000000e+000 (0 エリア)
カテゴリーのない領域: 3.969970e+011 (1 areas)

 * 「GRASSベクターレイヤ追加」で、画面に世界の国境線・海岸線が表示される。
   下の画像の1というところ
 * 「地物の特定」アイコン(白抜き矢印の右上にiがある)を選択し(画像の2のところ)、
  中国の領土内をクリックすると、「結果を特定」の小窓が開き、フィーチャ・値
  の情報が表示される。cat(カテゴリー番号)は182であることが分かる。
#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (wfs.png)

 * GRASS ToolsからGRASS shellを立ち上げ、
v.extract in=country out=country_china list=182 new=1
  により、中国領土だけのpolygonができる。表示。
 * このポリゴンを
v.to.rast in=country_china out=country_china use=cat
  により、ラスターに変換。表示。
 * このラスターレイヤ(中国領土)から、
g.copy rast=country_china,MASK
  により、MASKを作成する。
  これ以後のラスター系処理は、このMASKの範囲内だけで行われる。

(3) r.surf.*** でsurface データを作る。
v.surf.rst in=mean_new_annual_prec elev=elev_prec_rst zcolumn=mean
or
v.surf.idw in=mean_new_annual_prec elev=elev_prec_idw zcolumn=mean
降水量データに関しては、経験上、r.surf.idw よりもr.surf.rstの方が
見栄えの良い結果が出てきます。

(4) r.contour で等降水量線の作成。
r.contour in=prec_line out=precipitation_idw step=250
or
r.contour in=prec_line out=precipitation_rst step=250
等値線の間隔は250mm/yearの方がいいと思います。
ほかには
r.contour in=*** out=*** minlevel=*** maxlevel=*** step=***

結果は以下の通りです


precipitation_idw

precipitation_rst

今回はここまでになります。
お疲れ様でした。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2011年04月12日 13:06