WKT にみる座標系について

WKT とは Well-Known Text の略で、一般的にはジオメトリの形状などをテキスト形式で記述するための書式ですが、座標系定義についても WKT が定義されています。

ここでは最新の WKT2 の形式ではなく、わかりやすさを優先して WKT1 で説明します。

## 楕円体 (ELLIPSOID / SPHEROID)
地球をどのような楕円体でモデル化しているのかを示し、赤道半径と扁平率の逆数とともに定義されます。

たとえば次の WKT は、
```:WGS84 楕円体（ WGS84 測地系で採用されている楕円体）
SPHEROID["WGS 84",6378137,298.257223563,
    AUTHORITY["EPSG","7030"]]
```

- 楕円体（ SPHEROID ）
- "WGS 84" という名前（固有の名称というよりラベルに近い）
- 赤道半径 6,378,137 m
- 扁平率の逆数 298.257223563
- 割り当てられている識別コード [EPSG:7030](https://epsg.io/7030-ellipsoid)

ということを示しています。

キーワードは `SPHEROID` も利用できますが、これは後方互換性のために残されているもので、 `ELLIPSOID` の方が好ましいとされています。

## 測地系 (DATUM)
地理学上の測地系の定義に関してはおいといて、 WKT 上での測地系の扱いは、どのような楕円体モデルを採用しており、もし、楕円体に原点のズレや軸の向きがあればどのようなものか。ということが記述されます。

たとえば

```:WGS84　測地系
DATUM["WGS_1984",
    SPHEROID["WGS 84",6378137,298.257223563,
        AUTHORITY["EPSG","7030"]],
    AUTHORITY["EPSG","6326"]]
```

WGS84 測地系（[EPSG:6326](https://epsg.io/6326-datum)） では、 WGS84 楕円体（[EPSG:7030](https://epsg.io/7030-ellipsoid)）を採用していることを示しています。

このほか、日本測地系2000（JGD2000）以前の旧日本測地系である Tokyo Datum では、ベッセル（1841）楕円体であることのほか、 `TOWGS84` で Helmert 変換の3パラメータまたは7パラメータ表記による楕円体の原点や軸のズレが付け加えられています。

```:Tokyo Datum
DATUM["Tokyo",
    SPHEROID["Bessel 1841",6377397.155,299.1528128],
    TOWGS84[-146.414,507.337,680.507,0,0,0,0]]
```

## 地心座標系 (GEOCentric Coordinate reference System)

地心座標系では、地球（をモデル化した楕円体）の3軸を定義する必要があるため、 `DATUM` が必要となります。このほか本初子午線の `PRIMEM` や座標単位 `UNIT` が必須です。

以下は [EPSG:6666](https://epsg.io/6666) の地心座標系の JGD2011 になります。

```:JGD2011 (geocentric)
GEOCCS["JGD2011",
    DATUM["Japanese_Geodetic_Datum_2011",
        SPHEROID["GRS 1980",6378137,298.257222101]],
    PRIMEM["Greenwich",0],
    UNIT["metre",1],
    AXIS["Geocentric X",OTHER],
    AXIS["Geocentric Y",OTHER],
    AXIS["Geocentric Z",NORTH],
    AUTHORITY["EPSG","6666"]]
```

ちなみに JGD2011 には、よく使われる緯度経度座標系の [EPSG:6668](https://epsg.io/6668) や、緯度経度＋楕円体高の [EPSG:6667](https://epsg.io/6667) や緯度経度＋標高の [EPSG:6697](https://epsg.io/6697) などの3次元座標系も登録されています。

## 地理座標系 (GEOGraphic Coordinate reference System)

地理座標系では、地球（をモデル化した楕円体）の3軸および楕円体の形状（扁平率）を定義する必要があるため、 `DATUM` ( `ELLIPSOID` / `SPHEROID` )が必要となります。このほか本初子午線の `PRIMEM` や座標単位 `UNIT` が必須です。

```:WGS84
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563]],
    PRIMEM["Greenwich",0],
    UNIT["degree",0.0174532925199433,
        AUTHORITY["EPSG","9122"]],
    AUTHORITY["EPSG","4326"]]
```

## 投影座標系 (PROJected Coordinate reference System)

地球の楕円体モデル上の空間的な位置（緯度、経度）から平面上に投影されているため、空間的位置を一意に定めるため地理座標系である `GEOGCS` とそれに対する投影法 `PROJECTION` が必要となります。

下の例では、更に投影する際の中心経度を東経150度とするパラメータを追加し、太平洋中心で投影したメルカトル図法の座標系 [EPSG:3832](https://epsg.io/3832) です。

```:PDC Mercator （太平洋中心メルカトル）
PROJCS["WGS 84 / PDC Mercator",
    GEOGCS["WGS 84",
        DATUM["WGS_1984",
            SPHEROID["WGS 84",6378137,298.257223563]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433,
            AUTHORITY["EPSG","9122"]],
        AUTHORITY["EPSG","4326"]],
    PROJECTION["Mercator_1SP"],
    PARAMETER["central_meridian",150],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",0],
    PARAMETER["false_northing",0],
    UNIT["metre",1],
    AXIS["Easting",EAST],
    AXIS["Northing",NORTH],
    AUTHORITY["EPSG","3832"]]
```

詳しく説明されている記事をみつけることはできませんでしたが、 `Mercator_1SP` とはおそらく `Mercator (variant A)` [EPSG:9804](https://epsg.io/9804-method) のことだと思います。