EPSG を紐解く (5)

## 目次

1. [EPSG を紐解く (1) 〜 はじめに](https://qiita.com/tohka383/items/ba3b6ab0c19c33bc8f8e)
1. [EPSG を紐解く (2) 〜 基準系、楕円体、本初子午線](https://qiita.com/tohka383/items/441614010d44b38f77d9)
1. [EPSG を紐解く (3) 〜 座標参照系（測地座標参照系、鉛直座標参照系）、座標系](https://qiita.com/tohka383/items/ae4dcfd14fe8bfef8b42)
1. [EPSG を紐解く (4) 〜 座標参照系（投影座標参照系）、投影演算](https://qiita.com/tohka383/items/6bf762f8235c2c3022bb)
1. EPSG を紐解く (5) 〜 座標参照系（複合座標参照系）
1. [EPSG を紐解く (6) 〜 座標変換、 towgs84 句](https://qiita.com/tohka383/items/dcd611ab216cf91618f0)

## 複合座標参照系 (Compound CRS)

EPSG dataset では主な三次元座標参照系は、地心座標参照系の X, Y, Z または地理座標系（楕円体座標系）の緯度、経度、楕円体高。そして二次元座標参照系＋鉛直座標参照系の複合座標参照系となります。

JGD2011 では [CRS:6697 JGD2011 + JGD2011 (vertical) height](https://epsg.io/6697) と、 CRS:10162 〜 CRS:10174 の平面直角座標系（ただし第13系まで）＋標高があります。

下記は [CRS:10170 JGD2011 / Japan Plane Rectangular CS IX + JGD2011 (vertical) height](https://epsg.io/10170) の関係図になります。

複合座標参照系の場合はこのように `cmpd_horizcrs_code` と `cmpd_vertcrs_code` でそれぞれ座標参照系を指定します。複合座標参照系そのものに座標系 (CS) や基準系 (Datum) などは指定しません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215290/1047d9b1-9b86-4fc0-a6bb-4e5cbdfbaa3f.png)

## JGD2024 の対応

EPSG の JGD2024 対応についての影響範囲と、個人的な意見は下記にまとめました。

https://qiita.com/tohka383/items/441614010d44b38f77d9

JGD2024 は標高成果の改定ですので、鉛直基準系である [Datum:1131 Japanese Geodetic Datum 2011 (vertical)](https://epsg.io/1131-datum) と鉛直座標参照系である [CRS:6695 JGD2011 (vertical) height](https://epsg.io/6695) の後継を追加する必要があります。

測地系については名称以外改定ないため、新たなコードで後継を追加するのか、既存レコードの名称をリネームするのか、名称変更すらせず使い続けるのかわかりません。ただ、既存コードを使い続ける場合も複合座標参照系については新たに追加する必要があります。

### PROJ 上での複合座標参照系の作成

余談ですが PROJ （少なくともコマンドラインツール）上では、 EPSG で定義されていない複合座標参照系も簡単に指定することができます。

たとえば Tokyo + JGD2011 (vertical)

```shell-session
projinfo EPSG:4301+6695
PROJ.4 string:
+proj=longlat +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0 +vunits=m +no_defs +type=crs

WKT2:2019 string:
COMPOUNDCRS["Tokyo + JGD2011 (vertical) height",
    GEOGCRS["Tokyo",
        DATUM["Tokyo",
            ELLIPSOID["Bessel 1841",6377397.155,299.1528128,
                LENGTHUNIT["metre",1]]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["degree",0.0174532925199433]],
        CS[ellipsoidal,2],
            AXIS["geodetic latitude (Lat)",north,
                ORDER[1],
                ANGLEUNIT["degree",0.0174532925199433]],
            AXIS["geodetic longitude (Lon)",east,
                ORDER[2],
                ANGLEUNIT["degree",0.0174532925199433]],
        USAGE[
            SCOPE["Geodesy."],
            AREA["Japan - onshore; North Korea - onshore; South Korea - onshore."],
            BBOX[20.37,122.83,45.54,154.05]],
        ID["EPSG",4301]],
    VERTCRS["JGD2011 (vertical) height",
        VDATUM["Japanese Geodetic Datum 2011 (vertical)"],
        CS[vertical,1],
            AXIS["gravity-related height (H)",up,
                LENGTHUNIT["metre",1]],
        USAGE[
            SCOPE["Geodesy, engineering survey."],
            AREA["Japan - onshore mainland - Hokkaido, Honshu, Shikoku, Kyushu."],
            BBOX[30.94,129.3,45.54,145.87]],
        ID["EPSG",6695]]]
```

## 次の記事

Transformation の方の Operation について見てみます。

すなわち基準系間の変換であり、旧日本測地系 (Tokyo) から日本測地系2011 (JGD2011) への変換とか、 towgs84 句とかの話です。

https://qiita.com/tohka383/items/dcd611ab216cf91618f0