Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新字段几何图形多边形PostGIS PostgreSQL_Sql_Postgresql_Geometry_Sql Update_Postgis - Fatal编程技术网

更新字段几何图形多边形PostGIS PostgreSQL

更新字段几何图形多边形PostGIS PostgreSQL,sql,postgresql,geometry,sql-update,postgis,Sql,Postgresql,Geometry,Sql Update,Postgis,我在尝试更新字段时遇到一些问题 我创建了一个列作为text,并用(lon,lat)存储了许多行。现在,我又创建了一个字段,名为几何体(多边形),我试图更新它,但没有成功 数据的存储方式如下: POLYGON ((-16.6318775869111 -52.5925428149806, -16.6346393504709 -52.572542814981 , -16.629462102066 -52.5525428149806, -16.6255191065928 -52.5455

我在尝试更新字段时遇到一些问题

我创建了一个列作为
text
,并用
(lon,lat)
存储了许多行。现在,我又创建了一个字段,名为
几何体(多边形)
,我试图更新它,但没有成功

数据的存储方式如下:

POLYGON ((-16.6318775869111 -52.5925428149806, -16.6346393504709 -52.572542814981
        , -16.629462102066 -52.5525428149806, -16.6255191065928 -52.5455420519144
        , -16.6055191065928 -52.5488828022871, -16.6021791014778 -52.552542814981
        , -16.6108484688169 -52.5925428149806, -16.6255191065928 -52.599495926874
        , -16.6318775869111 -52.5925428149806)) 
UPDATE table_name
SET    field_as_geomtry = ST_GeomFromText(field_as_text);
我正在尝试这个命令

UPDATE field_as_text 
   SET field_as_geomtry = SELECT ST_GeomFromText(SELECT field_as_text);
我收到了这个错误消息

ERROR: syntax error at or near "select" LINE 1: ... set field_as_geomtry = select (ST... 错误:“选择”处或附近出现语法错误 第1行:。。。将字段设置为geomtry=select(ST。。。
有谁能启发我吗?

你需要从阅读开始。
应该是这样的:

POLYGON ((-16.6318775869111 -52.5925428149806, -16.6346393504709 -52.572542814981
        , -16.629462102066 -52.5525428149806, -16.6255191065928 -52.5455420519144
        , -16.6055191065928 -52.5488828022871, -16.6021791014778 -52.552542814981
        , -16.6108484688169 -52.5925428149806, -16.6255191065928 -52.599495926874
        , -16.6318775869111 -52.5925428149806)) 
UPDATE table_name
SET    field_as_geomtry = ST_GeomFromText(field_as_text);

你需要从阅读开始。
应该是这样的:

POLYGON ((-16.6318775869111 -52.5925428149806, -16.6346393504709 -52.572542814981
        , -16.629462102066 -52.5525428149806, -16.6255191065928 -52.5455420519144
        , -16.6055191065928 -52.5488828022871, -16.6021791014778 -52.552542814981
        , -16.6108484688169 -52.5925428149806, -16.6255191065928 -52.599495926874
        , -16.6318775869111 -52.5925428149806)) 
UPDATE table_name
SET    field_as_geomtry = ST_GeomFromText(field_as_text);