このページは機械翻訳したものです。
Press CTRL+C to copyCREATE OR REPLACE SPATIAL REFERENCE SYSTEM srid srs_attribute ... CREATE SPATIAL REFERENCE SYSTEM [IF NOT EXISTS] srid srs_attribute ... srs_attribute: { NAME 'srs_name' | DEFINITION 'definition' | ORGANIZATION 'org_name' IDENTIFIED BY org_id | DESCRIPTION 'description' } srid, org_id: 32-bit unsigned integer
このステートメントは、spatial reference system (SRS) 定義を作成し、データディクショナリに格納します。 SUPER
権限が必要です。 結果のデータディクショナリエントリは、INFORMATION_SCHEMA
ST_SPATIAL_REFERENCE_SYSTEMS
テーブルを使用して検査できます。
SRID 値は一意である必要があるため、OR REPLACE
も IF NOT EXISTS
も指定されていない場合、指定された srid
値を持つ SRS 定義がすでに存在するとエラーが発生します。
CREATE OR REPLACE
構文では、SRID 値が既存のテーブルのカラムで使用されていないかぎり、同じ SRID 値を持つ既存の SRS 定義が置換されます。 その場合、エラーが発生します。 例:
Press CTRL+C to copymysql> CREATE OR REPLACE SPATIAL REFERENCE SYSTEM 4326 ...; ERROR 3716 (SR005): Can't modify SRID 4326. There is at least one column depending on it.
SRID を使用するカラムを識別するには、次のクエリーを使用し、4326 を作成しようとしている定義の SRID に置き換えます:
Press CTRL+C to copySELECT * FROM INFORMATION_SCHEMA.ST_GEOMETRY_COLUMNS WHERE SRS_ID=4326;
CREATE ... IF NOT EXISTS
構文では、SRID 値が同じ既存の SRS 定義は無視され、警告が発生します。
SRID 値は 32 ビットの符号なし整数の範囲内である必要がありますが、次の制限があります:
SRID 0 は有効な SRID ですが、
CREATE SPATIAL REFERENCE SYSTEM
では使用できません。値が予約された SRID 範囲内にある場合は、警告が発生します。 予約済の範囲は、[0, 32767] (EPSG で予約済)、[60,000,000、69,999,999] (EPSG で予約済) および[2,000,000,000、2,147,483,647] (MySQL で予約済) です。 EPSG は「欧州石油調査グループ」を表します。
ユーザーは、予約された範囲内に SRID を持つ SRS を作成しないでください。 これにより、MySQL に配布された将来の SRS 定義と競合する SRID のリスクが実行され、その結果、新しいシステム提供の SRS が MySQL のアップグレード用にインストールされないか、ユーザー定義の SRS が上書きされます。
ステートメントの属性は、次の条件を満たす必要があります:
属性は任意の順序で指定できますが、複数回指定することはできません。
NAME
およびDEFINITION
属性は必須です。NAME
srs_name
属性値は一意である必要があります。ORGANIZATION
org_name
とorg_id
の属性値の組合せは一意である必要があります。NAME
srs_name
属性値およびORGANIZATION
org_name
属性値を空にしたり、先頭または末尾を空白にすることはできません。属性指定の文字列値に、改行を含む制御文字を含めることはできません。
-
次のテーブルに、文字列属性値の最大長を示します。
表 13.6 CREATE SPATIAL REFERENCE SYSTEM 属性長
属性 最大の長さ (文字) NAME
80 DEFINITION
4096 ORGANIZATION
256 DESCRIPTION
2048
CREATE SPATIAL REFERENCE SYSTEM
ステートメントの例を次に示します。 読みやすくするために、DEFINITION
値は複数の行にわたって再フォーマットされます。 (ステートメントを有効にするには、実際に値を単一行に指定する必要があります。)
Press CTRL+C to copyCREATE SPATIAL REFERENCE SYSTEM 4120 NAME 'Greek' ORGANIZATION 'EPSG' IDENTIFIED BY 4120 DEFINITION 'GEOGCS["Greek",DATUM["Greek",SPHEROID["Bessel 1841", 6377397.155,299.1528128,AUTHORITY["EPSG","7004"]], AUTHORITY["EPSG","6120"]],PRIMEM["Greenwich",0, AUTHORITY["EPSG","8901"]],UNIT["degree",0.017453292519943278, AUTHORITY["EPSG","9122"]],AXIS["Lat",NORTH],AXIS["Lon",EAST], AUTHORITY["EPSG","4120"]]';
SRS 定義の文法は、「OpenGIS 実装仕様: 座標変換サービス」、Revision 1.00、OGC 01-009、2001 年 1 月 12 日、7.2 セクションで定義されている文法に基づきます。 この仕様は、http://www.opengeospatial.org/standards/ct で入手できます。
MySQL では、次の変更が仕様に組み込まれています:
<horz cs>
の本番ルール (つまり、地理的および予測される SRS) のみが実装されます。<parameter>
には、オプションの非標準の<authority>
句があります。 これにより、投影パラメータを名前ではなく権限で認識できます。この指定によって、
GEOGCS
空間参照システム定義でAXIS
句が必須になることはありません。 ただし、AXIS
句がない場合、MySQL では、定義に緯度 - 経度順または経度 - 緯度順の軸があるかどうかを判断できません。 MySQL では、各GEOGCS
定義に 2 つのAXIS
句を含める必要があるという非標準要件が適用されます。 一方はNORTH
またはSOUTH
、もう一方はEAST
またはWEST
である必要があります。AXIS
句の順序によって、定義に緯度 - 経度順と経度 - 緯度順のどちらの軸があるかが決まります。SRS 定義に改行を含めることはできません。
SRS 定義で投影の権限コードが指定されている場合 (推奨)、定義に必須パラメータがないとエラーが発生します。 この場合、エラーメッセージに問題の内容が示されます。 MySQL でサポートされる投影方法および必須パラメータは、表13.7「サポートされている空間参照システム投影方法」 および 表13.8「空間参照システム予測パラメータ」 に示されています。
MySQL の SRS 定義の記述の詳細は、「MySQL 8.0 での地理空間参照システム」および「MySQL 8.0 での空間参照システムの予測」を参照してください
次のテーブルに、MySQL でサポートされる投影方法を示します。 MySQL では不明な投影方法が許可されますが、必須パラメータの定義をチェックすることはできず、空間データを不明な投影との間で変換することもできません。 式を含む各予測の動作の詳細は、「EPSG ガイダンスノート 7-2」を参照してください。
表 13.7 サポートされている空間参照システム投影方法
EPSG コード | 見積名 | 必須パラメータ (EPSG コード) |
---|---|---|
1024 | 人気のある視覚化擬似 Mercator | 8801, 8802, 8806, 8807 |
1027 | ランバートアジムタル等地区 (球面) | 8801, 8802, 8806, 8807 |
1028 | 均一円柱状 | 8823, 8802, 8806, 8807 |
1029 | 均一円筒 (球状) | 8823, 8802, 8806, 8807 |
1041 | クロヴァク語 (北方向) | 8811, 8833, 1036, 8818, 8819, 8806, 8807 |
1042 | Krovak 変更済 | 8811, 8833, 1036, 8818, 8819, 8806, 8807, 8617, 8618, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035 |
1043 | Krovak Modified (北向き) | 8811, 8833, 1036, 8818, 8819, 8806, 8807, 8617, 8618, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035 |
1051 | Lambert Conic Conformal (2SP ミシガン) | 8821, 8822, 8823, 8824, 8826, 8827, 1038 |
1052 | コロンビア都市 | 8801, 8802, 8806, 8807, 1039 |
9801 | Lambert Conic Conformal (1SP) | 8801, 8802, 8805, 8806, 8807 |
9802 | Lambert Conic Conformal (2SP) | 8821, 8822, 8823, 8824, 8826, 8827 |
9803 | Lambert Conic Conformal (2SP ベルギー) | 8821, 8822, 8823, 8824, 8826, 8827 |
9804 | Mercator (バリアント A) | 8801, 8802, 8805, 8806, 8807 |
9805 | Mercator (バリアント B) | 8823, 8802, 8806, 8807 |
9806 | Cassini-Soldner | 8801, 8802, 8806, 8807 |
9807 | Transverse Mercator | 8801, 8802, 8805, 8806, 8807 |
9808 | Transverse Mercator (南向き) | 8801, 8802, 8805, 8806, 8807 |
9809 | 液体ステレオグラフィー | 8801, 8802, 8805, 8806, 8807 |
9810 | 極立体視 (バリアント A) | 8801, 8802, 8805, 8806, 8807 |
9811 | ニュージーランド地図グリッド | 8801, 8802, 8806, 8807 |
9812 | Hotine Oblique Mercator (バリアント A) | 8811, 8812, 8813, 8814, 8815, 8806, 8807 |
9813 | Laborde Oblique Mercator | 8811, 8812, 8813, 8815, 8806, 8807 |
9815 | Hotine Oblique Mercator (バリアント B) | 8811, 8812, 8813, 8814, 8815, 8816, 8817 |
9816 | チュニジアマイニンググリッド | 8821, 8822, 8826, 8827 |
9817 | Lambert Conic Near-Conformal | 8801, 8802, 8805, 8806, 8807 |
9818 | アメリカ領ポリコン | 8801, 8802, 8806, 8807 |
9819 | Krovak | 8811, 8833, 1036, 8818, 8819, 8806, 8807 |
9820 | ランバートアジムタル等圏 | 8801, 8802, 8806, 8807 |
9822 | Albers Equal Area | 8821, 8822, 8823, 8824, 8826, 8827 |
9824 | Transverse Mercator ゾーングリッドシステム | 8801, 8830, 8831, 8805, 8806, 8807 |
9826 | ランバートコニック連合 (西方向) | 8801, 8802, 8805, 8806, 8807 |
9828 | ボンヌ (南指向) | 8801, 8802, 8806, 8807 |
9829 | 極立体視 (バリアント B) | 8832, 8833, 8806, 8807 |
9830 | 極立体視 (バリアント C) | 8832, 8833, 8826, 8827 |
9831 | グアム投影 | 8801, 8802, 8806, 8807 |
9832 | 修正済方程式 | 8801, 8802, 8806, 8807 |
9833 | 双曲線カシーニ=ソルドナー | 8801, 8802, 8806, 8807 |
9834 | ランバートシリンダル等面 (球面) | 8823, 8802, 8806, 8807 |
9835 | ランバートシリンダル等面 | 8823, 8802, 8806, 8807 |
次のテーブルに、MySQL で認識される投影パラメータを示します。 認識は主に権限コードによって行われます。 認証局コードがない場合、MySQL は、パラメータ名に一致する大/小文字を区別しない文字列にフォールバックします。 各パラメータの詳細は、「EPSG オンラインレジストリ」のコードを参照してください。
表 13.8 空間参照システム予測パラメータ
EPSG コード | フォールバック名 (MySQL で認識) | EPSG 名 |
---|---|---|
1026 | c1 | C1 |
1027 | c2 | C2 |
1028 | c3 | C3 |
1029 | c4 | C4 |
1030 | c5 | C5 |
1031 | c6 | C6 |
1032 | c7 | C7 |
1033 | c8 | C8 |
1034 | c9 | C9 |
1035 | c10 | C10 |
1036 | 方位角 | 円錐軸の同一レベル |
1038 | ellipsoid_scale_factor | 楕円体スケーリング係数 |
1039 | projection_plane_height_at_origin | 投影平面原点の高さ |
8617 | evaluation_point_ordinate_1 | 評価ポイントの序数 1 |
8618 | evaluation_point_ordinate_2 | 評価ポイントの序数 2 |
8801 | latitude_of_origin | 自然起点の緯度 |
8802 | central_meridian | 自然原点の経度 |
8805 | scale_factor | 自然原点のスケール係数 |
8806 | false_easting | 偽東座標 |
8807 | false_northing | 偽北座標 |
8811 | latitude_of_center | 投影センターの緯度 |
8812 | longitude_of_center | 投影中心の経度 |
8813 | 方位角 | 最初の行の方位角 |
8814 | rectified_grid_angle | ジオメトリ補正からスキューグリッドまでの角度 |
8815 | scale_factor | 初期線の尺度係数 |
8816 | false_easting | 投影中心の東座標 |
8817 | false_northing | 投影中心の北座標 |
8818 | pseudo_standard_parallel_1 | 擬似標準並列度 |
8819 | scale_factor | 疑似標準パラレルのスケール係数 |
8821 | latitude_of_origin | 偽起点の緯度 |
8822 | central_meridian | 偽原点の経度 |
8823 | standard_parallel_1, standard_parallel1 | 第 1 標準平行度 |
8824 | standard_parallel_2, standard_parallel2 | 第 2 標準並列度 |
8826 | false_easting | 偽原点の東座標 |
8827 | false_northing | 偽原点での北座標 |
8830 | initial_longitude | 初期経度 |
8831 | zone_width | ゾーンの幅 |
8832 | standard_parallel | 標準並列度 |
8833 | longitude_of_center | 原点の経度 |