17.6. 空間参照系・再投影

注釈

この課題で、私たちは空間参照系を利用したプロセッシングの方法を議論します。私たちはまた、再投影というとても便利なアルゴリズムについて見てみます。

CRSはQGISプロセッシングのユーザーにとって大いなる混乱の源です。だからここに新しいレイヤーを作成するときにそれらが地理アルゴリズムでどのように扱われるかについてのいくつかの一般的なルールがあります。

  • 入力レイヤーが存在する場合は、最初のレイヤーのCRSが使用されます。これはすべての入力レイヤーのCRSである(それらは同じである必要があるため)と想定されます。CRS不一致のレイヤーを使用している場合は、それについてQGISから警告が表示されます。入力レイヤーのCRSはパラメーターダイアログ中にその名前と一緒に表示されていることに注意してください。

../../../_images/crs_layer.png
  • If there are no input layer, it will use the project CRS, unless the algorithm contains a specific CRS field (as it happened in the last lesson with the graticule algorithm)

このレッスンに対応するプロジェクトを開いてください。23030と4326という名前の2つのレイヤーが表示されるでしょう。それら両方には同じ点が含まれているが、CRSは異なっています(EPSG:23030とEPSG:4326)。QGISによりプロジェクトCRS(EPSG:4326)にその場で再投影されたので、それらは同じ場所に表示されますが、それらは実際には同じレイヤーではありません。

ジオメトリ列の出力/追加 アルゴリズムを開く。

../../../_images/add_geom.png

このアルゴリズムは、ベクターレイヤーの属性テーブルに新しい列を追加します。列の内容は、レイヤーの形状の種類によって異なります。点の場合には、各点のX及びY座標で新しい列を追加します。

入力レイヤーのフィールドに見つかる使用可能なレイヤーのリストには、それに対応するCRSを持つ各レイヤーが表示されます。それが意味するのは、それらはキャンバス内の同じ場所に表示されますが異なる方法で処理されることです。4326レイヤーを選択します。

アルゴリズムの他のパラメーターは、アルゴリズムは、それが得られたレイヤーに追加される新たな値を計算するために、座標をどのように使用するかを設定することを可能にします。ほとんどのアルゴリズムは、そのようなオプションを持っている、とだけ座標を直接使用しないでください。彼らがそうであるように、単に座標を使用するには、レイヤーCRS オプションを選択します。これは、ほとんどすべての地理アルゴリズムがどのように機能するかです。

他の2つのレイヤーとまったく同じポイントで新しいレイヤーを取得する必要があります。4326:右のレイヤーの名前をクリックすると、そのプロパティを開くと、それが入力レイヤーの同じCRSを共有していることがわかります、それは、EPSGです。レイヤーはQGISにロードされるとQGISはすでにそれについて知っているので、レイヤーのCRSを入力するよう求められることはありません。

新しいレイヤーの属性テーブルを開くと、それが各ポイントのXとY座標を持つ2つの新しいフィールドが含まれていることがわかります。

../../../_images/attribs2.png

Those coordinate values are given in the layer CRS, since we chose that option. However, even if you choose another option, the output CRS of the layer would have been the same, since the input CRS is used to set the CRS of the output layer. Choosing another option will cause the values to be different, but not the resulting point to change or the CRS of the output layer to be different to the CRS of the input one.

今、もう1つのレイヤーを使用して同じ計算を行います。結果のレイヤーはもう1つのものと正確に同じ場所にレンダリングされるのがわかるはずであり、それはEPSG:23030のCRSです、それは入力レイヤーの一つだったので。

その属性テーブルに行くと、最初に作成したレイヤーのものとは異なる値が表示されるでしょう。

../../../_images/attribs.png

これは、元のデータが異なる(それは異なるCRSを使用する)ためであり、これらの座標はそれから取られます。

このことから何を学ぶべきでしょうか?これらの例の背後にある主なアイデアは、地理アルゴリズムはレイヤーを元のデータソースにあるまま使用し、QGISでレンダリングする前に行われているかもしれない再投影は完全に無視するということです。言い換えれば、キャンバスに見えるものは信用しないで、元のデータが使用されるだろうことを常に念頭に置いてください。この場合は一度に1つのレイヤーを使用しているのでそれほど重要ではありませんが、それらの複数を必要とするアルゴリズム(例えばクリップアルゴリズムのような)では、一致したり重なったりするように見えるレイヤーは、異なるCRSを持っているかもしれないため、互いに非常に遠くにあるかもしれません。

アルゴリズムでは(次に見る再投影アルゴリズムを除いて)何も再投影を行わないので、レイヤーのCRSが一致していることを確認することは自己責任です。

CRSを扱う興味深いモジュールは再投影のモジュールです。それは入力レイヤー(再投影するもの)を有しているので、それは、特定の場合を示し、それは出力いずれかのそのCRSを使用しません。

レイヤーを再投影 アルゴリズムを開く。

../../../_images/reprojection.png

入力として、レイヤーのいずれかを選択し、先のCRSとしてEPSG:23029を選択します。アルゴリズムを実行して、入力したものと同一の新しいレイヤーを、取得しますが、異なるCRSを持ちます。QGISではそれをその場で再投影しますが、その元の座標が異なっているので、それは、他のもののように、キャンバスの同じ領域に表示されます。この新しいレイヤーを入力として使用して、追加座標が前に計算した2レイヤーの両方の属性テーブル内のものと異なっていることを検証して、 ジオメトリ列をエクスポート/追加 アルゴリズムを実行することで、それがわかるでしょう。