【发布时间】:2016-02-13 22:13:34
【问题描述】:
我知道您无法使用类似的方法检查地理点是否接触例如地理多边形(请参阅here),这在几何世界中是可能的:
WHERE A.Geo.STTouches(@s0) = 1
有没有办法在地理世界中实现这一目标?我想一个解决方案是将地理多边形+地理点转换为它们的几何等价物?
PS:
这也适用于复杂的多边形——比如这个有孔的:
POLYGON((99.999999999999986 5.3926387744713564E-14,101.00000000000001 5.3926387744713564E-14,100.99999999999987 1.0000000000000155,100.00000000000013 1.0000000000000155,99.999999999999986 5.3926387744713564E-14),(100.20000000000003 0.19999999999992918,100.19999999999989 0.79999999999990257,100.80000000000011 0.79999999999990234,100.79999999999998 0.19999999999992912,100.20000000000003 0.19999999999992918))
【问题讨论】:
-
用
STIntersects()代替STTouches()怎么样? -
我想知道它正好在边界上。 STIntersects() 不会告诉我这个。希望这是有道理的?
-
啊……那是一匹不同颜色的马。基本上,您想知道该点是否与多边形的边界相交。
标签: sql-server geospatial sql-server-2014