Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取给定半径(米)和位置的最大纬度和经度_Java_Localization_Geolocation_Location - Fatal编程技术网

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

Java 获取给定半径(米)和位置的最大纬度和经度,java,localization,geolocation,location,Java,Localization,Geolocation,Location,我需要代码方面的帮助。 我想获得给定半径(米)的最大纬度和最大经度(度),以及实际位置(纬度和经度)(度)。 有人能帮我吗 谢谢 首先,每个纬度都包含appx 111.1 km,因此很容易重新计算线性增量到纬度增量 第二,1经度的线性外观是不同的,取决于纬度:小的接近两极,大的接近赤道。近似公式如下所示: kmInLongitudeDegree = 111.320 * Math.cos( latitude / 180.0 * Math.PI) 结合这一点,很容易得到覆盖你的圆的纬度和经度的三角

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


谢谢

首先,每个纬度都包含
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;
要获得更精确的计算,请查看此处:(经度的截面长度)


在Android上,要获得一个纬度所包含的米数,请创建2个
位置
对象:一个是当前坐标,另一个是纬度移动了0.1度,然后计算它们之间的距离并乘以10。经度也是一样。

你能发布你的代码并告诉我们你到目前为止尝试了什么吗?如果半径很小,你可以在你的点周围画出球面的切线,从中得到经度和纬度,因为你可以把地球看成是在足够小的距离上平坦的。你能更精确地解决你的问题,所以我们可以找到更好的解决办法吗?如果你试图在某个范围内搜索一个DB对象,考虑一下“最大”纬度和经度是什么意思?以某种方式体现最大值概念的单个点,或两个不同的点。在第一种情况下,您没有提供足够的信息来告诉我们“max”是什么意思。在第二个例子中,“max”是北面r米,西面r米,然后你必须决定你想要什么,如果你穿过北极或180度线。换句话说,如果没有更多的上下文,“max”就没有任何意义。我想得到在某个半径内远离我的位置的所有点。我的想法是让我周围的所有地方都在这个半径范围内(以分贝为单位,我所有的地方都有相对坐标)。太棒了!非常感谢@Salauyou!这是我需要的@吉奥,不客气。我刚刚添加了最后一段,如何在Android上以更智能的方式进行操作。它将给出更精确的结果,因为计算是在WGS84椭球体上进行的,而不是球体。谢谢!!我在用它做Android!