2017-04-17 49 views
0

而執行這個查詢我收到錯誤PostGIS的查詢來更新LINESTRING

UPDATE treedetailsentered 
set geom_line=st_geomfromtext('LineString(('||longitude||' '||latitude||','||lon2||' '||lat2||'))', 4326); 

錯誤

ERROR: parse error - invalid geometry 
HINT: "LineString((7" <-- parse error at position 13 within geometry 
********** Error ********** 

這是怎麼了我在表中的線串

ALTER TABLE public.treedetailsentered 
    ADD COLUMN geom_line geometry(LineString, 4326) 

回答

0

這是創建的列不知道什麼類型的確切問題很難說清楚longitudelatitude h大聲,但我的猜測是,你沒有形成一個合適的字符串。

我的建議是首先創建通過查詢這是簡單的一個適當的文本調試此:

select 'LineString(('||longitude||' '||latitude||','||lon2||' '||lat2||'))' 

取決於你有什麼類型的,你可能需要做一些轉換,就像這樣:

select 'LineString(('||longitude::text||' '||latitude::text||','||lon2::text||' '||lat2::text||'))' 

如果您已經有文本,請確保數字格式正確。例如,浮點數預計會有一個小數點分隔符。

0

我已經添加了一個額外的括號,我刪除它爲我工作。 ('|| latitude ||','|| lon2 ||''|| lat2 ||')',4326);