写一段计算经度,纬度的Java代码
时间: 2023-03-23 15:03:27 浏览: 77
好的,我来为您写一段计算经度的Java代码:
```
public class LongitudeCalculator {
public static void main(String[] args) {
double longitude = 120.123456; // 假设经度为120.123456度
int degrees = (int) longitude; // 取整数部分,即度数部分
double minutesSeconds = (longitude - degrees) * 60; // 分钟和秒数部分
int minutes = (int) minutesSeconds; // 取整数部分,即分钟部分
double seconds = (minutesSeconds - minutes) * 60; // 秒数部分
System.out.println("经度为:" + degrees + "度" + minutes + "分" + seconds + "秒");
}
}
```
以上代码会将经度120.123456度计算为120度7分24.84秒,并在控制台输出结果。
希望对您有帮助!
相关问题
生成一段用java语言计算两经纬度之间的距离的代码
以下是使用Java语言计算两个经纬度之间距离的示例代码:
```java
public class DistanceCalculator {
private static final double EARTH_RADIUS = 6371; // 地球半径,单位为千米
public static double calculateDistance(double lon1, double lat1, double lon2, double lat2) {
double radLat1 = Math.toRadians(lat1);
double radLat2 = Math.toRadians(lat2);
double a = radLat1 - radLat2;
double b = Math.toRadians(lon1) - Math.toRadians(lon2);
double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
s = s * EARTH_RADIUS;
return s;
}
public static void main(String[] args) {
double distance = calculateDistance(116.4074, 39.9042, 121.4737, 31.2304);
System.out.println("两点之间的距离为:" + distance + "千米");
}
}
```
在上面的示例代码中,`calculateDistance()` 方法接收四个参数:起点的经度和纬度,以及终点的经度和纬度。该方法返回两个点之间的距离,单位为千米。
在主方法中,我们将起点设置为北京(经度:116.4074,纬度:39.9042),终点设置为上海(经度:121.4737,纬度:31.2304),然后计算它们之间的距离并输出结果。
请注意,上面的示例代码是基于球体上两点之间的大圆距离计算的。如果您需要更精确的结果,请考虑使用更复杂的算法。
帮我写一段Java代码,能够通过输入的两个经纬度坐标,计算两者的距离,返回结果单位为米
可以使用下面的 Java 代码来计算两点经纬度之间的距离:
```java
import static java.lang.Math.*;
public class DistanceCalculator {
private static final double EARTH_RADIUS = 6371000; // 地球平均半径,单位为米
public static double calculate(double lat1, double lon1, double lat2, double lon2) {
double deltaLat = toRadians(lat2 - lat1);
double deltaLon = toRadians(lon2 - lon1);
double a = sin(deltaLat / 2) * sin(deltaLat / 2)
+ cos(toRadians(lat1)) * cos(toRadians(lat2))
* sin(deltaLon / 2) * sin(deltaLon / 2);
double c = 2 * atan2(sqrt(a), sqrt(1 - a));
return EARTH_RADIUS * c;
}
public static void main(String[] args) {
double lat1 = 31.2234, lon1 = 121.4758; // 第一个点的经纬度
double lat2 = 39.9042, lon2 = 116.4074; // 第二个点的经纬度
double distance = calculate(lat1, lon1, lat2, lon2);
System.out.println("两点距离:" + distance + " 米");
}
}
```
在上述代码中,calculate() 方法接收四个参数,分别为两个点的纬度和经度。在方法内部,先将经纬度转换为弧度,然后使用 Haversine 公式计算两点之间的距离。最后将距离乘以地球平均半径,得到最终结果。在 main() 方法中,演示了如何使用该方法计算两点之间的距离,并输出结果。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)