Geometrie aus lat / lon in einer Tabelle mit PostGIS erstellen?

13

Ich habe eine Tabelle mit über 800.000 Datensätzen, einschließlich einer Lat- und Long-Spalte. Die Datenquelle hat keine Geometrien erstellt, daher habe ich mich umgesehen, wie das geht. Ich weiß, dass es ST_MakePoint (x, y, SRID) gibt, aber die gesamte Dokumentation und andere Threads zeigen, wie einzelne Punkte erstellt werden. Wie erstelle ich den Geometrietyp mit diesen Spalten?

dknuth
quelle
1
Meinst du Linien aus diesen Punkten erstellen? Da Punkte genau wie Linien und Polygone Geometrie sind ... Wenn Sie also Linien aus diesen Punkten erstellen möchten, lesen
DPSSpatial
Nee. Ich wollte sie in Geometrietypen konvertieren, um sie in räumlichen Abfragen zu verwenden. Meine Frage wurde anscheinend beantwortet, also danke!
dknuth

Antworten:

14

Wenn Sie noch keine Geometriespalte hinzugefügt haben (unter der Annahme von EPSG: 4326 hier):

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

Dann UPDATE, vorbei in den Namen Ihrer Felder x und y:

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

Dadurch wird die gesamte Tabelle aktualisiert, sofern Sie keine WHEREKlausel einfügen

Toms
quelle
2
Ich denke, ST_SRID sollte ST_SetSRID sein. Ich habe einen Fehler bei der Verwendung von ST_SRID
Vipin Gupta