Saya memiliki dua tabel Postgres dengan SRID yang berbeda: 4326 dan 900913. Saya ingin mengubah yang terakhir menjadi 4326. Saya pertama-tama mengubah SRID menggunakan:
Select UpdateGeometrySRID('table', 'geomcolumn', 4326).
Saya kemudian mengubah data referensi menggunakan:
update table set geomcolumn = ST_Transform (geomcolumn, 4326).
Ini sepertinya berhasil. Tetapi ketika saya mengubah pengaturan SRS dari lapisan yang relevan di TileMill ke WGS84, saya mendapatkan kesalahan ini:
Terdeteksi dari batas-batas geografis.
Agaknya transformasi tidak berhasil tetapi tidak jelas mengapa.
postgis
postgresql
coordinate-system
rpahne
sumber
sumber
Jawaban:
Transformasi gagal untuk kasus Anda karena perintah UpdateGeometrySRID hanya mengubah metadata, tetapi tidak mengubah koordinat. Dan ketika Anda mencoba transformasi dari 4326-> 4326, tidak ada transformasi yang dilakukan karena SRID sama.
Jika Anda memiliki PostGIS 2.x dengan tabel seperti ini:
cara yang benar untuk mengubah dan mengubah sistem referensi spasial kolom geometri adalah dengan menggunakan ALTER TABLE DDL:
sumber
Ini bekerja untuk saya dengan urutan ini:
sumber