PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So konvertieren Sie Punkttext in Geometrie

Sie können auch ST_MakePoint verwenden, was wahrscheinlich sauberer ist, da Sie Breiten- und Längenwerte nicht als Text verketten müssen. Verwenden Sie es in Verbindung mit ST_SetSrid, um das Koordinatenbezugssystem auf 4326 zu setzen, zB

Select ST_SetSrid(ST_MakePoint(lon, lat),4326) from sometable;

gibt einen Geometrietyp zurück. Beachten Sie, dass die Reihenfolge lon/lat (x/y) ist, was zu viel Verwirrung führt, da Leute in der Alltagssprache lat/lon sagen.

ST_GeomFromText ist im Allgemeinen nützlicher, wenn Sie eine Geometrie im Well-known-Text-Format (WKT) haben, z. B.

Select ST_GeomFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 4326);

Wenn Ihre Daten tatsächlich in der Form ((-79.4609576808001,43.9726680183837)) vorliegen und Sie sie nicht wie oben vorgeschlagen aufteilen möchten, ist das richtige Format für die Verwendung mit ST_GeomFromText für einen Punkt:

Select ST_GeomFromText('POINT(-79.4609576808001 43.9726680183837)', 4326)

wobei die SRID optional, aber empfohlen ist.

Siehe http://en.wikipedia.org/wiki/Well_Known_Text für weitere Informationen.