zoukankan      html  css  js  c++  java
  • 计算坐标中心点

    计算给定的坐标的中心点坐标

    private QueryEntity getCentPoint(List<QueryEntity> pointlist){
            int total = pointlist.size();  
            double X = 0, Y = 0, Z = 0;  
            for (QueryEntity g : pointlist)  
            {  
                double lat, lon, x, y, z;  
                lat = (Double.parseDouble(g.getY())) * Math.PI / 180;  //纬度
                lon = (Double.parseDouble(g.getX())) * Math.PI / 180;  //经度
                x = Math.cos(lat) * Math.cos(lon);  
                y = Math.cos(lat) * Math.sin(lon);  
                z = Math.sin(lat);  
                X += x;  
                Y += y;  
                Z += z;  
            }  
            X = X / total;  
            Y = Y / total;  
            Z = Z / total;  
            double Lon = Math.atan2(Y, X);  
            double Hyp = Math.sqrt(X * X + Y * Y);  
            double Lat = Math.atan2(Z, Hyp);  
            QueryEntity ql = new QueryEntity();
            ql.setX(Double.toString(Lon * 180 / Math.PI));
            ql.setY(Double.toString(Lat * 180 / Math.PI));
            ql.setName("center");
            
            return ql;
        }

    计算算的点之间的距离在400km以内的可以使用简化的 代码

    private QueryEntity getCentPoint(List<QueryEntity> pointlist){
            int total = pointlist.size();  
           double lat, lon, x, y, z;   
            for (QueryEntity g : pointlist)  
            {  
                lat += (Double.parseDouble(g.getY())) * Math.PI / 180;  //纬度
                lon += (Double.parseDouble(g.getX())) * Math.PI / 180;  //经度
             
            }  
            lat /= total;  
            lon /=total; 
            QueryEntity ql = new QueryEntity();
            ql.setX(Double.toString(Lon * 180 / Math.PI));
            ql.setY(Double.toString(Lat * 180 / Math.PI));
            ql.setName("center");
            
            return ql;
        }
  • 相关阅读:
    0/1背包问题
    假如爱有天意(中文版)
    tomcat集群
    分布式锁
    centos7安装Harbor(转载)
    isEmpty和isBlank的区别
    单体应用架构和分布式架构的比较
    微服务鉴权
    mysql的时区设置
    RSA非对称加密算法
  • 原文地址:https://www.cnblogs.com/kuoAT/p/7792291.html
Copyright © 2011-2022 走看看