JAVA 经纬度转换成直角坐标系,以及直角坐标系转换成经纬度算法

本文介绍了如何使用JAVA和Python进行经纬度与直角坐标系之间的转换。通过示例展示了具体算法的应用,如将经纬度转换为直角坐标得到[33500.41531086378, 8133.060038815809],以及直角坐标转换回经纬度[120.7867915, 24.372909900000003]。" 132636815,7337247,使用OpenTracing和Jaeger进行Java应用的分布式追踪,"['分布式追踪', 'Jaeger', 'OpenTracing', 'Java开发', '微服务监控']
摘要由CSDN通过智能技术生成
运用米勒投影原理
Java实现:
public class JWDUtil {
    private static DecimalFormat format = new DecimalFormat("###0.000");
    public static List<Double> MillierConvertion(double lon , double lat){
        ArrayList<Double> list = new ArrayList<>();
        double L = 6381372 * Math.PI * 2;//地球周长
        double W = L;// 平面展开后,x轴等于周长
        double H = L / 2;// y轴约等于周长一半
        double mill = 2.3;// 米勒投影中的一个常数,范围大约在正负2.3之间
        double x = lon * Math.PI / 180;// 将经度从度数转换为弧度
        double y = lat * Math.PI / 180;// 将纬度从度数转换为弧度
        y = 1.25 * Math.log(Math.tan(0.25 * Math.PI + 0.4 * y));// 米勒投影的转换
        // 弧度转为实际距离
        x = (W / 2) + (W / (2 * Math.PI)) * x;
        y = (H / 2) - (H / (2 * mill)) * y;
        Double v1 = (double) Math.round(x * 1000) / 1000000; //精确小数后三位,单位KM
        Double v2 = (double) Math.round(y * 1000) / 1000000;
        String format1 = forma
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值