10. 投影法の利用方法

座標参照系(CRS)は、数値座標を地球の表面上の位置に関連付ける方法です。 QGISでは、約7,000の標準CRSに対応しており、それぞれ異なる使用例や長所・短所があります!QGISプロジェクトやデータに対して適切な参照系を選択するのは複雑な作業になることがありますが、幸いなことにQGISではこの選択の手引きとなり、さまざまなCRSをできるだけ透過的かつ正確に使用できるようにしています。

10.1. 投影法サポートの概要

QGISでは約7,000の既知のCRSをサポートしています。これらの標準CRSは、欧州石油探査グループ(European Petroleum Search Group:EPSG)およびフランス国土地理院(Institut Geographique National de France:IGNF)によって定義されたものに基づいており、基礎となる「Proj」投影ライブラリを通じてQGISで利用できます。通常、これらの標準的な投影法は、組織:コードの組み合わせを使用して識別されます。ここで、組織は「EPSG」や「IGNF」などの組織名であり、コードは特定のCRSに関連付けられた一意の番号です。たとえば、一般的なWGS 84緯度/経度CRSは識別子「EPSG:4326」で知られており、Webマッピング標準CRSは「EPSG:3857」です。

ユーザが作成したカスタムCRSは、ユーザCRSデータベースに保存されます。カスタム座標参照システムの管理については カスタム座標参照系 のセクションを参照してください。

10.2. レイヤの座標参照系

特定のターゲットCRSにデータを正しく投影するためには、データにその座標参照系に関する情報が含まれている必要があるか、またはレイヤに正しい CRSを手動で割り当てる必要があります。PostGISレイヤの場合は、QGISはその PostGISレイヤの作成時に指定された空間参照識別子を使用します。OGRまたは GDALでサポートされているデータの場合、QGISはCRSを指定するための認識された手段の存在に依存します。例えば、シェープファイル形式の場合はレイヤの CRS のESRI Well-Known Text (WKT) 表現を含むファイルがこれに当たります。この投影法ファイルは .shp ファイルと同じベース名で、 .prj 拡張子を持っています。例を挙げると、 alaska.shp ファイルに対応する投影法ファイルは alaska.prj という名前のファイルです。

QGIS にレイヤが読み込まれるたびに、QGISはそのレイヤの正しい CRS を自動的に判断しようと試みます。ただし、CRS情報を持たずにレイヤが読み込まれた場合など、 場合によっては自動判別が不可能な場合もあります。レイヤの正しいCRSを自動的に判断できない場合のQGISの動作を以下の手順で設定することができます。

  1. 設定 ▶ options オプション... ▶ 座標参照系(CRS) を開く

    ../../../_images/options_crs1.png

    図 10.1 QGISオプションダイアログの座標参照系(CRS)タブ

  2. レイヤのCRS グループで、 :guilabel:`新しいレイヤが作成されるか、座標参照系のないレイヤが読み込まれた時... ` のアクションとして以下のうちどれかを設定します。

    • radioButtonOn 未知のCRSのまま: CRSを持たないレイヤがロードされた時にCRSを選択するプロンプトを表示せず、CRSの選択は後回しにされます。一度にたくさんのレイヤを読み込むときに便利です。CRSの選択が後回しになっているレイヤは、 レイヤ パネル内でレイヤの横にある indicatorNoCRS アイコンで識別可能です。これらのレイヤは参照されず、レイヤの座標は純粋な数値の非地球投影の値として扱われます。これはつまり プロジェクトのCRSが「投影なし」に設定された場合 と同じ動作です。

    • radioButtonOff CRSダイアログを表示: CRSを手動で選択するよう、ダイアログが表示されます。正しい選択をすることは非常に重要です。なぜなら、間違ったCRSを選択をすると、レイヤが地表の間違った位置に置かれてしまいます!付随するメタデータにレイヤの正しいCRSが記述されていることもありますが、場合によっては、使用すべき正しいCRSを決定するためにデータの元の作成者に連絡する必要があるでしょう。

    • radioButtonOff プロジェクトCRSを使う

    • radioButtonOff デフォルトCRSを使う 上にある レイヤのデフォルトCRS コンボボックスで設定されたものを使います。

ちなみに

