Menentukan apakah dua sistem referensi spasial secara semantik setara dengan membandingkan parameter proyeksinya, bukan representasi string-nya.
Sintaksis
boolean ST_SrEqual(cstring sr1, cstring sr2, boolean strict default true);Parameter
| Parameter | Type | Description | Default |
|---|---|---|---|
sr1 | cstring | Sistem referensi spasial pertama. Harus berupa string OGC WKT atau PROJ.4. | — |
sr2 | cstring | Sistem referensi spasial kedua. Harus berupa string OGC WKT atau PROJ.4. | — |
strict | boolean | Jika true, juga membandingkan nama ellipsoid referensi untuk sistem referensi spasial yang memiliki georeferensi. | true |
Deskripsi
ST_SrEqual mengurai semantik dari kedua string input dan membandingkan parameter berikut:
Metode proyeksi
Ellipsoid referensi
Sumbu semi-mayor dan semi-minor ellipsoid referensi
Fungsi ini mengembalikan t jika sistem referensi spasial tersebut setara, atau f jika berbeda.
Contoh
Bandingkan dua sistem referensi spasial dalam format berbeda
Contoh ini membandingkan string OGC WKT dengan string PROJ.4 yang merepresentasikan WGS 84. Keduanya mendefinisikan sistem referensi spasial yang sama, sehingga fungsi mengembalikan 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'
);Hasil:
st_srequal
------------
tCari SRID berdasarkan string PROJ.4
Gunakan ST_SrEqual sebagai filter terhadap tabel spatial_ref_sys untuk menemukan identifier sistem referensi spasial (SRID) yang cocok dengan string PROJ.4 tertentu.
SELECT srid FROM spatial_ref_sys
WHERE ST_srEqual(srtext::cstring, '+proj=longlat +ellps=GRS80 +no_defs ')
LIMIT 1;Hasil:
srid
------
3824