座標参照系 (CRSs) について再度話しましょう。前にも簡潔に触れましたが、それは実質的に何を意味するのか議論していませんでした。
このレッスンの目標: ベクタデータセットの再投影と変形をする。
マップ自身だけでなくすべてのデータのCRSはWGS84と呼ばれています。これはデータを表現するのに一般的な空間参照系(GCS)です。しかし、我々が見るように、問題があります。
現在のマップを保存します。
exercise_data/world/world.qgs で確認できる世界地図を開きます。
Zoom In ツールを使って南アフリカにズームします。
縮尺 フィールドで縮尺を設定してみてください。このフィールドは画面の下部に沿って:guilabel:ステータスバー 中にあります。南アフリカ上している間、この値を:kbd:`1:5000000`(1対5百万)に設定します。
スケール フィールドに着目したままマップ周辺をパンニングします。
縮尺が変化していることに気づきます?それはに:kbd:`1:5000000`でズームインした一点、画面の中央にあった、から離れて移動しているためです。すべてのその点を中心に、縮尺が異なっています。
理由を理解するために、地球の世界を考えます。それは北から南に沿って引かれる線があります。これらの経線は赤道で遠く離れますが、極で出会います。
GCSでは、この球に取り組んでいるが、画面は平坦です。平らな面に球を表現しようとすると、歪みが発生し、テニスボールを開いてカットし、それを平らにしようとした場合に何が起こるかに似ています。これは地図上の意味は、経線も(それらは会うことになっている)の極で、互いに均等に離れて滞在するということです。これは、地図上の離れた赤道から旅行として、見る対象の規模が大きくなると大きくなる、ということを意味します。これが私たちのために何を意味するのか、事実上、私たちの地図には一定の縮尺はないことです!
この問題を解決するには、のではなく、システム(PCS)を投影座標を使用してみましょう。PCS「プロジェクト」や縮尺変更のための手当を作り、それを修正する方法でデータを変換します。そのため、一定の規模を維持するために、我々は、PCSを使用するために私たちのデータを投影変換する必要があります。
QGISではデータを「その場で」再投影できます。これが意味することは、データ自体は別のCRSである場合でも、選択されたCRSのものであるかのように、QGISではそれを投影できるということです。
「その場で」投影を有効にするには、QGISウィンドウの下部に沿った ステータスBar にある CRS Status ボタンをクリックしてください:
表示されたダイアログで 「その場で」CRS変換を有効にする の隣のボックスをチェックします。
Filter`フィールド に語 :kbd:`global を入力します。1つのCRS(:guilabel: NSIDCのEASE-グリッドGlobal)が下のリストに表示されます。
NSIDC EASE-Grid Global をクリックしてそれを選択します。それから OK をクリックします。
南アフリカの形状が変化するのに注意してください。すべて投影法の変更によって地球の見た目としての形状が変わります。
前のように、再度 1:5000000 のスケールにズームします。
マップをパンニングします。
スケールは同じであることに注意します!
“オンザフライ”再投影は異なるCRSのデータセットを組み合わせて使う際にも用いられます。
“オンザフライ”再投影を再び無効にする:
CRS ステータス ボタンを再度クリックします。
‘オンザフライ’ CRS 変換を有効にする のチェックを解除します。
別のCRSを有するレイヤーが地図にロードされたときにQGIS 2.0では、「その場で」再投影が自動的に起動されます。「その場で」再投影がすることは何かを理解するため、この自動設定を無効にします:
レイヤーが異なるCRSを持つ場合に自動的に「その場で」再投影を有効にする のチェックを外します。
南アフリカのデータだけを持っている地図に別のベクトルレイヤーを追加します。exercise_data/世界/RSA.shp としてそれを見つけることができます。
何に気づくのですか?
レイヤは表示されません!しかし、修正するのは簡単ですよね?
レイヤの領域にズーム を選択します。
そう、今は南アフリカが見えます・・・しかし世界の残りはどこですか?
これらの二つのレイヤーの間でズームできることが判明したが、これまでそれらを同時に見ることができていません。その座標参照系は非常に異なっているからです。continents データセットは 度 であるが、RSA データセットは メートル です。それでは、ケープタウンの与えられた点としましょう RSA データセットは、およそ次のとおりです。4 100 000 メートル離れた赤道から。しかし、中に continents データセット、その同じポイントは約 33.9 度離れた赤道から。
これは、同じ距離である - しかし、QGISはそれを知りません。データを再投影することを告げていません。だから、限り、それが関係だとして、私たちが見南アフリカのバージョン RSA データセットは、正しい距離でケープタウンがありますの赤道から 4 100 000 メートル。しかし、 continents データセット中で、ケープタウンは赤道からわずか 33.9 メートル 離れたです!これが問題である理由を見ることができます
ケープタウンがあると 想定 されるところをQGISは知りません -それはデータがQGISに伝えるべきことだ。QGISにケープタウンが赤道から 34 メートル離れていて、南アフリカが北から南へ約 12 メートルしかないとデータが伝えた場合、それがQGISが描画するだろうものです。
これを正すには:
もう一度:guilabel:CRS Status ボタンをクリックして:guilabel:「その場で」CRS変換を有効にする を再び以前のように切り替える。
RSA データセットの範囲にズームします。
同じCRSに投影しているので、今、2つのデータセットは、完璧に合致します:
異なるソースからのデータを結合すると、それは彼らが同じCRSでないかもしれないことを覚えておくことが重要です。「オンザフライ」再投影は、あなたがそれらを一緒に表示することができます。
続ける前に、おそらく、オープンデータセットが異なるCRSを持つたび「オンザフライ」再投影が自動的にアクティブにする必要がありますする必要は:
再度 設定 ‣ オプション... を実行し、 CRS を選択します。
もしレイヤが異なる座標系を持つ場合,自動で ‘オンザフライ’ リプロジェクションを有効にする をチェックします。
:guilabel:`Classification`レッスンで建物のための領域を計算したときを覚えていますか?それは地域に応じて建物を分類できるようにやりました。
あなたの通常のマップ( Swellendam データを含む)を開きます。
AREA フィールドが見えるまで右側にスクロールします。
エリアはすべて非常に小さく、注意してください。おそらくゼロ。これらの領域は、度で与えられているので、これはです - データが投影座標系ではありません。平方メートルでファームの面積を計算するために、データは、同様に平方メートルでなければなりません。だから、我々はそれを再投影する必要があります。
しかし、それだけで再投影「その場で」を使用する助けにはなりません。「オンザフライ」が言うん - それは、彼らが地図に表示されてそれだけでレイヤーを再投影、データは変更されません。真のデータ自体を再投影するには、新しい投影を使用して新しいファイルにエクスポートする必要があります。
レイヤーlist 中で:guilabel:buildings レイヤーを右クリックします。
表示されるメニューで:guilabel:名前を付けて保存... を選択します。ベクトルレイヤーを...として保存 ダイアログが表示されます。
exercise_data/ に移動し、新しいレイヤーの名前を:kbd:buildings_reprojected.shp と指定します。
エンコーディング はそのままにしておきます。
レイヤーCRS`ドロップダウンの値を:guilabel:`選択されたCRS に変更します。
ドロップダウン下の ブラウズ ボタンをクリックします。
CRS セレクタ ダイアログが表示されるでしょう。
リストから :guilabel:`WGS 84 / UTM zone 34S`を選択します。
The Save vector layer as... dialog now looks like this:
新しい地図を起動し、作成したばかりの再投影レイヤーをロードします。
領域を計算する方法を思い出すには、以前の:guilabel:Classification についてのレッスンを参照してください。
前と同じ式を実行することによって 面積 フィールドを更新(または追加)します:
平方メートルで各建物の大きさを持つ:kbd:面積 フィールドが追加されます
測定の他の単位で面積を計算するには、第二列を作成するために:kbd:`AREA`フィールド例えばヘクタールのために、使用:
属性テーブルに新規の値を見てください。人々が実際にない度に、メートルで、建物の大きさを引用し、これは、はるかに便利です。それは、必要に応じて層の空間特性に依存している地域、距離、および他の値を計算する前に、あなたのデータを再投影することをお勧めします理由です。
デフォルトでは、QGISに含まれたものだけよりも多くの突起があります。また、あなた自身の投影を作成することができます。
マップを新規に開始します。
Settings ‣ Custom CRS... に行くと、このダイアログが表示されるでしょう:
Add new CRS ボタンをクリックして新しい投影法を作成します。
使用すると興味深い投影法は:kbd:Van der Grinten I と呼ばれるものです。
名称 フィールドでその名称を入力します。
他のほとんどの突起がそうであるように、この突起は、代わりに長方形の一方の円形フィールドに地球を表します。
そのパラメータとして、次の文字列を使います:
+proj=vandg +lon_0=0 +x_0=0 +y_0=0 +R_A +a=6371000 +b=6371000 +units=m +no_defs
“オンザフライ”再投影を有効にします。
新しく定義された投影を選択してください(:guilabel: `Filter`フィールドにその名前を検索)。
この投影法を適用するため、したがってマップは再投影されるでしょう:
異なる投影は、異なる目的のために有用です。正しい投影を選択することにより、あなたはマップ上の機能が正確に表現されていることを確認することができます。
このレッスンの*Advanced* セクションの材料は`この記事 <http://tinyurl.com/75b92np>`_ からとりました。
座標系についてさらに詳細な情報は`こちら<http://linfiniti.com/dla/worksheets/7_CRS.pdf>`_ で入手できます。
次のレッスンでは、QGISの様々なベクタ分析ツールを使ってベクタデータの分析をする方法について学習します。