MySQLのSRS定義の原典たる EPSGデータを見てみる

ちゃんと原典となるデータを見ておきたいと長いこと思っていたのですが、ようやく少しまとまった時間が取れたので、眺めてみました。EPSGデータです。
EPSGのデータは、こちらからダウンロードできます。今回は 12.005データを。
https://epsg.org/download-dataset.html


RDBMSへとインポート(登録)するためのスクリプトが提供されているので、今回はMySQL用のものをダウンロードして、登録してみました。
ざっくりテーブル構造はこんな感じ。意外とでかい。


今回の目的は、MySQLの ST_SPATIAL_REFERENCE_SYSTEMSに登録されている値がどこから来ているのかを把握すること。↓の値です。

mysql> SELECT * FROM information_schema.st_spatial_reference_systems WHERE SRS_ID=6668;
+----------+--------+--------------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+
| SRS_NAME | SRS_ID | ORGANIZATION | ORGANIZATION_COORDSYS_ID | DEFINITION                                                                                                                                                                                                                                                                                                                   | DESCRIPTION |
+----------+--------+--------------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+
| JGD2011  |   6668 | EPSG         |                     6668 | GEOGCS["JGD2011",DATUM["Japanese Geodetic Datum 2011",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","1128"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.017453292519943278,AUTHORITY["EPSG","9122"]],AXIS["Lat",NORTH],AXIS["Lon",EAST],AUTHORITY["EPSG","6668"]] | NULL        |
+----------+--------+--------------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+
1 row in set (0.00 sec)

とりあえずデータを見る

 ひとつひとつテーブルを見ながらデータを追ったり確認したりという地道な経過はすべて省略して、とりあえずこんなクエリでざっくりとデータを確認するところにたどり着いたところから。

SELECT 
  cfs.coord_ref_sys_code, cfs.coord_ref_sys_name, cfs.area_of_use_code, cfs.coord_ref_sys_kind, cfs.coord_sys_code, cfs.datum_code, 
  cfs.base_crs_code, cfs.projection_conv_code, cfs.remarks, cfs.information_source, cfs.data_source, cfs.revision_date, cfs.change_id, cfs.deprecated, cfs.show_crs,
  cs.coord_sys_name, cs.coord_sys_type, cs.dimension, cs.remarks, cs.information_source, cs.data_source, cs.revision_date, cs.change_id, cs.deprecated,
  d.datum_name, d.datum_type, d.origin_description, d.realization_epoch, d.ellipsoid_code, d.prime_meridian_code, d.remarks, d.information_source, d.data_source, d.revision_date, d.change_id, d.deprecated, d.conventional_rs_code, d.publication_date, d.frame_reference_epoch, d.realization_method_code, d.anchor_epoch,
  el.ellipsoid_name, el.semi_major_axis, el.uom_code, el.inv_flattening, el.semi_minor_axis, el.ellipsoid_shape, el.remarks, el.information_source, el.data_source, el.revision_date, el.change_id, el.deprecated,
  pm.prime_meridian_name, pm.greenwich_longitude, pm.uom_code, pm.remarks, pm.information_source, pm.data_source, pm.revision_date, pm.change_id, pm.deprecated,
  co1.coord_op_code co1_coord_op_code, co1.coord_op_name, co1.coord_op_type, co1.source_crs_code, co1.target_crs_code, co1.coord_tfm_version, co1.coord_op_variant, co1.area_of_use_code, co1.coord_op_scope, co1.coord_op_accuracy, co1.coord_op_method_code, co1.uom_code_source_coord_diff, co1.uom_code_target_coord_diff, co1.remarks, co1.information_source, co1.data_source, co1.revision_date, co1.change_id, co1.show_operation, co1.deprecated,
  co2.coord_op_code co2_coord_op_code, co2.coord_op_name, co2.coord_op_type, co2.source_crs_code, co2.target_crs_code, co2.coord_tfm_version, co2.coord_op_variant, co2.area_of_use_code, co2.coord_op_scope, co2.coord_op_accuracy, co2.coord_op_method_code, co2.uom_code_source_coord_diff, co2.uom_code_target_coord_diff, co2.remarks, co2.information_source, co2.data_source, co2.revision_date, co2.change_id, co2.show_operation, co2.deprecated
  -- ,copv.coord_op_code, copv.coord_op_method_code, copv.parameter_code, copv.parameter_value, copv.param_value_file_ref, copv.uom_code,
  -- ,copu.coord_op_method_code, copu.parameter_code, copu.sort_order, copu.param_sign_reversal
  -- ,ca.coord_axis_code, ca.coord_sys_code, ca.coord_axis_name_code, ca.coord_axis_orientation, ca.coord_axis_abbreviation, ca.uom_code, ca.coord_axis_order
FROM epsg_coordinatereferencesystem cfs
  LEFT OUTER JOIN epsg_coordinatesystem cs ON (cfs.coord_sys_code=cs.coord_sys_code)
  LEFT OUTER JOIN epsg_datum d ON (cfs.datum_code=d.datum_code)
  LEFT OUTER JOIN epsg_ellipsoid el ON (d.ellipsoid_code=el.ellipsoid_code)
  LEFT OUTER JOIN epsg_primemeridian pm ON (d.prime_meridian_code=pm.prime_meridian_code)
  LEFT OUTER JOIN epsg_coordoperation co1 ON (cfs.coord_ref_sys_code=co1.source_crs_code)
  LEFT OUTER JOIN epsg_coordoperation co2 ON (cfs.coord_ref_sys_code=co1.target_crs_code)
  -- LEFT OUTER JOIN epsg_coordinateaxis ca ON (cs.coord_sys_code=ca.coord_sys_code)
  -- LEFT OUTER JOIN epsg_coordoperationparamvalue copv ON (co1.coord_op_code=copv.coord_op_code OR co2.coord_op_code=copv.coord_op_code)
  -- LEFT OUTER JOIN epsg_coordoperationparamusage copu ON (copv.coord_op_method_code=copu.coord_op_method_code)
WHERE cfs.coord_ref_sys_code='6668'\G


結果はこれ。何やら JGD2011(地理座標)について色々な情報が得られました。

*************************** 1. row ***************************
        coord_ref_sys_code: 6668
        coord_ref_sys_name: JGD2011
          area_of_use_code: NULL
        coord_ref_sys_kind: geographic 2D
            coord_sys_code: 6422
                datum_code: 1128
             base_crs_code: 6667
      projection_conv_code: 15593
                   remarks: Replaces JGD2000 (CRS code 4612) with effect from 21st October 2011.
        information_source: EPSG. See 3D CRS for original information source.
               data_source: EPSG
             revision_date: 2019-07-17
                 change_id: 2013.063 2019.036
                deprecated: 0
                  show_crs: 1
            coord_sys_name: Ellipsoidal 2D CS. Axes: latitude, longitude. Orientations: north, east. UoM: degree
            coord_sys_type: ellipsoidal
                 dimension: 2
                   remarks: Coordinates referenced to this CS are in degrees. Any degree representation (e.g. DMSH, decimal, etc.) may be used but that used must be declared for the user by the supplier of data. Used in geographic 2D coordinate reference systems.
        information_source: OGP
               data_source: EPSG
             revision_date: 2015-05-22
                 change_id: 2008.045 2015.018
                deprecated: 0
                datum_name: Japanese Geodetic Datum 2011
                datum_type: geodetic
        origin_description: ITRF94 at epoch 1997.0 except for northern Honshu area impacted by 2011 Tohoku earthquake which is ITRF2008 at epoch 2011.395. Fundamental point: Tokyo-Taisho, latitude: 35°39'29.1572"N, longitude: 139°44'28.8869"E (of Greenwich).
         realization_epoch: 
            ellipsoid_code: 7019
       prime_meridian_code: 8901
                   remarks: Instigated under amendment to the Japanese Surveying Law with effect from 21st October 2011. Replaces JGD2000 (datum code 6612).
        information_source: Geodetic Department, Geospatial Information Authority of Japan (GSI).
               data_source: EPSG
             revision_date: 2013-12-15
                 change_id: 2013.063
                deprecated: 0
      conventional_rs_code: NULL
          publication_date: 2011-10-21
     frame_reference_epoch: NULL
   realization_method_code: NULL
              anchor_epoch: NULL
            ellipsoid_name: GRS 1980
           semi_major_axis: 6378137
                  uom_code: 9001
            inv_flattening: 298.257222101
           semi_minor_axis: NULL
           ellipsoid_shape: 1
                   remarks: Adopted by IUGG 1979 Canberra.  Inverse flattening is derived from geocentric gravitational constant GM = 3986005e8 m*m*m/s/s; dynamic form factor J2 = 108263e-8 and Earth's angular velocity = 7292115e-11 rad/s.
        information_source: "Geodetic Reference System 1980" by H. Moritz; Bulletin Geodesique
               data_source: EPSG
             revision_date: 2013-08-23
                 change_id: 1998.110 1998.320 2013.043
                deprecated: 0
       prime_meridian_name: Greenwich
       greenwich_longitude: 0
                  uom_code: 9102
                   remarks: The international reference meridian as defined first by the 1884 International Meridian Conference and later by the Bureau International de l'Heure (BIH) and then the International Earth Rotation Service (IERS).
        information_source: OGP
               data_source: EPSG
             revision_date: 2016-12-15
                 change_id: 1996.290 2016.045
                deprecated: 0
         co1_coord_op_code: 9936
             coord_op_name: JGD2011 to WGS 84 (1)
             coord_op_type: transformation
           source_crs_code: 6668
           target_crs_code: 4326
         coord_tfm_version: EPSG-Jpn
          coord_op_variant: 1
          area_of_use_code: NULL
            coord_op_scope: 
         coord_op_accuracy: 1
      coord_op_method_code: 9603
uom_code_source_coord_diff: NULL
uom_code_target_coord_diff: NULL
                   remarks: 
        information_source: IOGP
               data_source: EPSG
             revision_date: 2021-12-30
                 change_id: 2021.116
            show_operation: 1
                deprecated: 0
         co2_coord_op_code: NULL
             coord_op_name: NULL
             coord_op_type: NULL
           source_crs_code: NULL
           target_crs_code: NULL
         coord_tfm_version: NULL
          coord_op_variant: NULL
          area_of_use_code: NULL
            coord_op_scope: NULL
         coord_op_accuracy: NULL
      coord_op_method_code: NULL
uom_code_source_coord_diff: NULL
uom_code_target_coord_diff: NULL
                   remarks: NULL
        information_source: NULL
               data_source: NULL
             revision_date: NULL
                 change_id: NULL
            show_operation: NULL
                deprecated: NULL
1 row in set (0.02 sec)

AXIS情報

AXISの情報は次元2つなので複数データになってしまうので、上とは別のクエリで取得。LATとLONの順序について定義されており、なにやら色々名コードが付随しています。

mysql> SELECT cfs.coord_ref_sys_code,
    ->        ca.coord_axis_code, ca.coord_sys_code, ca.coord_axis_name_code, ca.coord_axis_orientation, ca.coord_axis_abbreviation, ca.uom_code, ca.coord_axis_order
    ->        ,uom.uom_code, uom.unit_of_meas_name, uom.unit_of_meas_type, uom.target_uom_code, uom.factor_b, uom.factor_c, uom.remarks, uom.information_source, uom.data_source, uom.revision_date, uom.change_id, uom.deprecated
    ->   FROM epsg_coordinatereferencesystem cfs
    ->     LEFT OUTER JOIN epsg_coordinateaxis ca ON (cfs.coord_sys_code=ca.coord_sys_code)
    ->     LEFT OUTER JOIN epsg_unitofmeasure uom ON (ca.uom_code=uom.uom_code)
    -> WHERE cfs.coord_ref_sys_code='6668';
+--------------------+-----------------+----------------+----------------------+------------------------+-------------------------+----------+------------------+----------+--------------------------------------------+-------------------+-----------------+------------------+----------+------------------------------------------------------------------------------------------------------------------------------------------+--------------------+-------------+---------------+-----------+------------+
| coord_ref_sys_code | coord_axis_code | coord_sys_code | coord_axis_name_code | coord_axis_orientation | coord_axis_abbreviation | uom_code | coord_axis_order | uom_code | unit_of_meas_name                          | unit_of_meas_type | target_uom_code | factor_b         | factor_c | remarks                                                                                                                                  | information_source | data_source | revision_date | change_id | deprecated |
+--------------------+-----------------+----------------+----------------------+------------------------+-------------------------+----------+------------------+----------+--------------------------------------------+-------------------+-----------------+------------------+----------+------------------------------------------------------------------------------------------------------------------------------------------+--------------------+-------------+---------------+-----------+------------+
|               6668 |             106 |           6422 |                 9901 | north                  | Lat                     |     9122 |                1 |     9122 | degree (supplier to define representation) | angle             |            9101 | 3.14159265358979 |      180 | = pi/180 radians. The degree representation (e.g. decimal, DMSH, etc.) must be clarified by suppliers of data associated with this code. | OGP                | EPSG        | 2015-11-25    | 2015.062  |          0 |
|               6668 |             107 |           6422 |                 9902 | east                   | Lon                     |     9122 |                2 |     9122 | degree (supplier to define representation) | angle             |            9101 | 3.14159265358979 |      180 | = pi/180 radians. The degree representation (e.g. decimal, DMSH, etc.) must be clarified by suppliers of data associated with this code. | OGP                | EPSG        | 2015-11-25    | 2015.062  |          0 |
+--------------------+-----------------+----------------+----------------------+------------------------+-------------------------+----------+------------------+----------+--------------------------------------------+-------------------+-----------------+------------------+----------+------------------------------------------------------------------------------------------------------------------------------------------+--------------------+-------------+---------------+-----------+------------+
2 rows in set (0.00 sec)

縦表示にするなら、こう。

*************************** 1. row ***************************
     coord_ref_sys_code: 6668
        coord_axis_code: 106
         coord_sys_code: 6422
   coord_axis_name_code: 9901
 coord_axis_orientation: north
coord_axis_abbreviation: Lat
               uom_code: 9122
       coord_axis_order: 1
               uom_code: 9122
      unit_of_meas_name: degree (supplier to define representation)
      unit_of_meas_type: angle
        target_uom_code: 9101
               factor_b: 3.14159265358979
               factor_c: 180
                remarks: = pi/180 radians. The degree representation (e.g. decimal, DMSH, etc.) must be clarified by suppliers of data associated with this code.
     information_source: OGP
            data_source: EPSG
          revision_date: 2015-11-25
              change_id: 2015.062
             deprecated: 0
*************************** 2. row ***************************
     coord_ref_sys_code: 6668
        coord_axis_code: 107
         coord_sys_code: 6422
   coord_axis_name_code: 9902
 coord_axis_orientation: east
coord_axis_abbreviation: Lon
               uom_code: 9122
       coord_axis_order: 2
               uom_code: 9122
      unit_of_meas_name: degree (supplier to define representation)
      unit_of_meas_type: angle
        target_uom_code: 9101
               factor_b: 3.14159265358979
               factor_c: 180
                remarks: = pi/180 radians. The degree representation (e.g. decimal, DMSH, etc.) must be clarified by suppliers of data associated with this code.
     information_source: OGP
            data_source: EPSG
          revision_date: 2015-11-25
              change_id: 2015.062
             deprecated: 0
2 rows in set (0.00 sec)

その他のパラメタ

その他の値について、今回使いそうなものを取得しておきます。途中の横線は私が見やすいように追加したものです。

mysql> SELECT cfs.coord_ref_sys_code, co1.source_crs_code, co1.target_crs_code 
    ->        ,copv.coord_op_code, copv.coord_op_method_code, copv.parameter_code, copv.parameter_value, copv.param_value_file_ref, copv.uom_code
    ->        ,copu.coord_op_method_code, copu.parameter_code, copu.sort_order, copu.param_sign_reversal
    ->   FROM epsg_coordinatereferencesystem cfs
    ->     LEFT OUTER JOIN epsg_coordoperation co1 ON (cfs.coord_ref_sys_code=co1.source_crs_code OR cfs.coord_ref_sys_code=co1.target_crs_code)
    ->     LEFT OUTER JOIN epsg_coordoperationparamvalue copv ON (co1.coord_op_code=copv.coord_op_code AND co1.coord_op_method_code=copv.coord_op_method_code)
    ->     LEFT OUTER JOIN epsg_coordoperationparamusage copu ON (copv.coord_op_method_code=copu.coord_op_method_code AND copv.parameter_code=copu.parameter_code)
    -> WHERE cfs.coord_ref_sys_code='6668';
+--------------------+-----------------+-----------------+---------------+----------------------+----------------+-----------------+-----------------------------+----------+----------------------+----------------+------------+---------------------+
| coord_ref_sys_code | source_crs_code | target_crs_code | coord_op_code | coord_op_method_code | parameter_code | parameter_value | param_value_file_ref        | uom_code | coord_op_method_code | parameter_code | sort_order | param_sign_reversal |
+--------------------+-----------------+-----------------+---------------+----------------------+----------------+-----------------+-----------------------------+----------+----------------------+----------------+------------+---------------------+
|               6668 |            4612 |            6668 |          6698 |                 9603 |           8605 |               0 |                             |     9001 |                 9603 |           8605 |          1 | Yes                 |
|               6668 |            4612 |            6668 |          6698 |                 9603 |           8606 |               0 |                             |     9001 |                 9603 |           8606 |          2 | Yes                 |
|               6668 |            4612 |            6668 |          6698 |                 9603 |           8607 |               0 |                             |     9001 |                 9603 |           8607 |          3 | Yes                 |
|               6668 |            4612 |            6668 |          6713 |                 9615 |           8656 |            NULL | touhokutaiheiyouoki2011.gsb |     NULL |                 9615 |           8656 |          1 | Yes                 |
+--------------------+-----------------+-----------------+---------------+----------------------+----------------+-----------------+-----------------------------+----------+----------------------+----------------+------------+---------------------+
|               6668 |            4301 |            6668 |          NULL |                 NULL |           NULL |            NULL | NULL                        |     NULL |                 NULL |           NULL |       NULL | NULL                |
|               6668 |            4301 |            6668 |          6740 |                 9615 |           8656 |            NULL | tky2jgd.gsb                 |     NULL |                 9615 |           8656 |          1 | Yes                 |
+--------------------+-----------------+-----------------+---------------+----------------------+----------------+-----------------+-----------------------------+----------+----------------------+----------------+------------+---------------------+
|               6668 |            6668 |            4326 |          9936 |                 9603 |           8605 |               0 |                             |     9001 |                 9603 |           8605 |          1 | Yes                 |
|               6668 |            6668 |            4326 |          9936 |                 9603 |           8606 |               0 |                             |     9001 |                 9603 |           8606 |          2 | Yes                 |
|               6668 |            6668 |            4326 |          9936 |                 9603 |           8607 |               0 |                             |     9001 |                 9603 |           8607 |          3 | Yes                 |
+--------------------+-----------------+-----------------+---------------+----------------------+----------------+-----------------+-----------------------------+----------+----------------------+----------------+------------+---------------------+
9 rows in set (0.00 sec)

その他コード

 今回の解析、、というか見学?に使うのでパラメタ情報も確認しておきます。

mysql> SELECT * FROM epsg_coordoperationparam 
    -> WHERE parameter_name like '%translation%';
+----------------+--------------------------------------+-------------------------------------------------------------------------------------------------------+--------------------------------+-------------+---------------+-------------------+------------+
| parameter_code | parameter_name                       | description                                                                                           | information_source             | data_source | revision_date | change_id         | deprecated |
+----------------+--------------------------------------+-------------------------------------------------------------------------------------------------------+--------------------------------+-------------+---------------+-------------------+------------+
|           1040 | Rate of change of X-axis translation | Time first derivative of X-axis translation.                                                          | EPSG guidance note number 7-2. | EPSG        | 2013-07-26    | 2013.021 2013.037 |          0 |
|           1041 | Rate of change of Y-axis translation | Time first derivative of Y-axis translation.                                                          | EPSG guidance note number 7-2. | EPSG        | 2013-07-26    | 2013.021 2013.037 |          0 |
|           1042 | Rate of change of Z-axis translation | Time first derivative of Z-axis translation.                                                          | EPSG guidance note number 7-2. | EPSG        | 2013-07-26    | 2013.021 2013.037 |          0 |
|           8605 | X-axis translation                   | The difference between the X values of a point in the target and source coordinate reference systems. | EPSG guidance note number 7-2. | EPSG        | 2013-07-21    | 2013.021          |          0 |
|           8606 | Y-axis translation                   | The difference between the Y values of a point in the target and source coordinate reference systems. | EPSG guidance note number 7-2. | EPSG        | 2013-07-21    | 2013.021          |          0 |
|           8607 | Z-axis translation                   | The difference between the Z values of a point in the target and source coordinate reference systems. | EPSG guidance note number 7-2. | EPSG        | 2013-07-21    | 2013.021          |          0 |
|           8727 | Geocentric translation file          | The name of the [path and] file containing a grid of geocentric translations..                        | EPSG guidance note number 7.   | EPSG        | 2004-03-15    |                   |          0 |
+----------------+--------------------------------------+-------------------------------------------------------------------------------------------------------+--------------------------------+-------------+---------------+-------------------+------------+
7 rows in set (0.00 sec)

MySQLのST_SPATIAL_REFERENCE_SYSTEMSでの定義との照合

SRS_ID:6668 について、MYSQLのSRS定義の値がEPSGの定義のどこから来ているのかを確認してみる。
左側がMySQLの定義、右側がEPSGの定義から。
degreeの計算がやや定義として弱い(言葉で書いてある)けど、それ以外は元ネタを特定できました。

GEOGCS[
  "JGD2011",
                                                                             coord_ref_sys_name: JGD2011
  DATUM[
    "Japanese Geodetic Datum 2011",
                                                                             datum_name: Japanese Geodetic Datum 2011
    SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],
                                                                             ellipsoid_name: GRS 1980
                                                                             semi_major_axis: 6378137
                                                                             inv_flattening: 298.257222101
                                                                             ellipsoid_code: 7019
    AUTHORITY["EPSG","1128"]
                                                                             datum_code: 1128
  ],
  PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
                                                                             prime_meridian_name: Greenwich
                                                                             greenwich_longitude: 0
                                                                             prime_meridian_code: 8901
  UNIT["degree",0.017453292519943278,AUTHORITY["EPSG","9122"]],
                                                                             unit_of_meas_name: degree (supplier to define representation)
                                                                             unit_of_meas_type: angle
                                                                             uom_code: 9122
                                                                             factor_b: 3.14159265358979
                                                                             factor_c: 180
                                                                             remarks: = pi/180 radians. The degree representation (e.g. decimal, DMSH, etc.) must be clarified by suppliers of data associated with this code.
  AXIS["Lat",NORTH],
                                                                             coord_axis_order: 1
                                                                             coord_axis_orientation: north
                                                                             coord_axis_abbreviation: Lat
  AXIS["Lon",EAST],
                                                                             coord_axis_order: 2
                                                                             coord_axis_orientation: east
                                                                             coord_axis_abbreviation: Lon
  AUTHORITY["EPSG","6668"]
                                                                             coord_ref_sys_code: 6668

towgs84の根拠は

MySQLのJGD2024には towgs84の定義が含まれていません。これは古いEPSG定義には含まれていなかったものが、今になってもそのまま(最新化されずに)MySQL
で使われているせいだろうと推測しています。今回確認した EPSG v12.005では、towgs84の根拠となろう値はJGD2011にもきちんと設定されていました(ここでは値を紹介しませんが、ゼロでない数値が入っているtokyo測地系との比較をして確認しました)。

 上で「その他パラメタ」として紹介したところから、6668->4326への変換定義と思われる部分だけを抜き出したものが以下のものです(カラムも減らしました)

+--------------------+-----------------+-----------------+----------------------+----------------+-----------------+------------+---------------------+
| coord_ref_sys_code | source_crs_code | target_crs_code | coord_op_method_code | parameter_code | parameter_value | sort_order | param_sign_reversal |
+--------------------+-----------------+-----------------+----------------------+----------------+-----------------+------------+---------------------+
|               6668 |            6668 |            4326 |                 9603 |           8605 |               0 |          1 | Yes                 |
|               6668 |            6668 |            4326 |                 9603 |           8606 |               0 |          2 | Yes                 |
|               6668 |            6668 |            4326 |                 9603 |           8607 |               0 |          3 | Yes                 |
+--------------------+-----------------+-----------------+----------------------+----------------+-----------------+------------+---------------------+

この、parameter_codeが 8605, 8506, 8507のものが それぞれX,Y,Z方向への移動距離になります(ここでは省略しましたが、移動の単位が uom:9001、つまりメートルであることも定義されています)。以下が移動に関する定義です。

mysql> SELECT * FROM epsg_coordoperationparam 
    -> WHERE parameter_name like '%translation%';
+----------------+--------------------------------------+-------------------------------------------------------------------------------------------------------+--------------------------------+-------------+---------------+-------------------+------------+
| parameter_code | parameter_name                       | description                                                                                           | information_source             | data_source | revision_date | change_id         | deprecated |
+----------------+--------------------------------------+-------------------------------------------------------------------------------------------------------+--------------------------------+-------------+---------------+-------------------+------------+
|           1040 | Rate of change of X-axis translation | Time first derivative of X-axis translation.                                                          | EPSG guidance note number 7-2. | EPSG        | 2013-07-26    | 2013.021 2013.037 |          0 |
|           1041 | Rate of change of Y-axis translation | Time first derivative of Y-axis translation.                                                          | EPSG guidance note number 7-2. | EPSG        | 2013-07-26    | 2013.021 2013.037 |          0 |
|           1042 | Rate of change of Z-axis translation | Time first derivative of Z-axis translation.                                                          | EPSG guidance note number 7-2. | EPSG        | 2013-07-26    | 2013.021 2013.037 |          0 |
|           8605 | X-axis translation                   | The difference between the X values of a point in the target and source coordinate reference systems. | EPSG guidance note number 7-2. | EPSG        | 2013-07-21    | 2013.021          |          0 |
|           8606 | Y-axis translation                   | The difference between the Y values of a point in the target and source coordinate reference systems. | EPSG guidance note number 7-2. | EPSG        | 2013-07-21    | 2013.021          |          0 |
|           8607 | Z-axis translation                   | The difference between the Z values of a point in the target and source coordinate reference systems. | EPSG guidance note number 7-2. | EPSG        | 2013-07-21    | 2013.021          |          0 |
|           8727 | Geocentric translation file          | The name of the [path and] file containing a grid of geocentric translations..                        | EPSG guidance note number 7.   | EPSG        | 2004-03-15    |                   |          0 |
+----------------+--------------------------------------+-------------------------------------------------------------------------------------------------------+--------------------------------+-------------+---------------+-------------------+------------+
7 rows in set (0.00 sec)

回転に関する定義値が6668に含まれていないのが気になりますが、これはtokyo測地系(4301)の場合でも同様だったので、回転については省略時はゼロという事に決まっているのかもしれません(根拠なし)。

まとめ

 そんなわけで、測地系を語る上で一度は見ておきたかったEPSG定義を眺めてみました。 ちょっとクエリがまだイケてなくて、結合の過程で無駄に行が増えてしまったりして本当に見たい値をスムーズに見られるようになるところまでは到達できませんでしたが、なかなか面白い体験ではありました。