PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да конвертирате точков текст в геометрия

Можете също така да използвате ST_MakePoint, което вероятно е по-чисто, тъй като не е нужно да свързвате стойностите за географска ширина и дължина като текст. Използвайте го заедно със ST_SetSrid, за да зададете координатната референтна система на 4326, напр.

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

ще върне тип геометрия. Обърнете внимание, че редът е дължина/шир (x/y), причина за много объркване, поради това, че хората казват ширина/дължина в ежедневната реч.

ST_GeomFromText обикновено е по-полезен, когато имате геометрия във формат Добре познат текст (WKT), напр.

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

Ако вашите данни действително са във формуляра ((-79.4609576808001,43.9726680183837)) и не искате да ги разделите, както предложих по-горе, правилният формат за използване със ST_GeomFromText за точка е:

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

където SRID не е задължителен, но се препоръчва.

Вижте http://en.wikipedia.org/wiki/Well_Known_Text за повече информация.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. psql фаталната роля не съществува

  2. Досадно предупреждение за Puppet и Postgres:Предаването на версия към postgresql::server е отхвърлено

  3. По-добър начин от множество изрази SELECT?

  4. PostgreSQL - Как да вмъкна Base64 низове на изображения в колона BYTEA?

  5. Изтриване на дубликати в postgres