首页 > 解决方案 > transform_geom:无法解析 proj4 输出字符串:投影未命名

问题描述

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

标签: postgresqlamazon-web-servicespostgispostgresql-10

解决方案


从 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 中的 new 引起了我的问题,因为 $4 (3857) 被视为 (proj4-) 字符串而不是 (SRID-) 整数。

在我的情况下解决方法:参数 $4 的类型提示

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

推荐阅读