`
gegaosong
  • 浏览: 37910 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

计算经纬度间的距离公里数

阅读更多
Google的Geocoding服务功能:
    1. 查询某地址的经纬度
    2. 查询某经纬度的具体地址

    Android的Geocoding替代品
    //根据地址查询经纬度的网址及其解释
    http://maps.googleapis.com/maps/api/geocode/json?address=SFO&sensor=false   ---json是表示返回的数据类型,可以改为xml。address是输入的位置。sensor标识请求是否来源于一个设备的传感器。language指定查询结果的语言
     //根据地址查询经纬度的网址及其解释,与上面不同的是这里有一个区域间范围
    http://maps.googleapis.com/maps/api/geocode/json?address=SFO&bounds=34.17,-188.6045|34.236,-118.500996&sensor=false  ---bounds是区间。sensor标识请求是否来源于一个设备的传感器。language指定查询结果的语言
     //根据地址查询经纬度的网址及其解释,如与上面不同的是这里有国家代码
    http://maps.googleapis.com/maps/api/geocode/json?address=SFO&sensor=false&region=es  ---region是国家代码。sensor标识请求是否来源于一个设备的传感器。language指定查询结果的语言
    //根据经纬度查询地址的网址及其解释
    http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false  ---latlng=40.714224,-73.961452经纬度数据。sensor标识请求是否来源于一个设备的传感器。language指定查询结果的语言



计算两点经纬度间的举例
public double getDistance(double lat1, double lon1, double lat2, double lon2) {

  float[] results=new float[1];

  Location.distanceBetween(lat1, lon1, lat2, lon2, results);

  return results[0];

  }

在其他设备若没有类似android的Location的distanceBetween方法开采用如下代码获取:

double distance(double lat1, double lon1, double lat2, double lon2) {

  double theta = lon1 - lon2;

  double dist = Math.sin(deg2rad(lat1)) * Math.sin(deg2rad(lat2))

  + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2))

  * Math.cos(deg2rad(theta));

  dist = Math.acos(dist);

  dist = rad2deg(dist);

  double miles = dist * 60 * 1.1515;

  return miles;

  }

  //将角度转换为弧度

  static double deg2rad(double degree) {

  return degree / 180 * Math.PI;

  }

  //将弧度转换为角度

  static double rad2deg(double radian) {

  return radian * 180 / Math.PI;

  }
分享到:
评论

相关推荐

    计算两个经纬度之间的公里数

    ### 计算两个经纬度之间的公里数 #### 概述 在地理信息系统(GIS)以及定位服务中,经常需要计算两个地理位置之间的距离。这在地图应用、物流规划、位置跟踪等场景中尤为重要。本文将详细介绍如何使用Java编写一个...

    经纬度距离计算小工具

    这个“经纬度距离计算小工具”显然是为了帮助用户方便地进行地理位置间的距离计算,同时具备度分秒与小数点之间的转换功能。 首先,我们来了解一下经纬度系统。地球被假想为一个完美的球体,并被分为360度的经度和...

    基于经纬度计算方向,距离等

    本文讨论的主题是基于经纬度计算方向和距离的问题,这是地理信息系统(GIS)、导航系统、地图制作以及许多需要位置计算的场合中常见需求。要精确地完成这一任务,涉及到地球椭球体模型上大地线(或称为测地线)的...

    根据经纬度算出两点距离以及方位角

    总结来说,计算两点间的距离和方位角涉及到经纬度的理解、Haversine公式和反正切函数的运用,以及可能的误差优化策略。在GIS和导航领域,精确地获取这些信息对于路线规划、定位服务和地图绘制至关重要。

    Desktop.rar_城市计算_经纬度 城市

    标题“Desktop.rar_城市计算_经纬度 城市”所指的内容主要涉及地理计算,特别是基于经纬度的城市间距离和地形影响分析。这通常在GIS(地理信息系统)或者地图应用开发中非常重要。描述提到“根据不同城市之间的...

    两点坐标距离计算Base64坐标转换工具(mac) 源码

    这个"两点坐标距离计算Base64坐标转换工具(mac) 源码"提供了这样的功能,它不仅可以处理Base64编码的经纬度数据,还能够计算两个Base64加密的经纬度坐标之间的距离。在Mac平台上,这样的工具具有很大的实用价值,...

    根据经纬度计算地球上两点之间的距离js实现代码

    其中 \( d \) 是两点间的距离,\( r \) 是地球半径(大约为6371公里),而 \( \theta \) 是两点间的中心角,可以使用球面三角学中的余弦定理来计算: \[ \theta = \arccos(\sin(\text{lat}_1) \cdot \sin(\text{lat...

    PHP计算当前坐标3公里内4个角落的最大最小经纬度实例

    这个值是用于转换地球上两点之间的距离到弧度,因为在计算经纬度时通常使用弧度而不是实际距离。 接下来,我们定义一个变量$distance,表示我们关心的范围,即3公里。然后,我们利用三角函数来计算这个范围内四个角...

    php两点地理坐标距离的计算方法

    为了计算这个距离,我们常用的是基于经纬度和球面三角学的Haversine公式。 Haversine公式是一个在球面几何学中用于计算两点经纬度之间距离的公式。其基本思想是先计算出两点各自到球心的角度,然后利用余弦定理计算...

    经纬度转米的小函数,半径为月球

    这个公式将经纬度转换为地球上对应点的大圆距离,但请注意,这仅适用于大圆路径,而非直线距离。直线距离需要考虑地球的曲率。 在提供的压缩包中,包含了两个文件:cal.h和cal.cpp。cal.h文件很可能是包含函数声明...

    latLon_translate_地图_latlon显示地图_latlon2km_经纬_经纬度_

    在开发中,这样的转换对于在高德地图上准确地显示经纬度标记、计算两点间的实际距离(例如,"latlon2km"可能就是将经纬度差转换为公里的距离计算)以及进行地图数据的匹配都是非常必要的。 总的来说,理解和掌握...

    spase.rar_GPS_GPS距离_LCD_gps坐标_坐标距离

    Haversine公式考虑了地球的半径,并将经纬度转换为弧度,然后计算两点间的弧长。 “坐标距离”则更广泛地指任何基于坐标系计算的两点间距离,不局限于GPS坐标。在平面坐标系中,两点间的距离可以通过勾股定理来计算...

    GPS经纬度的表示方法及换算.pdf

    纬度间的距离大致恒定,约为111公里,而经度间的距离在不同纬度下会有所不同,随着接近两极而减小。 经纬度的表示方式有多种,包括十进制形式(ddd.ddddd)、分数形式(ddd.mm.mmm)和秒数形式(ddd.mm.ss)。在...

    定位精度计算公式.docx

    如果RMS误差以度为单位,那么将其转换为米需要乘以相应的公里数,再考虑地球曲率的影响。 总的来说,WGS84坐标系统的定位精度计算涉及到椭球体参数、坐标转换和误差分析等多个方面,这些知识对于理解和评估GPS等...

    php实现计算百度地图坐标之间距离的方法

    首先,为了进行地理坐标距离的计算,我们需要了解地球上两点间的距离计算公式,通常使用的是“半正矢公式”(Haversine公式)。这个公式适用于球面上两点间距离的计算,可以较为精确地计算出地球上任意两点的球面...

    万能坐标转换 9.30版

    坐标转换模块可在多套坐标系间进行经纬度与公里网坐标的转换;可在北京54、西安80、国家2000、地方坐标系间进行公里网坐标转换;可对跨两个分带的坐标点进行跨带坐标转换;可对六度带、三度带、一点五度带的坐标点...

    php如何计算两坐标点之间的距离

    然后根据哈弗辛公式计算出两点间的距离,并将其转换为米(或根据需要转换成公里)。 另一段代码是针对不同情境而设计的,其中`GetDistance`函数则提供了一个更为通用的实现,支持以米或公里为单位输出距离。此外,...

    新课标2021版高考地理一轮总复习同步测试卷一地球和地图

    4. **经纬度距离计算**:L1和L2的实际距离计算,需要用到经纬度上的距离换算公式,即1°经线或纬线对应的地球表面距离大约为111公里。学生需要理解并应用这个公式进行实际距离的计算。 5. **等高线地图分析**:R河...

    手持GPS三参数计算方法

    需要注意的是,当进入新的工作区域或距离原区域较远时(数十至上百公里),应重新进行参数验证。 #### 五、结语 手持GPS三参数的计算是提高定位精度的关键步骤之一。通过上述方法,不仅可以确保测量数据的准确性,...

Global site tag (gtag.js) - Google Analytics