Как сохранить значения долготы в качестве типа данных GEOGRAPHY, как мне получить значения отдельных широт?
Неудачная попытка:
SELECT id, geog, ST_X(geog), ST_Y(geog) FROM locations;
Ошибка:
No function matches the given name and argument types. You might need to add explicit type casts.
postgis
coordinate-system
postgresql
Nyxynyx
источник
источник
Ответы:
Функция ST_X (точка) поддерживает только геометрию (как сейчас).
Одним из обходных путей является приведение geog к geom с помощью
::geometry
.Hense ваш запрос должен быть таким:
И поскольку это геог, SRID будет 4326 .
Также вот хороший источник для типа geog.
источник
Undefined object: 7 ERROR: type "geometry" does not exist
. Есть идеи? stackoverflow.com/questions/15780931/…Не нужно снимать
Попробуйте использовать этот запрос.
меня устраивает.
источник
SELECT ST_XMax(ST_GeographyFromText('SRID=4326;POINT(-73.968504 40.779741)'));
дает мнеERROR: function st_xmax(geography) does not exist
.попробуйте использовать этот запрос.
я надеюсь, что это поможет вам
источник
X()
иY()
, кажется, не существует. Где ты их взял?X()
иY()
действительны в более старой версии PostGIS - возможно, 8.x ?. Обновлено, этот запрос будет использоватьST_X()
иST_Y()
вместо.