【问题标题】:How many arguments are required for PostGIS POLYGON()?PostGIS POLYGON() 需要多少个参数?
【发布时间】: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


【解决方案1】:

多边形是一个封闭的线串起点和终点相同

 POLYGON ((-10.5 10.5, 10.5 10.5, 10.5 -10.5, -10.5 -10.5))
 -- different start/end point, error!

 POLYGON ((-10.5 10.5, 10.5 10.5, 10.5 -10.5, -10.5 -10.5, -10.5 10.5))
 -- correct

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多