sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo convertir texto de punto en geometría

También puede usar ST_MakePoint, que probablemente sea más limpio ya que no tiene que concatenar los valores de latitud y longitud como texto. Úselo junto con ST_SetSrid para establecer el sistema de referencia de coordenadas en 4326, por ejemplo,

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

devolverá un tipo de geometría. Tenga en cuenta que el orden es lon/lat (x/y), una causa de mucha confusión, debido a que la gente dice lat/lon en el habla cotidiana.

ST_GeomFromText generalmente es más útil cuando tiene una geometría en formato de texto conocido (WKT), por ejemplo,

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

Si sus datos están realmente en el formulario ((-79.4609576808001,43.9726680183837)) y no desea dividirlos como sugerí anteriormente, el formato correcto para usar con ST_GeomFromText para un punto es:

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

donde el SRID es opcional, pero recomendado.

Consulte http://en.wikipedia.org/wiki/Well_Known_Text para más información.