zoukankan      html  css  js  c++  java
  • java 根据经纬度计算圆周

    package com.fh.util;
    
    /**
     * 说明:圆周
     * 作者:FH Admin
     * from:fhadmin.cn
     */
    public class LatLonUtil {
    
        private static final double PI = 3.14159265; // 圆周率
        private static final double EARTH_RADIUS = 6378137; // 地球半径
        private static final double RAD = Math.PI / 180.0; // 一百八十度角
    
        /**
         * @param raidus
         * 单位米 return minLat 
         * 最小经度 minLng 
         * 最小纬度 maxLat 
         * 最大经度 maxLng 
         * 最大纬度 minLat
         */
        public static double[] getAround(double lat, double lon, int raidus) {
    
            Double latitude = lat;// 传值给经度
            Double longitude = lon;// 传值给纬度
            Double degree = (24901 * 1609) / 360.0; // 获取每度
            double raidusMile = raidus;
            Double dpmLat = 1 / degree;
            Double radiusLat = dpmLat * raidusMile;
            // 获取最小纬度
            Double minLat = latitude - radiusLat;
            // 获取最大纬度
            Double maxLat = latitude + radiusLat;
            Double mpdLng = degree * Math.cos(latitude * (PI / 180));
            Double dpmLng = 1 / mpdLng;
            Double radiusLng = dpmLng * raidusMile;
            //获取最小经度
            Double minLng = longitude - radiusLng;
            // 获取最大经度
            Double maxLng = longitude + radiusLng;
            System.out.println("jingdu" + minLat + "weidu" + minLng + "zuidajingdu"
                    + maxLat + "zuidaweidu" + maxLng);
    
            return new double[] { minLat, minLng, maxLat, maxLng };
        }
        //测试方法
        public static void main(String [] src){
            getAround(36.68027, 117.12744, 1000);
        }
    
    }
     
  • 相关阅读:
    Git上传文件不能超过100M的解决办法
    微信小程序 转发 分享功能(二)
    微信小程序 转发 分享功能(一)
    github上分支的合并
    微信小程序公告滚动通知
    django-blog:多对多查询
    正弦型函数的给出方式
    人教版|反三角函数
    在线|北京人大附中高一试题
    争鸣|深层次理解几何概型的概念和求解
  • 原文地址:https://www.cnblogs.com/m170981362621/p/15379156.html
Copyright © 2011-2022 走看看