正如标题所示,我正在尝试根据输入的半径x英里(或最方便的单位)半径内的另一个坐标生成坐标。
举个例子:
我已经搜索过,但我一定是在寻找错误的东西,因为我能找到的所有帖子看起来都非常接近我想做的但是并没有完全达到钉在头上。
答案 0 :(得分:0)
我很抱歉你被遗忘了。我理解在不知道究竟要搜索什么的情况下尝试搜索某些内容会令人沮丧。
您可能对 Orthodromic Lines / Distances 感兴趣:wiki。如果这个答案不能满足你的需求,至少你有一个新的术语谷歌,希望能引导你到一个适合你的。
您可以尝试使用Geo库。它的文档很少,但它确实包含一个对你有用的方法:CalculateOrthodromicLine(startPoint, heading, distance)
伪代码就像这样简单:
var startPoint = new Coordinate(lat, long);
var heading = Random between 0 and 360 degrees
var distance = Random between 0 and X metres
var endPoint = //<-- et voila!
GeoContext.Current.GeodeticCalculator
.CalculateOrthodromicLine(startPoint, heading, distance)
.Coordinate2;
编辑:正如维基所说,地球不是一个完美的球体,而是一个球体。默认情况下,库GeoContext.Current
使用其Spheroid
计算,因此您应该没问题。