transform_geom: не удалось проанализировать выходную строку proj4: проекция без имени - PullRequest
0 голосов
/ 05 июля 2018

Я недавно обновил свой Amazon PostgreSQL RDS до версии 10.3, но при получении прогнозов я получаю сообщение об ошибке:

ERROR:  transform_geom: couldn't parse proj4 output string: '3857': projection not named
CONTEXT:  SQL function "st_transform" statement 1

Те же записи, которые я могу получить до версии 9.5.xx

Моя версия PostGIS - 2.4.2, которая совместима с RDS intance.

1 Ответ

0 голосов
/ 07 августа 2018

Возможно, я столкнулся с той же проблемой после обновления с Postgis 2.2 до 2.3, некоторые из моих запросов больше не работали.

Старый запрос:

SELECT ST_X(ST_TRANSFORM(ST_SETSRID(ST_MAKEPOINT($1,$2),$3),$4));

параметры запроса $ 1 ... $ 4:
602628,6663367,3857,3857

сообщение об ошибке:
"transform_geom: не удалось проанализировать выходную строку proj4: '3857': проекция без имени"

Причина:
ST_TRANSFORM выпускается в нескольких вариантах, два из них:

  • public.st_transform (геометрия, целое число)
  • public.st_transform (геометрия, текст)

Последний, я предполагаю, что новое в postgis 2.3, вызвало мою проблему, потому что 4 $ (3857) рассматривались как (proj4-) строка, а не как (SRID-) целое число.

Обходной путь в моем случае: подсказка типа для параметра $ 4

SELECT ST_X(ST_TRANSFORM(ST_SETSRID(ST_MAKEPOINT($1,$2),$3),$4::int));
...