经纬度 范围 距离 计算

private const double EARTH_RADIUS = 6378.137;//地球半径
         private static double RAD = Math.PI / 180.0;
        //获取两个经纬度之间的距离
         public static double GetDistance(double lng1, double lat1, double lng2, double lat2)
        {
            double radLat1 = lat1 * RAD;
            double radLat2 = lat2 * RAD;
            double a = radLat1 - radLat2;
            double b = (lng1 - lng2) * RAD;
            double s = 2 * Math.Sin(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;
            s = Math.Round(s * 10000) / 10000;
            return s;   
        }

//获取两个经纬度的某个范围内的最大经度和最大纬度 单位 米
        public static double[] getAround(double lat, double lon, int raidus)
        {
            double PI = 3.14159265;
            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;
            return new double[] { minLat, minLng, maxLat, maxLng };
        }

经纬度 范围 距离 计算

时间: 2024-11-05 14:40:18

经纬度 范围 距离 计算的相关文章

【Python学习】指定两点地理位置经纬度的距离计算

指定两点地理位置经纬度的距离计算 1 #coding=utf-8 2 3 from math import * 4 5 # input Lat_A 纬度A 6 # input Lng_A 经度A 7 # input Lat_B 纬度B 8 # input Lng_B 经度B 9 # output distance 距离(km) 10 def calcDistance(Lat_A, Lng_A, Lat_B, Lng_B): 11 ra = 6378.140 # 赤道半径 (km) 12 rb =

两点经纬度之间距离计算

辅助类 GaoDeCoord.cs GaoDeCoord.cs using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Text; namespace RB.Common { #region 高德地图求范围自有数据 /// <summary> /// 经纬度坐标 /// </summary> public class Deg

Mysql 拿指定经纬度与数据库多条经纬度进行距离计算

公式例如以下,单位米: 第一点经纬度:lng1 lat1 第二点经纬度:lng2 lat2 round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)* pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000) 比如: SELECT store_id,lng,lat, ROUND(6378.

指定经纬度与数据库多条经纬度进行距离计算

##121.308364,30.225778 示例对比的坐标 select * from broadcasts where location!='' and sqrt( ( ((121.308364-longitude)*PI()*12656*cos(((30.225778+latitude)/2)*PI()/180)/180) * ((121.308364-longitude)*PI()*12656*cos (((30.225778+latitude)/2)*PI()/180)/180) )

根据经纬度和半径计算经纬度范围,根据两点经纬度计算距离

这些经纬线是怎样定出来的呢?地球是在不停地绕地轴旋转(地轴是一根通过地球南北两极和地球中心的假想线),在地球中腰画一个与地轴垂直的大圆圈,使圈上的每一点都和南北两极的距离相等,这个圆圈就叫作“赤道”.在赤道的南北两边,画出许多和赤道平行的圆圈,就是“纬圈”:构成这些圆圈的线段,叫做纬线.我们把赤道定为纬度零度,向南向北各为90度,在赤道以南的叫南纬,在赤道以北的叫北纬.北极就是北纬90度,南极就是南纬90度.纬度的高低也标志着气候的冷热,如赤道和低纬度地地区无冬,两极和高纬度地区无夏,中纬度地区

【JAVA】两点经纬度直线距离的计算

来自谷歌地图的计算公式: 通过JAVA的Math类各种方法调用.实现上述公式 private static double EARTH_RADIUS = 6378.137;// 单位千米 /** * 角度弧度计算公式 rad:(). <br/> * * 360度=2π π=Math.PI * * x度 = x*π/360 弧度 * * @author chiwei * @param d * @return * @since JDK 1.6 */ private static double get

两经纬度之间的距离计算

以下是计算两经纬度之间距离的代码,分为:头文件.源代码和测试代码三部分.具体如下: 1 // LatLonDistanceDlg.h : 头文件 2 // 3 4 #pragma once 5 6 typedef struct 7 { 8 double dLongitude; 9 double dLatitude; 10 }MyLatLong_T,*pMyLatLong_T; 11 12 // CLatLonDistanceDlg 对话框 13 class CLatLonDistanceDlg

根据2个经纬度点,计算这2个经纬度点之间的距离

原文  http://www.cnblogs.com/softfair/p/distance_of_two_latitude_and_longitude_points.html 根据 2 个经纬度点,计算这 2 个经纬度点之间的距离 球面上任意两点之间的距离计算公式可以参考维基百科上的下述文章. Great-circle distance Haversine formula 值得一提的是,维基百科推荐使用Haversine公式,理由是Great-circle distance公式用到了大量余弦函

计算经纬度、距离、方位角

1.根据两点经纬度计算其间距离,发现有3种公式,结果区别不是很大. 2.根据一点的经纬度与到另外一点的距离.方位角,计算另一点的经纬度,误差不是很大. 1 package com.zhs.util; 2 3 /** 4 * 5 * 计算经纬度.距离.方位角 6 * 7 * @author lillian.he 8 * @time 2016-06-02 9 * */ 10 public class CalculationLogLatDistance { 11 /** 12 * 地球赤道半径(km)