transform_geom:无法解析proj4输出字符串:投影未命名

时间:2018-07-05 11:04:13

标签: postgresql amazon-web-services postgis postgresql-10

我最近将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实例兼容。

1 个答案:

答案 0 :(得分:1)

从postgis 2.2升级到2.3后,我也许遇到了同样的问题,我的某些查询不再起作用。

旧查询:

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

query-params $ 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));