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®ion=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_城市计算_经纬度 城市”所指的内容主要涉及地理计算,特别是基于经纬度的城市间距离和地形影响分析。这通常在GIS(地理信息系统)或者地图应用开发中非常重要。描述提到“根据不同城市之间的...
这个"两点坐标距离计算Base64坐标转换工具(mac) 源码"提供了这样的功能,它不仅可以处理Base64编码的经纬度数据,还能够计算两个Base64加密的经纬度坐标之间的距离。在Mac平台上,这样的工具具有很大的实用价值,...
其中 \( d \) 是两点间的距离,\( r \) 是地球半径(大约为6371公里),而 \( \theta \) 是两点间的中心角,可以使用球面三角学中的余弦定理来计算: \[ \theta = \arccos(\sin(\text{lat}_1) \cdot \sin(\text{lat...
这个值是用于转换地球上两点之间的距离到弧度,因为在计算经纬度时通常使用弧度而不是实际距离。 接下来,我们定义一个变量$distance,表示我们关心的范围,即3公里。然后,我们利用三角函数来计算这个范围内四个角...
为了计算这个距离,我们常用的是基于经纬度和球面三角学的Haversine公式。 Haversine公式是一个在球面几何学中用于计算两点经纬度之间距离的公式。其基本思想是先计算出两点各自到球心的角度,然后利用余弦定理计算...
这个公式将经纬度转换为地球上对应点的大圆距离,但请注意,这仅适用于大圆路径,而非直线距离。直线距离需要考虑地球的曲率。 在提供的压缩包中,包含了两个文件:cal.h和cal.cpp。cal.h文件很可能是包含函数声明...
在开发中,这样的转换对于在高德地图上准确地显示经纬度标记、计算两点间的实际距离(例如,"latlon2km"可能就是将经纬度差转换为公里的距离计算)以及进行地图数据的匹配都是非常必要的。 总的来说,理解和掌握...
Haversine公式考虑了地球的半径,并将经纬度转换为弧度,然后计算两点间的弧长。 “坐标距离”则更广泛地指任何基于坐标系计算的两点间距离,不局限于GPS坐标。在平面坐标系中,两点间的距离可以通过勾股定理来计算...
纬度间的距离大致恒定,约为111公里,而经度间的距离在不同纬度下会有所不同,随着接近两极而减小。 经纬度的表示方式有多种,包括十进制形式(ddd.ddddd)、分数形式(ddd.mm.mmm)和秒数形式(ddd.mm.ss)。在...
如果RMS误差以度为单位,那么将其转换为米需要乘以相应的公里数,再考虑地球曲率的影响。 总的来说,WGS84坐标系统的定位精度计算涉及到椭球体参数、坐标转换和误差分析等多个方面,这些知识对于理解和评估GPS等...
首先,为了进行地理坐标距离的计算,我们需要了解地球上两点间的距离计算公式,通常使用的是“半正矢公式”(Haversine公式)。这个公式适用于球面上两点间距离的计算,可以较为精确地计算出地球上任意两点的球面...
坐标转换模块可在多套坐标系间进行经纬度与公里网坐标的转换;可在北京54、西安80、国家2000、地方坐标系间进行公里网坐标转换;可对跨两个分带的坐标点进行跨带坐标转换;可对六度带、三度带、一点五度带的坐标点...
然后根据哈弗辛公式计算出两点间的距离,并将其转换为米(或根据需要转换成公里)。 另一段代码是针对不同情境而设计的,其中`GetDistance`函数则提供了一个更为通用的实现,支持以米或公里为单位输出距离。此外,...
4. **经纬度距离计算**:L1和L2的实际距离计算,需要用到经纬度上的距离换算公式,即1°经线或纬线对应的地球表面距离大约为111公里。学生需要理解并应用这个公式进行实际距离的计算。 5. **等高线地图分析**:R河...
需要注意的是,当进入新的工作区域或距离原区域较远时(数十至上百公里),应重新进行参数验证。 #### 五、结语 手持GPS三参数的计算是提高定位精度的关键步骤之一。通过上述方法,不仅可以确保测量数据的准确性,...