En mi tabla tengo una columna location
que es un point
. Probé esto:
SELECT ST_X(location), ST_Y(location) FROM locations;
Pero sigo recibiendo el mensaje de error:
ERROR: function st_x(point) does not exist
En mi tabla tengo una columna location
que es un point
. Probé esto:
SELECT ST_X(location), ST_Y(location) FROM locations;
Pero sigo recibiendo el mensaje de error:
ERROR: function st_x(point) does not exist
Ninguno de ellos habla de cómo extraer lat/long con el tipo de punto nativo. Está claro que no se puede utilizar ST_X()
y ST_Y
como puedes hacer con una Geometría PostGIS; así que aquí con el punto nativo simplemente usa la sintaxis array-deference [0]
y [1]
. Por ejemplo, si tienes un tipo nativo y quieres pasar a tipo PostGIS puedes hágalo así (de mi respuesta en dba.se).
SELECT ST_MakePoint(p[0],p[1])
FROM ( VALUES (point(-71.1043443253471,42.3150676015829)) ) AS t(p);
Parece que su columna location
tipo es point
( Referencia PostgreSQL ). Este es un tipo nativo de PostgreSQL, no un tipo de datos de Postgis.
Tienes que cambiar location
tipo de datos de columna a geometry
o añada una nueva columna geométrica con la función Postgis AddGeometryColumn
.
I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.