java - 获取给定半径(米)和位置的最大经纬度

标签 java localization geolocation location

我的代码需要帮助。 我想获得以米为单位的半径的最大纬度和最大经度(以度为单位)以及以纬度和经度(以度为单位)的实际位置。 有人能帮我吗?

谢谢!!

最佳答案

首先,每度纬度包含 appx 111.1 km,因此很容易将线性增量重新计算为纬度增量。

其次,1个经度的线形外观因纬度而异:靠近两极小,靠近赤道大。近似方程如下:

kmInLongitudeDegree = 111.320 * Math.cos( latitude / 180.0 * Math.PI)

结合这一点,很容易获得将覆盖您的圈子的纬度和经度增量:

deltaLat = radiusInKm / 111.1;
deltaLong = radiusInKm / kmInLongitudeDegree;

minLat = lat - deltaLat;  
maxLat = lat + deltaLat;
minLong = long - deltaLong; 
maxLong = long + deltaLong;

更精确的计算,看这里:http://en.wikipedia.org/wiki/Longitude (部分经度的长度)。

在 Android 上,要获得一个纬度包含多少米,请创建 2 个 Location 对象:一个是当前坐标,一个是纬度偏移 0.1 度,然后计算它们之间的距离并乘以10. 与经度相同。

关于java - 获取给定半径(米)和位置的最大经纬度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23117989/

相关文章:

date - 为什么 PowerShell 在转换为 DateTime 时总是使用美国文化?

android - Google maps Android API获取wifi位置

javascript - 为什么我在本地主机上的 Chrome 中收到 getCurrentPosition() 和 watchPosition() "insecure origins"错误?

java - 将 Zip 转换为存储压缩

java - 设置JPanel的大小

java - 使用下划线 '_' 作为 SNI 服务器名称的一部分时 JVM 崩溃

vba - 强制 VBA 使用英国本地化

c# - 数字格式在 ASP.NET Core 中不起作用

java - 如何将属性文件放置在 Eclipse 中类路径中 .jar 前面的目录中?

html - Dart中的HTML5地理位置