【问题标题】:Check if DbGeography Point is on a line检查 DbGeography Point 是否在一条线上
【发布时间】:2016-07-02 21:26:25
【问题描述】:

我正在寻找类似于DbGeography.Intersects() 的方法或算法。此方法比较两条线,如果它们相互交叉,则返回 true。如果它们不相互接触,或者一条线直接在另一条线上结束,则返回 false。有没有办法确定一条线是否直接在另一条线上结束?

【问题讨论】:

    标签: c# .net entity-framework spatial sqlgeography


    【解决方案1】:

    检查一个点是否在一条线上仅适用于理论数学。在现实世界中,没有这样的准确性可以断言一个点是否在一条线上。

    在现实世界中,您的问题是通过检查点和线之间的距离是否小于给定阈值来解决的。

    所以你需要使用公共Nullable Distance(DbGeography other):

    var pointInLine = point.Distance(line) < threshold;
    

    【讨论】:

      猜你喜欢
      • 2013-03-15
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多