簡體   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