[英]Add radius to Longitude and Latitude with C#
我需要生成最小和最大緯度和經度值的邊界框,以便我可以返回給定半徑內的地址。
我在下面有兩個func <>,將我需要的范圍+/-返回到lon lat坐標以建立邊界框。 但是我不認為數學是100%
我使用Haversine公式來生成我的距離計算,這似乎是准確的。 我調查了Vincenty公式的距離,但是我的需求太過分了。
我的問題是我希望我的搜索結果與Haversine一樣准確,因為I +/-到lon lat坐標的范圍考慮了橢球曲率或地球。
好的,這是我的功能<>的...請注意我不是數學教授:o)
static Func<double, int, double> GetLatitudeRange = (latitude, distance) => (180.0 / Math.PI) * (distance / EARTH_RADIUS_IN_KM);
static Func<double, double, int, double> GetLongitudeRange = (longitude, latitude, distance) =>
(
Math.Asin(
Math.Sin(distance / EARTH_RADIUS_IN_KM) / Math.Cos(latitude)
)
);
看一下zipcodeworld
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.