sql >> Database >  >> RDS >> PostgreSQL

Hoe punttekst naar geometrie te converteren

U kunt ook ST_MakePoint gebruiken, wat waarschijnlijk schoner is omdat u de waarden voor breedte- en lengtegraad niet als tekst hoeft samen te voegen. Gebruik het in combinatie met ST_SetSrid om het coördinatenreferentiesysteem in te stellen op 4326, bijv.

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

zal een geometrietype teruggeven. Let op:de volgorde is lon/lat (x/y), een oorzaak van veel verwarring, omdat mensen lat/lon zeggen in alledaagse spraak.

ST_GeomFromText is over het algemeen handiger als u een geometrie heeft in welbekende tekst (WKT) formaat, bijv.

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

Als uw gegevens daadwerkelijk de vorm hebben ((-79.4609576808001,43.9726680183837)) en u wilt het niet opsplitsen zoals ik hierboven suggereerde, is het juiste formaat om te gebruiken met ST_GeomFromText voor een punt:

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

waarbij de SRID optioneel is, maar wordt aanbevolen.

Zie http://en.wikipedia.org/wiki/Well_Known_Text voor meer informatie.



  1. Oracle 11 SQL:splits 1 rij in x rijen en voeg een nieuwe kolom in

  2. mysql geeft lijst weer van door de gebruiker gedefinieerde functies in phpmyadmin

  3. Verbinding loopt af en toe vast met Amazon RDS MySQL &Play Framework 1.2.5 (c3p0 standaardinstellingen)

  4. Demystificerende CXPACKET- en CXCONSUMER-wachttypen in SQL Server