【发布时间】:2018-05-27 02:57:18
【问题描述】:
我有两个点(位置)及其纬度和经度,“A”和“B”。现在我想知道A和B之间是否存在第三点(位置)“C”。我确实有C的纬度和经度。
如何检查 A 和 B 10 公里无线电中是否存在 C 点,请查看以下说明。
“介于”A和B之间的解释:
________10KM_______
| |
| C |
|10KM 10KM|
| |
A -------10KM----- B
| |
|10KM 10KM|
| |
|______10KM________|
我已经访问了以下问题,但我无法思考。
【问题讨论】:
-
您的问题不完整。当您谈论地理时,“Between”可能意味着很多不同的东西。请编辑您的问题以包含“介于”的定义。
-
感谢@SamAxe 指出规范。
-
你需要找到A和C之间的距离;和 B 和 C,并将这些距离与您的阈值(10 公里)进行比较。由于纬度/经度以度为单位,并且度与公里的比率根据经度而变化..您可以使用地理空间库来计算它(通常昂贵且困难),或者您可以使用 haversine 函数来近似它.
-
宾果游戏。感谢@SamAxe 给我这个想法。它解决了我的问题。
-
您可以使用
GeoCoordinatemsdn.microsoft.com/en-us/library/ee808858(v=vs.110).aspx 方法GetDistanceTo来查找两个地理坐标之间的距离。
标签: c#