我在 PostGIS 中的两个地理区域之间存在交叉问题:我有一个带有地理列的 table1,在 wgs84 中填充了多个多边形(每行一个)。第二个表 2 也有一个地理列,其中填充了 wgs84 中的多个多边形(每行一个)。然后我在两者之间做一个相交 (select (..) where ST_Intersects())。
在某些(非常罕见的)情况下,在我看来,它不能正常工作,因为相交在预期为真的地方返回 false:我有一个重新投影的 tif,它代表 table1 中的一条线的地理,它覆盖了很大的区域坦桑尼亚。我还为表 2 中的一条线重新投影了 tif,它只覆盖了几平方公里的小区域。在 ArcMap 中,两者相交,小区域位于大区域的边缘,但 PostGIS 对 ST_Intsersects(geog1, geog2) 返回 false。
当我通过倾卸器将 table1 导出为 shapefile 时,地理的角点与直线相连,而不是与大圆圈的一部分相连。然后我得到相同的结果:table2 的区域现在在 table1 的区域之外。所以我想,PostGis 也用这个简化的多边形进行计算,但据我所知,地理是用大圆的一部分而不是直线来计算的?
我已经尝试了一切以确保两个表都真正填充了地理而不是几何,但即使是明确地转换为地理也不会改变结果。
以前是否发生过类似的事情,或者您知道我做错了什么?table2 还具有几何和栅格列(总共 = 3 个空间列)可能是一个问题吗?