【发布时间】:2016-07-02 21:26:25
【问题描述】:
我正在寻找类似于DbGeography.Intersects() 的方法或算法。此方法比较两条线,如果它们相互交叉,则返回 true。如果它们不相互接触,或者一条线直接在另一条线上结束,则返回 false。有没有办法确定一条线是否直接在另一条线上结束?
【问题讨论】:
标签: c# .net entity-framework spatial sqlgeography
我正在寻找类似于DbGeography.Intersects() 的方法或算法。此方法比较两条线,如果它们相互交叉,则返回 true。如果它们不相互接触,或者一条线直接在另一条线上结束,则返回 false。有没有办法确定一条线是否直接在另一条线上结束?
【问题讨论】:
标签: c# .net entity-framework spatial sqlgeography
检查一个点是否在一条线上仅适用于理论数学。在现实世界中,没有这样的准确性可以断言一个点是否在一条线上。
在现实世界中,您的问题是通过检查点和线之间的距离是否小于给定阈值来解决的。
所以你需要使用公共Nullable Distance(DbGeography other):
var pointInLine = point.Distance(line) < threshold;
【讨论】: