QGISでは、定義済みでないCRS(Coordinate Reference System=空間参照系)を持つレイヤのために、グローバルかつプロジェクトワイドなCRSを定義することができます。 また、カスタム空間参照系を定義できますし、実行時でのベクタレイヤの投影(オンザフライプロジェクション)をサポートしています。 これらの機能によって、異なるCRSを持つレイヤを表示させたり、確実にオーバレイさせることができるようになります。
QGISは、約2700のCRSをサポートしています。 これらCRSの個々の定義は、QGISとともにインストールされているSQLiteデータベースに格納されています。 通常、データベースを直接操作する必要はありません。 実際にそういうことを行うと、投影法サポートが失敗することになりかねません。 カスタムCRSはユーザデータベースに格納されます。 カスタム空間参照系の管理に関する情報は6.4章を参照してください。
QGISで使用可能なCRSは、EPSG の定義をもとにし、 PostGIS 1.x の spatial_references テーブルから多く抽出しました。 EPSG IDはデータベース内にあり、QGISでCRSを指定する際に使うことができます。
オンザフライ投影を使用するには、 使用するデータに空間参照系情報が含まれている必要があり、 含まれていない場合にはグローバルなCRS、レイヤに対して指定したCRS、またはプロジェクトに対して指定したCRSかを定義しなければなりません。 QGISが使用するPostGISレイヤは、レイヤが生成される時に指定されていた空間参照系IDを使用します。 OGRデータでは、QGISは、フォーマットごとに特有になっているCRSを設定する手段が存在することを前提としています。 シェープファイルの場合は、Well Known Text (WKT) でのCRS設定を含むファイルを意味します。 投影法ファイルは同じシェープファイルと同じベース名を持ち、拡張子がprjです。 たとえば、alaska.shp というシェープファイルに対しては、投影法ファイルは alaska.prjという名前になります。
新しいCRSを選択した時はレイヤで利用される単位はメニューバーの[編集](Gnome, OSX) または[設定](KDE, Windows)にある プロジェクトのプロパティ画面で[一般情報]タブで自動的に変えられます。
QGISは最初のレイヤがロードされた時に地図に座標参照系をセットしません。CRSを持たないレイヤでQGISセッションを開始したときは、これらのレイヤのCRSを定義しなければなりません。この操作は、(メニューバーの)編集(Gnome, OSX)の [オプション]にあるCRSタブ、または(メニューバーの)設定の(KDE, Windows) [オプション]にあるCRSタブでグローバルまたはプロジェクト単位に設定します。図 6.1 を参照して下さい。
グローバルの既定値CRSである proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs は、 QGISで初めに定義されていますが、これは、もちろん変更できます。 新しい定義はQGISセッションの後でセーブされます。
If you want to define the coordinate reference system for a certain layer without CRS information, you can also do that in the General tab of the raster (4.3.4) and vector (3.4.8) properties dialog. If your layer already has a CRS defined, it will be displayed as shown in Figure 3.6.
デフォルトではオンザフライプロジェクションは有効にはなっていません。 この機能は現在はベクタレイヤのみサポートされています。 オンザフライプロジェクションを使うには、 [プロジェクトのプロパティ]を開いて、座標参照系(CRS)タグを選択して、['オンザフライ'CRS変換を有効にする]チェックボックスをオンにします。画面を開くには二つの方法があります:
既にレイヤをロードしていて、オンザフライプロジェクションを有効にしたい場合は、 プロジェクトの プロジェクトのプロパティ 画面の[座標参照系(CRS)]タブを開いて、現在ロードされているレイヤのCRSを選択して、 オンザフライプロジェクションチェックボックスをオンにするのが最良の方法です。 [CRSステータス]アイコンは緑色になり、これ以後にロードされたベクタレイヤは全て定義されたCRSにオンザフライで投影変換されます。
プロジェクトのプロパティ 画面の[座標参照系(CRS)]タブは図 6.2 に示され、下記に説明している5つの重要なコンポーネントがあります。
QGISが使用しなければならないCRSを提供していない場合は、カスタムCRSを定義できます。 CRSを定義するには 編集(Gnome, OSX) または 設定(KDE,Windows) メニューから Custom CRS を選択します。 カスタムCRSはQGISのユーザデータベースに格納されます。 また、このデータベースには、カスタムCRSだけでなく、空間ブックマークと他のカスタムデータが格納されます。
QGISでカスタムCRSを定義する際には、投影変換ライブラリであるProj4を十分に理解する必要があります。 はじめに、 the Cartographic Projection Procedures for the UNIX Environment - A User's Manual by Gerald I. Evenden, U.S. Geological Survey Open-File Report 90-284, 1990 (available at ftp://ftp.remotesensing.org/proj/OF90-284.pdf) を参照してください。 このマニュアルには、proj.4 と関連コマンドラインユーティリティの使用法が記述されています。 proj.4 で使われる地図作成パラメータは、このマニュアルに記載されていて、QGISで使われるものと同じです。
The Custom Coordinate Reference System Definition ダイアログでは、CRS定義のためのパラメータが二つだけ必要です。:
新しいCRSを作成するには 新規 ボタンをクリックして、 名称とCRSパラメータを入力します。 その後 保存 ボタンをクリックしてCRSを保存します。.
注 新しいCRSを表現するには、 パラメータは +proj=-ブロックで開始されていなければいけません。
「テスト」ブロック内の 計算 ボタンをクリックし、CRSパラメータをParametersフィールドにペーストして、 まともな結果が得られるかを見ることで、CRSパラメータをテストできます。 知っているWGS84緯度経度の値をNorth、Eastフィールドにそれぞれ入力します。 計算 をクリックして、出てきた結果と、定義したCRSでの知っている値とを比較します。