\ copy PSQL命令不适用于POINT(...)几何类型

时间:2018-11-20 01:36:01

标签: postgresql postgis

一段时间以来,我一直在寻找解决方案...

Postgres中的text += e.getActionCommand();命令不适用于数据类型\copy

它给出的错误是:

geography(Point,4326)

这是我正在使用的命令:

ERROR:  parse error - invalid geometry
HINT:  "ST" <-- parse error at position 2 within geometry
CONTEXT:  COPY data2, line 1, column loc: "ST_GeomFromText('POINT(62.0271954112486 87.9028962135794)')"

我已使用与csv文件完全相同的格式插入到表中,并且成功。似乎是使用\copy data2(loc,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10) from 'fake_data.csv' delimiter ',' csv; 命令的东西,不喜欢这种格式。

这是我的csv文件中的示例行:

\copy

1 个答案:

答案 0 :(得分:0)

您不能使用COPY来处理这样的表达式。相反,该文件必须包含扩展的知名二进制文件(EWKB)格式,这是运行时获得的格式

SELECT ST_GeomFromEWKT('SRID=4326;POINT(81.5538863138809 42.72341176405514)');

在您的情况下,CVS文件必须如下所示:

0101000020E61000000C9D009842DF3C403DA0D6945E036440,24.237968,129.512386,227.032799,27.644993,60.959401,25.178026,201.229746,34.178728,250.975993,3.635878