Mengubah lintasan dari satu sistem referensi spasial ke sistem lainnya dengan menghitung ulang koordinat agar sesuai dengan sistem target—bukan hanya memperbarui label identifier referensi spasial (SRID).
Sintaks
trajectory ST_Transform(trajectory traj, int srid)Parameter
| Parameter | Description |
|---|---|
traj | Lintasan yang akan ditransformasi. Lintasan hanya dapat ditransformasi ke referensi spasial yang ditentukan jika lintasan tersebut memiliki SRID. |
srid | SRID dari sistem referensi spasial target. |
Contoh
Contoh berikut mengonversi lintasan dari SRID=4326 ke SRID=2401.
SELECT ST_Transform(
'{"trajectory":{"version":1,"type":"STPOINT","leafcount":4,"start_time":"2020-11-03 08:00:00","end_time":"2020-11-03 18:03:20","spatial":"SRID=4326;LINESTRING(114.49211 37.97999,114.49211 37.97521,114.49191 37.98021,124 37)","timeline":["2020-11-03 08:00:00","2020-11-03 08:01:40","2020-11-03 08:03:20","2020-11-03 18:03:20"]}}'::trajectory,
2401
);Output:
{"trajectory":{"version":1,"type":"STPOINT","leafcount":4,"start_time":"2020-11-03 08:00:00","end_time":"2020-11-03 18:03:20","spatial":"SRID=2401;LINESTRING(29019418.8397 5025539.47515,29019696.5878 5024992.53808,29019387.9428 5025555.44863,29954166.377 5430882.06455)","timeline":["2020-11-03 08:00:00","2020-11-03 08:01:40","2020-11-03 08:03:20","2020-11-03 18:03:20"]}}Bidang spatial berubah dari koordinat SRID 4326 menjadi koordinat SRID 2401. Semua bidang lainnya—version, type, leafcount, start_time, end_time, dan timeline—tetap tidak berubah.
Catatan penggunaan
Lintasan sumber harus memiliki SRID. Lintasan hanya dapat ditransformasi ke referensi spasial yang ditentukan jika lintasan tersebut memiliki SRID.