【发布时间】:2019-08-10 04:26:23
【问题描述】:
假设我有两个相距约 222.33 米的坐标:
A: 49.25818, -123.20626
B: 49.25813, -123.2032
这两点构成一个片段。
我如何计算距离 A 或 B 距离 X 米但朝向另一点的 Z 点的坐标?
我已经使用System.Device.Location 库知道我的两点之间的距离。
GeoCoordinate A = new GeoCoordinate(49.25818, -123.20626);
GeoCoordinate B = new GeoCoordinate(49.25813, -123.2032);
var distanceInMeters = A.GetDistanceTo(B);
// distanceInMeters = 222.33039783713738
我正在寻找这样的东西:
GeoCoordinate GetPointTowards(GeoCoordinate fromPoint, GeoCoordinate towardPoint, double distanceInMeter) {
[???]
}
我想我可能需要方位或其他东西才能获得新的点位置。
我发现的大多数示例都是针对具有特定库的 iOS、Android 或 GMaps..
【问题讨论】:
-
也许这个 nuget 库可以提供帮助? numerics.mathdotnet.com
-
能否请您提供另外两个带有正确仪表的坐标。在发布您可以传递的方法之前,需要测试我的逻辑。
-
@LevonRavel:{49.25835,-123.21894},{49.25837,-123.21989}。他们在 69.038124262531255 米之外。
-
好的,我可以发布方程式
-
stackoverflow.com/questions/3225803/… 找到了这个答案,希望对您有所帮助。它以公里为单位,但我认为转换为米应该很容易。
标签: c# geospatial distance