c# - 使用 C# 将半径添加到经度和纬度

标签 c# coordinates haversine

我需要生成一个包含最小和最大纬度和经度值的边界框,以便我可以返回给定半径内的地址。

我在下面有两个函数<>,用于返回我需要 +/- 到经纬度坐标的范围,以建立边界框。但是我不认为数学是 100%

我正在使用 Haversine 公式生成我的距离计算结果,这似乎很准确。我也研究了 Vincenty 的距离公式,但对我的需求来说太过分了。

我的问题是我希望我的搜索结果与 Haversine 一样准确,因为我 +/- 到 lon lat 坐标的范围考虑了椭圆体曲率或地球。

好的,这是我的 func<>...请注意我不是数学教授 :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

关于c# - 使用 C# 将半径添加到经度和纬度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2106887/

相关文章:

c# - 当另一个对话框在顶部时禁用 "Close"按钮

c# - 从 c# : extra character in excel 创建 CSV 文件

binary - 如何将我的二进制(十六进制)数据转换为纬度和经度?

mysql - 在 mysql 中将纬度/经度存储为整数有什么缺点?

Android:将 View 放置在任意位置

c# - 解析日期时间

c# - 创建具有频率的汽车声音

mysql - 查询 MySQL 以获取给定英里半径内的纬度和经度坐标

r - 计算 2 个经纬度之间的距离

python - 为什么这个 Python 半正矢公式会产生错误的答案?