投影変換(Project)の仕組み
このトピックは、ArcInfo にのみ適用されます。
[投影変換(Project)] は、「サポートされている地図投影法」のリストに含まれる 2 つの投影法間での座標変換をサポートしています。マップ投影では、地球(楕円体)の表面上の地域をマップ(平面)上に表現できます。投影とは、地図上の位置を地球上の実際の位置とより正確に一致させることです。
ただし、三次元のサーフェスを二次元で表現する処理には形状、面積、距離、または方向のいずれかのパラメータの歪みが伴い、各種投影法でさまざまな種類の歪みが生じます。それぞれの投影法は、その個々の特性によって用途が分かれています。
さまざまな投影法に必要な投影パラメータの定義と説明
楕円体の長半径(Semi-Major Axis of Ellipsoid)
地球のサイズを長軸の半径で定義します。デフォルト値は、1866 年に Clarke が計測した 6,378,206 メートルです(他の軸の計測については、「回転楕円体と球体」をご参照ください)。
楕円体の短半径(Semi-Minor Axis of Ellipsoid)
地球の短い側の軸の半径です。デフォルト値は、6,356,584 メートル(Clarke の値)です。
[Spheroid] サブコマンドで楕円体を指定するか、[Parameters] サブコマンドで軸を設定します。
標準緯線(Standard Parallel)
円錐図法では、標準緯線は、円錐と地球の接点に沿った 1 本または 2 本の緯線を表します。円錐図法の地図の凡例には、標準緯線の座標が必ず記載される必要があります。
中央子午線(Central Meridian)
円錐投影法の場合は、中央子午線が、マップ上で本当に鉛直である単一の経線になります。通常は、地図の中央に位置します。地図の凡例には、中央子午線の座標が記載される必要があります。
東距(False Easting)
多くの投影法には、原点があります。たとえば、原点が中央子午線と標準緯線の交点であったり、中央子午線と投影原点の緯度に位置したりします(以下をご参照ください)。原点は、投影によって異なります。東距は、この原点を基準にして割り当てられた X 座標値です。たとえば、(緯度経度の)投影原点が地図の中央に位置する場合、東距に 0 が割り当てられると、原点の西にあるすべての地域は負となります。地図全体の X 座標軸を正にするには、東距を正の数値に設定します。
北距(False Northing)
任意の Y シフトである点を除いて、東距と似ています。投影原点が地図の中央に位置する上記の例で見ると、北距に正の値が割り当てられない限り、北にあるすべての地点は負になります。東距と北距は、メートル単位(つまり、回転楕円体と同じ単位)にする必要があります。他に、推奨ではありませんが、サブコマンド [XSHIFT] と [YSHIFT] を使用する方法があります。
投影原点の緯度(Latitude of projection's origin)
標準緯線が 2 本ある円錐図法の場合、投影を定義する緯線が 2 本あるため、[投影変換(Project)] ツールは、東距または北距がどこに設定されるのかを認識しません。投影原点の緯度は、この原点を設定する場所を特定します。
縮尺係数(Scale factor)
曲面の地球を平らな投影面に合わせるために必要な縮小や拡大の度合い。次の例では、地球の曲面が投影された表面より長いため、正しい縮小のポイントを基準にして、フィーチャを縮尺に応じて縮小する必要があります。デフォルト値は 1.0 です。
接点の b では、縮尺は正確であるため、縮尺係数は 1 です。a および c では、縮尺係数は 1 より大きくなります。
縮尺係数は、円筒図法でより広い範囲におよぶ縮尺の誤差を再調整する場合に最もよく使用されます。UTM や Great Britain National Grid などでは、0.9996 の縮尺係数が一般的です。
投影法の選択
球面座標系で角度単位(度/ラジアン)で表されている曲面を直交座標系で距離単位(フィート/メートル)で表されている平面に変換する処理には面積、形状、距離、および方向における歪みが伴います。いずれか 1 つの特性を修正する際は、他の 3 つの特性を犠牲にする必要があります。たとえば、アルベルス正積図法は他の 3 つの特性と引き換えに正確な面積を実現します。これは主題地図に役立ちます。これに対し、方位図法は方向が正角なので、ナビゲーション マップに役立ちます。
一部の一般的な投影法のパラメータの例を示します。
投影情報ファイルの作成
投影情報ファイルは、ある投影法を別の投影法に変換するために使用します。これらのファイルは、入力および出力の投影パラメータを記述するテキスト ファイルです。
次の投影情報ファイルは、カバレッジを STATEPLANE から GEOGRAPHIC に投影変換するために使用します。
INPUT PROJECTION STATEPLANE UNITS FEET ZONE 3326 DATUM NAD27 XSHIFT 1000000 PARAMETERS OUTPUT PROJECTION GEOGRAPHIC UNITS DS DATUM NAD27 PARAMETERS END
サブコマンド
投影情報ファイルは、多くのサブコマンドを使用します。サブコマンドは、多くのオプションをサポートしています。星印(*)の付いたサブコマンドは、別表にオプションをまとめています。
DATUM* |
INPUT |
XSHIFT |
DENSIFY |
OUTPUT |
YSHIFT |
END |
PARMETERS |
ZONE* |
FIPSZONE* |
PROJECTION* |
ZUNITS |
FLIP |
QUADRANT |
UNITS |
FORMAT |
SPHEROID* |
/*(コメント) |
GENERALIZE |
SWITCH |
座標系は、投影情報ファイルにリストされた一連のサブコマンドによって定義されます。投影情報ファイルは、入力および出力の投影定義をリストします。次の表は、必要なサブコマンドとその適切な順序を示したものです。
このセクションは、入力の投影を定義します。 |
INPUT PROJECTION <projection_name> UNITS <units> Other optional subcommands for the input projection . . PARAMETERS Projection-specific parameter values . . |
このセクションは、出力の投影を定義します。 |
OUTPUT PROJECTION <projection_name> UNITS <units> Other optional subcommands for the output projection . . PARAMETERS Projection-specific parameter values . . |
入力の投影が最初に指定されます。指定する入力および出力の投影は 1 つだけです。投影定義を終了するには、END を使用します。
投影情報ファイルに必要なサブコマンドは、[INPUT]、[PROJECTION]、[UNITS]、[PARAMETERS]、[OUTPUT]、[END] だけですが、入力と出力の両方の投影を定義する必要があります。
それぞれのサブコマンドを以下で説明します。括弧の中の注記は、そのサブコマンドが必須またはオプションのどちらであるかを示しています。
INPUT
構文:
INPUT
[INPUT] に続くサブコマンドは、入力の投影を定義します。[INPUT] は、テキスト ファイルから投影パラメータが入力されるときに最初に発行されるサブコマンドです。
PROJECTION
(すべての投影法で必須)
構文:
PROJECTION <projection_name>
投影法の名前。
UNITS
(すべての投影法で必須)
構文:
UNITS <unit_name> UNITS <units per meter>
座標の単位を指定します。
[GEOGRAPHIC] オプションの場合に使用できる [UNITS] キーワード:
- RADIANS
- DMS - 度、分、秒(ファイルの場合のみ有効)
- (例: 10°30' 30" は、10 30 30 とリストされます)。
- DD - 度(10 進)(例: 10.50833333)
- DD - 度分(例: 630.5)
- DD - 度秒(例: 37830.0)
その他すべての投影法に使用できる単位:
- FEET
- METERS
<units per meter> (Real number)
[投影変換(Project)] は、デフォルトで米国測量フィートを使用します。国際フィートを使用するには、「UNITS 3.280839895」を指定します。
DATUM
(球面上のデータのみをサポートする投影法を除く、すべての投影法でオプションです。)
構文:
DATUM <name> {method} DATUM NONE DATUM USER_DEFINED <dx, dy, dz> {rx, ry, rz, scale}
座標が基にする水平測地基準。入力と出力の測地基準名が定義されていて異なっている場合、測地基準変換が行われます。[投影変換(Project)] は、共通の変換方式を共有しない測地基準間では、変換を実行できません。
[DATUM] の変換方式とキーワード:
CNT |
NADCON |
THREE |
SEVEN | |
---|---|---|---|---|
NAD27 |
○ |
○ |
* |
|
NAD83 |
○ |
○ |
* |
|
HPGN |
○ |
|||
ALASKAN_ISLANDS |
○ |
|||
OLD_HAWAIIAN |
○ |
|||
WGS72 |
○ |
○ |
||
WGS84 |
○ |
○ |
||
AGD84、GDA94 |
○ |
|||
AUA_B、AUA_C、AUA_D |
○ |
* NAD27 または NAD83 のデータを、同等のキーワードを使って WGS72 または WGS84 に変換します。
<name> - 測地基準系の名前。
{method} - 指定された測地基準系の間で変換するために使用する測地基準変換方式。WGS84 変換には、2 つの方式が使用できます。1 つは、3 つのパラメータを使用し、Molodensky 変換と似ています。もう 1 つは、Bursa-Wolf 7 パラメータ変換です。その他に、北米専用の方式がいくつかあります。使用可能な方式は次のとおりです。
- NADCON - 米国の NAD27 と NAD83 を変換する標準方式です。測地基準系の有効な <name> は、NAD27、NAD83、ALASKAN_ISLANDS、OLD_HAWAIIAN、および HPGN です。対象のエリアについては、米国の方式(NADCON)をご参照ください。
- CNT - カナダの NAD27 と NAD83 を変換する標準方式です。CNT の測地基準系の有効な <name> は、NAD27 と NAD83 です。
- THREE - Bursa-Wolf 変換の 3 パラメータ バージョンで、測地基準系の原点位置の違い(X、Y、Z)に対処します。Molodensky 変換と似ています。注意:
この方式は、キーワード NAD27 および NAD83 と一緒に使用できません。
- SEVEN - Bursa-Wolf 変換としても知られている 7 パラメータ変換です。これは、原点のシフト、3 つの軸の回転、縮尺の差に対処します。現在、WGS72、WGS84、およびオーストラリアの複数の測地基準系でサポートされています。 注意:
この方式は、キーワード NAD27 および NAD83 と一緒に使用できません。
- NONE - 楕円体または球体上のデータを球体上のデータのみサポートしている投影法に投影変換する場合に使用します。また、SPHEROID を SPHERE として指定する必要があります。
- USER_DEFINED - 一連の変換パラメータが入力されることを示すキーワード。これらのパラメータは、3 または 7 のパラメータ変換を使用して、現在の測地基準系と WGS84 の間で変換するために必要です。ローカル測地基準系から WGS84 に変換するように、パラメータを入力します。WGS84 からローカル測地基準系に変換する場合は、[投影変換(Project)] は、パラメータを適切に変更します。楕円体を、[SPHEROID] サブコマンド、または [PARAMETERS] 行の長半径および短半径で指定します。
<dx, dy, dz> - 3 パラメータ変換の場合に必要なパラメータ。これらは、変換元と変換先の測地基準系と WGS84 の原点の差です。単位はメートルです。
- dx - X 軸方向の差。
- dy - Y 軸方向の差。
- dz - Z 軸方向の差。
{rx, ry, rz, scale} - 7 パラメータ(Bursa-Wolf)変換のオプションのパラメータ。軸周りの回転と、縮尺の変化を表します。デフォルト値はゼロです。回転は(座標系の原点に向かって)反時計回りに度秒で測定し、縮尺の変化は 100 万分の 1 単位で測定します。
- rx - X 軸周りの回転。
- ry - Y 軸周りの回転。
- rz - Z 軸周りの回転。
- scale - 縮尺の差。
デフォルトの {method} は、指定された <name> によって変わります。<name> が NAD27、NAD83、HPGN、ALASKAN_ISLANDS、または OLD_HAWAIIAN の場合、デフォルトの方式は NADCON です。他の <name> が指定されている場合、デフォルトの方式は、3 パラメータ変換です。NAD27 などの NADCON キーワードは、3 または 7 パラメータ方式と一緒に使用できません。ただし、同等の測地基準系のキーワードが存在します。たとえば、NAS_C という名前は、NAD27 と WGS72 間で変換します。
使用例:
DATUM NAD83 CNT DATUM NAS_B THREE DATUM USER_DEFINED -127 -50 153 0.0 0.0 -0.2 1.2 DATUM USER_DEFINED 0 0 4.5
DENSIFY
([カバー(COVER)] オプションを使用したすべての投影法のオプション)
構文:
DENSIFY <distance>
指定した距離によってカバレッジ内のすべてのアークに頂点を挿入するオプションは、入力と出力の両方の投影に適用できます。投影を実行する前に入力カバレッジに使用した場合、このサブコマンドによって、長い線形セグメントは投影プロセス中に曲線フィーチャになります。出力定義内の [GENERALIZE] サブコマンドは、投影が実行された後にアークをジェネラライズできます。
FIPSZONE
(STATEPLANE のみのオプション)
構文:
FIPSZONE <zone_number>
州平面ゾーンに対する適切な FIPS コード。有効な FIPSZONE 番号については、SPCS FLIPS ゾーンをご参照ください。
FLIP
(FILE 内の GEOGRAPHIC のオプション)
構文:
FLIP (or SWITCH) <YES | NO>
[YES] オプションは、データがファイル内で(X,Y)ではなく(Y,X)として記録されている場合に使用します。[FLIP] は、入力データが緯度経度(Y = 緯度または北距、X = 経度または東距)として整理されている場合に使用されます。[FLIP] が指定されていない場合、デフォルトは [NO] です。
FORMAT
([ファイル(FILE)] オプションを使用したすべての投影法のオプション)
構文:
FORMAT <fortran format>
入力または出力ファイルの X、Y 座標に対する特殊な形式。たとえば、入力ファイルが投影する X、Y 値より多くを含んでいたり、特殊な形式の出力ファイルを作成する場合などがあります。FORTRAN FORMAT ステートメントは、各座標の X、Y 値を読み書きするために記述することができます。書式は必ず単一引用符で囲む必要があります。形式が指定されていない場合、自由形式の読み書きが使用されます。たとえば、FORMAT ‘(10X,2F10.0)’ は、10 のスペースをスキップしてから座標の組を読み取るため、列 1 ~ 10 にある文字は無視します。出力単位を DMS に設定した場合は、-1 ~ 10 の値は 0 として返されます。また、[FORMAT] は、秒の値を整数にキャストすることで、‘UNITS DMS’ を使用して整数秒を出力することはできません。一番近い結果は、以下を使用します。
FORMAT ‘(i4,1x,i2,1x,f3.0,1x,i3,1x,i2,1x,f3.0)’
結果は次のようになります。
-152 50 50. -59 8 48.
GENERALIZE
([カバー(COVER)] オプションを使用したすべての投影法のオプション)
構文:
GENERALIZE <distance>
指定した距離によってカバレッジ内のすべてのアークをジェネラライズするオプションは、入力と出力の両方の投影に適用できます。同じ入力または出力の投影に [DENSIFY] と [GENERALIZE] の両方が指定されている場合、すべてのアークはジェネラライズされる前に頂点が挿入されます。
QUADRANT
(GEOGRAPHIC のみのオプション)経度または緯度の値が正負の符号を持たない場合のみ使用します。
構文:
QUADRANT <NW | NE | SW | SE>
地理座標(緯度経度)が入力または出力される四分円。[QUADRANT] は、緯度と経度の値が正であると想定します。四分円の指定に応じて、[QUADRANT] は対象座標の正負の符号を変更します。[QUADRANT] は対象座標の正負の符号を変更します。
[QUADRANT] がよく使用されるのは、入力座標に正しい負の数がない場合です。たとえば、米国の経度は常に負になりますが、多くの場合、正の値として記録されます。経度の値が、実際は負なのにデータでは正になっている場合、「QUADRANT NW」を指定します。
例:
81.000 41.500 85.300 36.000
QUADRANT NW の後
-81.000 41.500 -85.300 36.000
座標値に正しい符号が付いている場合は、[QUADRANT] サブコマンドを使用しないでください。上の例に QUADRANT NW を 2 回適用すると、結果は次のようになります。
81.000 41.500 85.300 36.000
[QUADRANT] は、入力ファイル、カバレッジ、グリッドから緯度経度の座標を読み取り、解釈する方法に影響します。[QUADRANT] は、特定の投影法に対して [PARAMETERS] として入力された緯度経度の値には影響しません。これらの値は、緯度と経度が正と負のどちらであるか正しい符号が含まれている必要があります。
SPHEROID
(すべての投影法でオプション)
構文:
SPHEROID <spheroid_name>
投影法が基づく回転楕円体。他の [SPHEROID] が指定されていない場合、または、投影法に固有(NEWZEALAND_GRID など)でない場合、デフォルトは Clarke 1866 です。サポートされるすべての測地基準系には、正しい楕円体がハードコーディングされています。測地基準系が記述されている場合は、[SPHEROID] サブコマンドを使用しないでください。
投影法の DATUM WGS84 PROJECT は WGS84 回転楕円体パラメータを使用します。
投影法の SPHEROID INT1909 PROJECT は新しい回転楕円体パラメータを使用します。
ARC/INFO は、測地基準系間で変換しない限り回転楕円体間で変換しません。入力に Clarke 1866 以外で定義された回転楕円体がある場合、出力は同じ回転楕円体を指定する必要があります。投影法のパラメータが、基準球体の半径を要求する場合、これは [SPHEROID] を無効にして、球体をデフォルトにします。回転楕円体のリストについては、サポートされる回転楕円体をご参照ください。
XSHIFT および YSHIFT
(すべての投影法でオプション)
構文:
XSHIFT <distance> YSHIFT <distance>
座標に追加する定数。[XSHIFT] または [YSHIFT] を使用すると、すべての座標に値(<distance> で指定)が追加されます。
[XSHIFT] と [YSHIFT] がよく使用されるのは、さまざまな解析プログラムの実行中に、座標精度を維持するために、値が 300 万 ~ 600 万範囲(特に Y)の投影座標から値を引く場合です。[XSHIFT] または [YSHIFT] を含むデータが再投影される場合、負のシフトは使用されません。データを再投影する前に、[PROJECTDEFINE] を使用して、シフト値の正負の符号を変更する必要があります。デフォルト値はゼロで、カバレッジ単位で表されます。
ZONE
(UTM と STATEPLANE のみのオプション)
構文:
ZONE <zone_number>
UTM または米国州平面座標系のゾーン番号。有効なゾーン番号については、UTM ゾーンと SPCS ゾーンをご参照ください。米国州平面座標系には [FIPSZONE] を使用します。[ZONE] で使用するコードは、元々、NAD27 SPCS の土地管理局によって設計されました。これらは、南カリフォルニアやモンタナのように新しい NAD83 SPCS ゾーンに更新されていません。
ZUNITS
(すべての投影法でオプション)
構文:
ZUNITS <units>
Z 座標の単位を指定します。主に TIN と一緒に使用されます。これは、唯一の説明情報であり、入力と出力の [ZUNITS] が異なる場合でも、[投影変換(Project)] によって変換されません。
使用できる単位
- NO(デフォルトです。[ZUNITS] は [DESCRIBE] では表示されません。)
- FEET
- METERS
- 実数(メートルあたりの単位)
- 文字列(スペースのない最大 40 文字)
PARAMETERS
(すべての投影法で必須)
構文:
PARAMETERS {semi-major axis} {semi-minor axis}
[PARAMETERS] サブコマンドは、投影法固有の一連のパラメータを指定します。これらは、パラメータ パッケージを構成します。これは、[INPUT] または [OUTPUT] セクションの最後の部分です。投影に特殊なパラメータが必要ない場合でも、必ず [PARAMETERS] を指定します。
キーワード [PARAMETERS] の後に、デフォルトでない楕円体の長半径と短半径を指定できます。
[PARAMETERS] パッケージに入力されるパラメータは、投影法によって異なります。入力する必要のあるパラメータを決定するには、各投影法の説明をご参照ください。必要なパラメータは、1 行に 1 つ入力します。パラメータの後ろにコメントを入力できます。必要に応じて、各投影法の説明にサンプル パラメータが記述されています。
一般的に、[PARAMETERS] の設定の一部として指定された緯度/経度の値は、[QUADRANT] の指定に関係なく、適切な符号(正または負)を持つ必要があります。
OUTPUT
(すべての投影法で必須)
構文:
OUTPUT
[OUTPUT] に続くサブコマンドは、出力の投影を定義します。入力の投影で前述したサブコマンドは、出力の投影にも使用できます。
/* {コメント}
(すべての投影法でオプション)
コメント文を表します。/* で始まる行は、[PARAMETERS] セクションには配置できません。
END
(すべての投影法で必須)
構文:
END
サブコマンドの入力の終了を指定します。サブコマンドのリストは、必ず [END] で終了させる必要があります。