2017-04-17 37 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);