繁体   English   中英

PostgreSQL 变换几何

[英]PostgreSQL Transform Geometries

我有一个充满东/北点的表,我想将其转换为 SRID:27700 中的一列。 我正在使用安装了 postgis 的 Postgres。

我正在尝试这个:

alter table ua
add column location geometry(point,27700);

UPDATE ua 
    SET "location" = 'SRID=27700;POINT(' || ua."Easting" || ' ' || ua."Northing" || ')';

当然,这会返回东/北的位置,但是当我尝试首先使用 ST_Transform 转换点时,它会返回

SQL 错误 [42883]:错误:function st_transform(字符变化,整数)不存在

我不知道如何超越这个!

ST_Transform 获取其中一组参数,但没有一个将字符作为第一个参数类型,而您将字符作为第一个参数传递,将 int 作为第二个参数传递!

geometry ST_Transform(geometry g1, integer srid);
geometry ST_Transform(geometry geom, text to_proj);
geometry ST_Transform(geometry geom, text from_proj, text to_proj);
geometry ST_Transform(geometry geom, text from_proj, integer to_srid);

我认为这应该有效:

update ua 
set "east/north" = ST_GeomFromText('POINT(' || ua."Easting" ||' '|| ua."Northing" || ')',27700)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM