- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请参阅屏幕打印。
我在 Postgis 中运行了一个空间查询,以返回 map 上某个点所在的选区(区域)。该查询使用 ST_within
函数,其中该点位于多边形内。
正如您从打印品中看到的那样,该点实际上并不“在”York Outer 的多边形区域中,尽管从技术上讲您可能会说它在“内部”,或者至少 Postgis 是这么认为的。重点实际上在于约克中心。
我确定 Postgis 实际上返回了两者,但由于我只从游标中获取了第一条记录,所以这就是我所看到的。
一个点一次只能在一个选区,这个查询返回了错误的选区或者我问错了数据库的问题。
我应该使用哪个函数来确保我始终为某个点返回正确的区域,该区域可能有一个空心内部或一个奇怪的形状?
谢谢
菲尔
最佳答案
这应该像您描述的那样工作。也许数据有问题?你能提供一个带有多边形/点数据的小型复制品吗?
此外,此类问题的一个常见原因是无效的 GIS 数据。您可以使用 PostGIS 的 ST_IsValid
函数检查多边形形状。如果数据无效,不同的工具可能会以不同的方式解释它,并且 GIS 数据的绘制方式可能与 PostGIS 认为该数据代表的内容不匹配,从而导致更多的困惑。
这是一个简单的重现,显示它按您预期的那样工作,外多边形孔内的点仅 st_within
内多边形,而不是外多边形:
select st_astext(point), name
from
(select
'outer' as name,
st_geomfromtext('polygon((0 0, 30 0, 30 30, 0 30, 0 0), (10 10, 20 10, 20 20, 10 20, 10 10))') g
union all
select
'inner' as name,
st_geomfromtext('polygon((10 10, 20 10, 20 20, 10 20, 10 10))') g
) shapes
cross join
(select st_geomfromtext('point(15 15)') point
union all
select st_geomfromtext('point(5 5)') point
) points
where st_within(point, g)
我的结果是
1 POINT(5 5) outer
2 POINT(15 15) inner
关于postgresql - Postgis - ST_within 没有做我想做的事。如何在空心区域中找到一个点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60460941/
目前我的困境是我有一个 div 绝对定位在我所有代码的顶部(它有一个滑动动画)但是我现在无法访问顶部 div 后面的内容.. 这有动画,但没有链接或按钮可用:http://oxygenrad.io/i
我是一名优秀的程序员,十分优秀!