この関数は、空間参照系(SRS)の文字列表現ではなく、その投影パラメーターを比較することにより、2つの空間参照系がセマンティクス的に等価であるかどうかを判定します。
構文
boolean ST_SrEqual(cstring sr1, cstring sr2, boolean strict default true);パラメーター
| パラメーター | 型 | 説明 | デフォルト |
|---|---|---|---|
sr1 | cstring | 最初の空間参照系。OGC WKT 文字列または PROJ.4 文字列である必要があります。 | — |
sr2 | cstring | 2番目の空間参照系。OGC WKT 文字列または PROJ.4 文字列である必要があります。 | — |
strict | boolean | true の場合、地理座標系の空間参照系について、リファレンス楕円体の名称も比較します。 | true |
説明
ST_SrEqual は、入力された2つの文字列のセマンティクスを解析し、以下のパラメーターを比較します。
投影法
リファレンス楕円体
リファレンス楕円体の長半径および短半径
空間参照系が等価である場合は t を返し、等価でない場合は f を返します。
例
異なるフォーマットの空間参照系を比較する
この例では、WGS 84 を表す OGC WKT 文字列と PROJ.4 文字列を比較します。両者は同一の空間参照系を定義しているため、関数は t を返します。
SELECT ST_srEqual(
'GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]',
'+proj=longlat +datum=WGS84 +no_defs'
);実行結果:
st_srequal
------------
tPROJ.4 文字列から SRID を検索する
ST_SrEqual をフィルターとして spatial_ref_sys テーブルに対して使用し、指定された PROJ.4 文字列に一致する空間参照識別子(SRID)を検索します。
SELECT srid FROM spatial_ref_sys
WHERE ST_srEqual(srtext::cstring, '+proj=longlat +ellps=GRS80 +no_defs ')
LIMIT 1;実行結果:
srid
------
3824