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?


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


2
Ich denke, ST_SRID sollte ST_SetSRID sein. Ich habe einen Fehler bei der Verwendung von ST_SRID
— Vipin Gupta
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.