PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak przekonwertować tekst punktowy na geometrię

Możesz także użyć ST_MakePoint, który prawdopodobnie jest czystszy, ponieważ nie musisz łączyć wartości szerokości i długości geograficznej jako tekstu. Użyj go w połączeniu z ST_SetSrid, aby ustawić układ odniesienia współrzędnych na 4326, np.

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

zwróci typ geometrii. Zwróć uwagę, że kolejność to lon/lat (x/y), co jest przyczyną wielu nieporozumień, ponieważ ludzie mówią lat/lon w codziennej mowie.

ST_GeomFromText jest ogólnie bardziej przydatny, gdy masz geometrię w dobrze znanym formacie tekstowym (WKT), np.

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

Jeśli twoje dane są faktycznie w formie (-79.4609576808001,43.9726680183837)) i nie chcesz ich dzielić, jak sugerowałem powyżej, poprawny format do użycia z ST_GeomFromText dla punktu to:

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

gdzie SRID jest opcjonalny, ale zalecany.

Zobacz http://en.wikipedia.org/wiki/Well_Known_Text aby uzyskać więcej informacji.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konwertuj django RawQuerySet na Queryset

  2. Rozszerzanie wiersza za pomocą * nie jest tutaj obsługiwane

  3. Nie można zainstalować PostgreSQL:Wystąpił błąd podczas uruchamiania instalatora środowiska wykonawczego Microsoft VC++ w systemie Windows XP

  4. wartość zbyt długa dla typu character variing(100) ----ostatnio przełączona baza danych, nic nie zostało zrobione w db

  5. Wyodrębnij rok z daty w PostgreSQL