Depois de armazenar os valores long lat como um tipo de dados GEOGRAPHY, como recupero os valores lat lat individuais?
Tentativa falhada:
SELECT id, geog, ST_X(geog), ST_Y(geog) FROM locations;
Erro:
No function matches the given name and argument types. You might need to add explicit type casts.
postgis
coordinate-system
postgresql
Nyxynyx
fonte
fonte
Respostas:
A função ST_X (ponto) suporta apenas a geometria (por enquanto).
Uma solução alternativa é converter o geog em geom usando
::geometry
.Registre que sua consulta deve ser assim:
E como é geog, o SRID seria 4326 .
Também aqui está uma boa fonte para o tipo de geog.
fonte
Undefined object: 7 ERROR: type "geometry" does not exist
. Alguma ideia? stackoverflow.com/questions/15780931/…Não precisa de elenco
Tente usar esta consulta.
funciona para mim.
fonte
SELECT ST_XMax(ST_GeographyFromText('SRID=4326;POINT(-73.968504 40.779741)'));
me forneceERROR: function st_xmax(geography) does not exist
.tente usar esta consulta.
espero que ajude você
fonte
X()
eY()
parecem não existir. onde voce comprou esses?X()
eY()
são válidos em uma revisão mais antiga do PostGIS - talvez 8.x ?. Atualizada, essa consulta usariaST_X()
e, emST_Y()
vez disso.