簡體   English   中英

使用C#將半徑添加到經度和緯度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM