【问题标题】:Postgis error on select all intersetcs of a polygon选择多边形的所有交叉点时出现 Postgis 错误
【发布时间】:2012-09-19 17:41:05
【问题描述】:

我可以获得所有相交的多边形:-7.9245860488441 -37.122384500713,-7.9245860488441 -37.11904223938,-7.9233955716106 -37.1187601948

SELECT * 
FROM propriedades 
WHERE ST_Intersects(
    ST_GeomFromText(location::geometry),
    ST_GeomFromText('POLYGON(-7.9245860488441 -37.122384500713,-7.9245860488441 -37.11904223938,-7.9233955716106 -37.1187601948)'));

propriedades 是我的餐桌 位置是保存地理多边形的列

返回的错误

错误:解析错误 - 无效几何提示: "POLYGON(-7.9245860488441"

***错误***

错误:解析错误 - 无效几何 SQL 状态:XX000 提示: "POLYGON(-7.9245860488441"

解决了,我用的是地理,没有几何:

SELECT * 
FROM propriedades 
WHERE ST_Intersects(
    location,
    'POLYGON((-7.9239281216632 -37.118491021708,-7.9239281216632 -37.116096663161,-7.9240937813677 -37.116105295265,-7.9241591799314 -37.116171875421,-7.9246636046819 -37.116271405188,-7.9259677455811 -37.118572530098,-7.9256079206171 -37.118728486796,-7.9243335012771 -37.118675962065,-7.9243194973485 -37.11849254918,-7.9242705964918 -37.118491021708,-7.9239281216632 -37.118491021708))'
)

但我还有其他问题,我想要相交 > 50 米

喜欢这个http://slimber.com/gallery/pictures2/23/235563/polygons.jpg

【问题讨论】:

    标签: gis polygon postgis intersection


    【解决方案1】:

    多边形的WKT有两个问题,这就是它无法解析的原因。多边形需要两个深度的括号,最后一个坐标需要匹配第一个坐标才能形成一个闭合的线性环(即triangles require four points)。 WKT 应如下所示:

    POLYGON((-7.9245860488441 -37.122384500713, -7.9245860488441 -37.11904223938,
             -7.9233955716106 -37.1187601948, -7.9245860488441 -37.122384500713))
    

    另外ST_GeomFromText(location::geometry) 也确实没有必要,因为::geometry 已经是geometry 的PostgreSQL 转换运算符。如果它是geography 类型,那么location::geometry 应该足以将其转换为geometry

    【讨论】:

      猜你喜欢
      • 2019-11-07
      • 2015-03-06
      • 1970-01-01
      • 2012-02-18
      • 1970-01-01
      • 2022-06-22
      • 2020-11-14
      • 2016-11-17
      • 2018-11-12
      相关资源
      最近更新 更多