[英]Write raw SQL for PostGIS
我正在尝试使用PostGIS模板将一些数据输入到PostgreSQL 8.4数据库中。 我无法UPDATE
多边形:
> UPDATE my_table SET coords = POINT(1, 1)
UPDATE 0 1
> UPDATE my_table SET box = POLYGON(((1, 1), (2, 3), (3, 3), (1, 1)))
ERROR: function polygon(record) does not exist
> UPDATE my_table SET box = POLYGON((1, 1), (2, 3), (3, 3), (1, 1))
ERROR: function polygon(record, record, record, record) does not exist
> UPDATE my_table SET box = POLYGON(1, 1, 2, 3, 3, 3, 1, 1)
ERROR: function polygon(numeric, numeric, numeric, numeric, numeric, numeric, numeric, numeric) does not exist
> UPDATE my_table SET box = ((1, 1), (2, 3), (3, 3), (1, 1))
ERROR: column "box" is of type polygon but expression is of type record
如何插入多边形? 请注意,数据已经存在于表中,并且使用NULL
字段代替空间数据。 我需要UPDATE
而不是INSERT
,但这应该没有什么不同。
您应该使用Geometry构造函数在表中加载新的几何,特别是St_GeomFromText函数:
UPDATE my_table SET box = ST_GeomFromText('POLYGON ((1 1), (2 3), (3 3), (1 1))');
几何图形以WKT( 知名文本 )格式定义。
尝试:
UPDATE my_table SET box = '((1, 1), (2, 3), (3, 3), (1, 1))'::polygon;
据我所知, 大多数几何类型通常都需要使用引号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.