我正在搜索类似于DbGeography.Intersects()的方法或算法。此方法比较两行并返回true,如果它们相互交叉。如果它们彼此不接触,或者一条线直接在另一条线上结束,则返回false。有没有办法确定,如果一行直接在另一行结束?
答案 0 :(得分:2)
检查点是否在一条线上仅适用于理论材料。在现实世界中,没有这样的准确性允许断言一个点是否在一条线上。
在现实世界中,通过检查点与线之间的距离是否小于给定阈值来解决问题。
因此您需要使用公开Nullable Distance(DbGeography other):
var pointInLine = point.Distance(line) < threshold;