CRSのない、あるいはCRSを間違った複数のレイヤに対して、同じCRSを一度の操作で設定するには、

  1. レイヤ パネルで複数のレイヤを選択します

  2. Ctrl+Shift+C を押します。あるいは選択したレイヤのうち一つを右クリックするか、 レイヤ ▶ レイヤCRSの設定 メニューをクリックします。

  3. 使用する正しいCRSを探し、選択します

  4. OK ボタンを押します。レイヤのプロパティダイアログの ソース タブで、CRSが正しく設定されていることを確認できます。

この設定で CRS を変更しても、基礎となっているデータソースは全く変更されないことに留意してください。QGISがレイヤの生座標を現在のQGISプロジェクト内においてどのように解釈するかを変更するだけです。

10.3. プロジェクトの座標参照系

QGIS の各プロジェクトも、関連づけられた座標参照システムを持っています。プロジェクトの CRS は、データがその基礎となる生の座標からQGISのマップキャンバス内にレンダリングされる地図平面に投影される方法を決定します。

QGIS はラスタデータとベクタデータの両方に対して「オンザフライ」の CRS 変換をサポートしています。これは、プロジェクト内の特定のマップレイヤの本来のCRS に関係なく、レイヤのCRSを常にプロジェクト用に定義された共通のCRSに自動的に変換します。舞台裏では、QGIS はプロジェクト内に含まれるすべてのレイヤを透過的にプロジェクトの CRS に再投影します。これによって、全てのレイヤがお互いに対して正しい位置にレンダリングされるのです!

QGISプロジェクトに適切なCRSを選択することが大切です。不適切なCRSを選択すると、地図が歪んで表示されたり、現実世界の地物の相対的な大きさや位置が正しく反映されない可能性があります。通常、狭い地理的領域での作業では、特定の国や行政区域内で使用される標準的なCRSが多数存在します。図化する地域にどのCRSが適当か、あるいは標準的な選択であるかを調査し、QGISプロジェクトがこれらの標準に従っていることを確認することが重要です。

デフォルトでは、QGIS はグローバルなデフォルトの投影法を使用して新しいプロジェクトを開始します。このデフォルトの CRS は EPSG:4326 (「WGS 84」としても知られています)であり、グローバルな緯度/経度ベースの参照システムです。このデフォルトCRSは 設定 ▶ options オプション...figure_projection_options を参照)の 座標参照系(CRS) タブで、 新しいプロジェクトが作られた時のCRS の設定で変更することができます。プロジェクトのCRSを、新規プロジェクトに読み込まれた最初のレイヤーのCRSに合わせて自動的に設定するオプションと、新規作成されたすべてのプロジェクトで使用するデフォルトのCRSを選択するオプションがあります。この選択はその後の QGIS セッションで使用するために保存されます。

プロジェクトのCRSは プロジェクト ▶ プロパティ... ダイアログの 座標参照系 タブからも設定できます。また、QGISのステータスバーの右下にも表示されます。

../../../_images/projectionDialog.png

図 10.2 プロジェクトのプロパティダイアログ

利用可能なオプションは次のとおりです。

  • unchecked 投影なし(または未知/非地球投影): この設定をチェックすると、QGISプロジェクト内の全ての投影処理が無効となり、全てのレイヤとマップ座標が単純な2Dデカルト座標として扱われ、地表上の位置とは無関係になります。この設定はレイヤのCRSを(生の座標に基づいて)推測したり、ロールプレイングゲームのマップや建物のマップ、微視的な事柄のような地球以外の用途でQGISを使ったりする場合に使用できます。この場合、以下のような設定が適用されます。

    • レイヤのレンダリング時に再投影は行われません。地物は生の座標を使って描画されるだけです。

    • 距離面積の計算で前提となる楕円体は強制的に「None/Planimetric」で固定されます。

    • 距離や面積の単位、座標表示は強制的に「不明な単位」で固定され、距離や面積の測定値はすべて未知の地図単位となり、変換はできません。

  • または、既存の座標参照系で 地理的座標系投影された座標系 あるいは ユーザ定義の座標系 を使用することができます。CRSの地球上における適用範囲のプレビューが表示されるため、適切なCRSを選択するのに役立ちます。プロジェクトに追加されたレイヤは、重ね合わせるために元のCRSに関係なくオンザフライでこのCRSに変換されます。使用する単位や楕円体の設定が可能かつ意味があり、これに応じて距離や面積の計算を行うことができます。

QGISプロジェクトで新しいCRSを選択すると、 プロジェクトのプロパティ ダイアログ( プロジェクト->プロパティ... )の 一般情報 タブにある計測単位が選択したCRSに適合するように自動的に変更されます。たとえば、一部のCRSは座標をメートルではなくフィートで定義するため、QGISプロジェクトをこれらのCRSのいずれかに設定すると、デフォルトでフィートを使用して測定するようにプロジェクトが設定されます。

ちなみに

レイヤのCRSをプロジェクトに設定する

レイヤのCRSを使用して、プロジェクトにCRSを割り当てることができます。

  1. レイヤ パネルでCRSを使用したいレイヤを右クリックする

  2. レイヤのCRSをプロジェクトに設定 を選択する

プロジェクトのCRSはレイヤのCRSで再定義されます。マップキャンバスの範囲や座標表示はこれに応じて更新され、プロジェクト内の全てのレイヤがオンザフライで新しいプロジェクトのCRSに変換されます。

10.4. 座標参照系の選択

このダイアログには投影法データベースが備わっており、プロジェクトやレイヤに対して座標参照系を割り当てるのに役立ちます。ダイアログ内の項目には以下のものがあります:

  • フィルター :利用したい座標系のEPSG コードの識別子または名前を知っている場合は、検索機能を使用して見つけることができます EPSG コードの識別子、または名前を入力して下さい。

  • 最近使用したCRS :日常のGIS作業でよく使うCRSがあれば、このリストに表示されます。これらのいずれかひとつをクリックするとCRSを選択できます。

  • あらかじめ定義されたCRS :これは、地理的座標系、投影された座標系およびユーザ定義の座標系など、QGISでサポートされているすべてのCRSのリストです。CRSを定義するには、該当するノードを展開してリストからCRSを選択します。現在アクティブなCRSは事前に選択されています。

  • PROJ text :投影変換エンジンであるPROJで使われるCRS文字列です。この文字列は読み取り専用であり、情報提供のために表示されています。

座標参照系のセレクタには、選択したCRSが使用可能な地理的領域の大まかなプレビューも表示されます。多くのCRSは、狭い地理的領域でのみ使用するように設計されているため、設計された領域以外では使用しないようにしてください。プレビュー地図は、CRSがリストから選択されるたびに、おおよその使用可能領域をシェーディングします。さらに、このプレビュー地図には現在のメインキャンバス地図範囲の目安も表示されます。

10.5. カスタム座標参照系

QGISで必要な座標参照系が提供されていない場合は、カスタムCRSを定義できます。CRSを定義するには 設定 メニュー から customProjection カスタム投影法... を選択します。カスタムCRSはQGISのユーザデータベースに格納されます。カスタムCRSに加えて、このデータベースには空間ブックマークやその他のカスタムデータも含まれています。

../../../_images/customProjectionDialog.png

図 10.3 カスタムCRSダイアログ

QGISでカスタムCRSを定義するには、PROJ投影ライブラリの十分な理解が必要です。まずは Gerald I. Evenden による1990年の米国地質調査所オープンファイルレポート90-284「Cartographic Projection Procedures for the UNIX Environment - A User's Manual」を参照してください( https://pubs.usgs.gov/of/1990/of90-284/ofr90-284.pdf から入手可能です)。

このマニュアルには、 proj および関連するコマンドラインユーティリティの使用方法が説明されています。 proj で使用される地図パラメータはこのユーザマニュアルに記載されており、QGISも同じものを使っています。

カスタム座標参照系の定義 ダイアログでは、CRSを定義するために必要とするパラメーターは2つだけです。

  1. わかりやすい名前

  2. PROJまたはWKT形式の地図パラメータ

新しいCRSを作成するには、 signPlus 新規CRSを追加 ボタンをクリックし、わかりやすい名前を入力し、フォーマットを選択してCRSパラメータを入力します。

検証 ボタンをクリックすると、CRSの定義が問題ない投影定義であるかどうかをテストします。

CRSのパラメータをテストして、正常な結果が得られるかどうかを確認することができます。これを行うには、既知のWGS84の緯度と経度の値をそれぞれ フィールドに入力します。 計算 をクリックして、結果を座標参照系の既知の値と比較します。

