【发布时间】:2019-10-27 20:41:47
【问题描述】:
当我尝试将其作为 POLYGON 列的值提供时,Postgres 抛出错误:
POLYGON ((-10.5 10.5, 10.5 10.5, 10.5 -10.5, -10.5 -10.5))
如果我把它改成这个,那么它就可以了:
POLYGON ((-10.5 10.5, 10.5 10.5, 10.5 -10.5, -10.5 -10.5, -10.5 10.5)
但我不明白为什么,而且我无法通过阅读有关 PostGIS POLYGON() 的信息来弄清楚。我可能正在运行 PostGIS 2.5,而代码(其他人编写的)假定 PostGIS 2.0,但我还不知道,并且由于其他原因无法确认。
PostGIS 2.0 和 PostGIS 2.5 之间是否改变了 POLYGON() 需要多少个参数?我还有什么遗漏的吗,因为我对 PostGIS 一无所知,这超出了我实际负责的工作范围。
【问题讨论】:
-
对于一个三角形多边形(根据 OGC 定义有效)至少需要 4 个坐标对:由封闭外环(LineString)描述的 3 个角,意味着终点等于起点。您似乎在做的是传入一个 WKT 定义的多边形字符串表示形式,从技术上讲,这只是一个参数。但是,PostGIS 中没有
POLYGON()函数;扩展的所有(大多数)功能都以ST_(空间类型)为前缀
标签: ruby-on-rails postgresql postgis