Membuat geometri dari lat / lon di tabel menggunakan PostGIS?

14

Saya punya meja dengan lebih dari 800.000 catatan termasuk kolom lat dan panjang. Sumber data tidak membuat geometri, jadi saya mencari cara untuk melakukan ini. Saya tahu ada ST_MakePoint (x, y, SRID) tetapi semua dokumentasi dan utas lainnya menunjukkan cara membuat poin tunggal. Bagaimana cara membuat tipe geometri menggunakan kolom ini?

ya ampun
sumber
1
maksud Anda membuat garis dari titik-titik ini? Karena poin adalah geometri seperti halnya garis dan poligon ... Jadi, jika Anda ingin membuat garis dari titik-titik ini, periksa posting blog terbaru ini dari Paul Ramsey: blog.cleverelephant.ca/2015/03/making-lines-from -points.html
DPSSpatial
Nggak. Maksud saya ingin mengonversinya menjadi tipe geometri untuk digunakan dalam kueri spasial. Sepertinya pertanyaan saya sudah dijawab, jadi terima kasih!
dknuth

Jawaban:

14

Jika Anda belum menambahkan kolom geometri (dengan asumsi EPSG: 4326 di sini):

SELECT AddGeometryColumn ('your_table','geom',4326,'POINT',2);

Lalu UPDATE, masukkan nama bidang x dan y Anda:

UPDATE yourtable SET geom = ST_SetSRID(ST_MakePoint(longitude, latitude), 4326);

Ini akan memperbarui seluruh tabel, kecuali jika Anda memasukkan WHEREklausa

Referensi ke ST_SetSrid: https://postgis.net/docs/ST_SetSRID.html

tom
sumber
2
Saya pikir ST_SRID harus ST_SetSRID. Saya mendapat kesalahan saat menggunakan ST_SRID
Vipin Gupta