我正在努力寻找一种有效的方法来找到与多边形相交的点与该多边形的边界之间的距离。我能够使用 STDistance 将该点与构成多边形的每个点进行比较,但这需要很多时间。使用空间索引并没有太大帮助,因为 STDistance 不是任何约束的一部分,即使我确实放置了约束,索引也没有太大帮助。
我很感激任何反馈。
谢谢。
我正在努力寻找一种有效的方法来找到与多边形相交的点与该多边形的边界之间的距离。我能够使用 STDistance 将该点与构成多边形的每个点进行比较,但这需要很多时间。使用空间索引并没有太大帮助,因为 STDistance 不是任何约束的一部分,即使我确实放置了约束,索引也没有太大帮助。
我很感激任何反馈。
谢谢。
由于要查找到边界的距离,因此可以查询到多边形外环的距离,定义为线串。
选择@polygon.SExteriorRing().STDistance(@point)
试试“扩展盒模型”——你的搜索会不断增长,直到找到最近的点。
在此处查看各种解决方案和更多解释:http: //blogs.msdn.com/isaac/archive/2008/10/23/nearest-neighbors.aspx