10.5.1. NTv2変換をQGISに統合する

NTv2変換ファイルをQGISに統合するには、もう1ステップ必要です。

  1. NTv2ファイル (.gsb)をQGISが使用するCRS/Proj フォルダに配置します(例えばwindowsユーザは C:\OSGeo4W64\share\proj です)

  2. nadgrids+nadgrids=nameofthefile.gsb )を カスタム座標系の定義設定▶カスタム投影法... )の パラメータ フィールドのProj定義に追加します。

    ../../../_images/nadgrids_example.png

    図 10.4 NTv2変換の設定

10.6. 測地系変換

QGIS では、デフォルトで「オンザフライ」の CRS 変換が有効になっており、異なる座標系を持つレイヤを使用すると、QGIS が透過的にプロジェクトの CRS へ再投影を行います。いくつかの CRS については、プロジェクトの CRS に再投影するために利用可能な変換が複数あります!

デフォルトでは、QGIS は利用可能な最も正確な変換を使用しようとします。しかし、変換するために追加のサポートファイルが必要な場合など、場合によってはこれが不可能な場合もあります。より正確な変換があるものの現在使用できない場合には、QGIS は警告メッセージを表示し、より正確な変換が利用可能であることと、システム上でそれを有効にするための方法を知らせてくれます。これは大抵、変換サポートファイルの外部パッケージをダウンロードし、QGISの ユーザープロファイル フォルダの下にある proj フォルダに展開する必要があるというものです。

必要に応じて、2つのCRS間で複数の変換が可能な場合にはQGISはプロンプトを表示し、データに使用する最も適切な変換を情報に基づいて選択することができます。

この設定は、 設定 ▶ options オプション ▶ 座標参照系(CRS) タブメニューの デフォルトのデータ変換 グループで行えます。

  • checkbox 測地系変換が複数利用可能な場合は尋ねる: をチェックすると、変換元CRS/変換先CRSの組み合わせに対して2つ以上の適切な測地系変換が存在する場合には、ダイアログが自動的に開き、プロジェクトで使用するものとしてそれらの測地系変換のうちどれを選択するかをユーザに尋ねます。このダイアログから変換を選択する際に デフォルト変換 のチェックボックスをオンにすると、選択した内容が保存され、新しく作成されたQGISプロジェクトに自動的に適用されます。

  • あるいは、プロジェクトにレイヤをロードしたり、レイヤを再投影したりする際にデフォルトとして使用する適切な測地系変換のリストを定義します。

    signPlus ボタンを押して 測地系変換を選択 ダイアログを開きます。それから、以下の手順で測地系変換リストの定義を行います。

    1. ドロップダウンメニューを使用するか、 setProjection CRSの選択 ウィジェットを使用してレイヤの 変換元CRS を選択します。

    2. 変換先CRS も同様に設定します。

    3. 変換元から変換先への利用可能な変換方法がテーブルに一覧表示されます。行をクリックすると、適用された設定の詳細と対応する変換精度が表示されます。

      場合によっては使用中のシステムでは利用可能でない変換があります。この場合には、変換はリストに表示されますが、選択はできません。

    4. お好みの変換方法を見つけて選択し、OK をクリックします。

      デフォルトのデータ変換 のテーブルに行が追加され、 変換元CRS変換先CRS に関する情報と、 CRS間の変換に使用される測地系変換操作( 変換元測地系変換変換先測地系変換 )の情報が含まれています。

    今後は、リストからそれを削除する (signMinus) か、リスト内のエントリを変更する (toggleEditing) までは、QGISは選択された測地系変換を自動的に使用して、これら2つのCRS間で変換を行います。

../../../_images/datumTransformation.png

図 10.5 デフォルトの測地系変換を選択する

設定 ▶ options オプション ▶ 座標参照系(CRS) タブで設定された測地系変換は、システム上で作成されるすべての新しいQGISプロジェクトにも継承されます。さらに、プロジェクトは プロジェクトのプロパティ ダイアログ( プロジェクト ▶ プロパティ... )の 座標参照系 タブで指定した固有の変換セットを持つこともできます。この設定は現在のプロジェクトにのみ適用されます。