Creare la geometria da lat / lon in table usando PostGIS?


15

Ho una tabella con oltre 800.000 record tra cui un lat e una lunga colonna. L'origine dati non ha creato geometrie, quindi mi sono guardato intorno su come farlo. So che c'è ST_MakePoint (x, y, SRID) ma tutta la documentazione e gli altri thread mostrano come creare singoli punti. Come posso creare il tipo di geometria usando queste colonne?


1
vuoi dire creare linee da questi punti? Perché i punti sono geometria proprio come le linee e i poligoni lo sono ... Quindi, se stai cercando di creare linee da questi punti, controlla questo recente post sul blog di Paul Ramsey: blog.cleverelephant.ca/2015/03/making-lines-from -points.html
DPSSpatial

No. Intendevo convertirli in tipi di geometria da utilizzare nelle query spaziali. Sembra che la mia domanda abbia ricevuto risposta, quindi grazie!
dknuth,

Risposte:



14

Se non hai già aggiunto una colonna geometrica (supponendo EPSG: 4326 qui):

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

Quindi UPDATE, passando i nomi dei campi xey:

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

Ciò aggiornerà l'intera tabella, a meno che tu non includa una WHEREclausola

Riferimento a ST_SetSrid: https://postgis.net/docs/ST_SetSRID.html


2
Penso che ST_SRID dovrebbe essere ST_SetSRID. Ho riscontrato un errore durante l'utilizzo di ST_SRID
Vipin Gupta,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.