经纬度转换,度分秒转换工具
- 格式:xlsx
- 大小:14.48 KB
- 文档页数:8
经纬度格式转换及距离计算工具一、经纬度格式转换当涉及到经纬度坐标时,常见的格式有以下几种:1.度分秒(DMS)格式:例如:25°2'45.678"N,120°23'56.789"E2.十进制度(DD)格式:例如:25.0456°N,120.3990°E3.度分(DM)格式:例如:25°2.762'N,120°39.531'E要实现经纬度格式的转换,可以通过以下步骤完成:1.将度分秒(DMS)格式的经纬度坐标转换为十进制度(DD)格式,可以使用以下公式:DD = degrees + minutes/60 + seconds/3600其中,degrees为度数,minutes为分钟数,seconds为秒数。
2.将度分秒(DMS)格式的经纬度坐标转换为度分(DM)格式,可以使用以下公式:DM = degrees + minutes/60其中,degrees为度数,minutes为分钟数。
二、距离计算计算两个经纬度点之间的距离一般使用大圆距离(Great Circle Distance)。
大圆距离是指沿着地球表面最短路径的距离,该路径是两个经纬度点之间的弧线段。
要计算两个经纬度点之间的距离,可以使用以下公式:distance = r * arccos(sin(lat1)*sin(lat2) +cos(lat1)*cos(lat2)*cos(lon2-lon1))其中,r是地球的半径,lat1和lon1为第一个经纬度点的纬度和经度,lat2和lon2为第二个经纬度点的纬度和经度。
三、示例代码下面是一个使用Python编写的经纬度格式转换及距离计算的示例代码:```pythonimport mathdef dms_to_dd(degrees, minutes, seconds, direction):dd = degrees + minutes/60 + seconds/3600if direction == 'S' or direction == 'W':dd *= -1return dddef dms_to_dm(degrees, minutes, direction):dm = degrees + minutes/60if direction == 'S' or direction == 'W':dm *= -1return dmdef distance(lat1, lon1, lat2, lon2):r=6371#地球半径,单位为千米lat1 = math.radians(lat1)lon1 = math.radians(lon1)lat2 = math.radians(lat2)lon2 = math.radians(lon2)dlon = lon2 - lon1dlat = lat2 - lat1a = math.sin(dlat/2)**2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon/2)**2c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))distance = r * creturn distance#示例#输入经纬度坐标格式为度分秒(DMS)格式lat_dms = 25lat_minutes = 2lat_seconds = 45.678lat_direction = 'N'lon_dms = 120lon_minutes = 23lon_seconds = 56.789lon_direction = 'E'#转换为十进制度(DD)格式lat_dd = dms_to_dd(lat_dms, lat_minutes, lat_seconds,lat_direction)lon_dd = dms_to_dd(lon_dms, lon_minutes, lon_seconds,lon_direction)#转换为度分(DM)格式lat_dm = dms_to_dm(lat_dms, lat_minutes, lat_direction)lon_dm = dms_to_dm(lon_dms, lon_minutes, lon_direction)#计算距离distance = distance(lat_dd, lon_dd, 25.0456, 120.3990)print('经纬度转换结果:')print('十进制度(DD)格式:', lat_dd, lon_dd)print('度分(DM)格式:', lat_dm, lon_dm)print('两个经纬度点之间距离:', distance, '千米')```这个示例代码实现了经纬度格式的转换和距离的计算。
推荐⼀款好⽤的经纬度换算⼯具,⼩数度分秒在线快速换算
近期【经纬度查询测距⼯具】发布了1.3.4的新版本,新增了获取腾讯地图/⾼德地图/百度地图/WGS84标准GPS坐标、经纬度⼩数/度分秒快速换算功能。
今天葱⼦给⼤家讲解⼀下如何进⾏换算。
微信搜索打开⼩程序【经纬度查询测距⼯具】
然后、点击地图右侧的导航条⾥⾯的换算按钮,进⼊换算页⾯
再点击【度分秒转换】选项,就可以使⽤⼩数/度分秒转换了。
换算起来也⽐较简单,按照提⽰输⼊度/分/秒的值,然后点击转换按钮即可转换,转换完成后还可以点击旁边的复制按钮复制转换结果,还是很⽅便实⽤。
怎么把经纬度转换成标准的度分秒单位其计算公式应是:任何⼀个⼗进制数表⽰的经、纬度数,其整数即是度数,其⼩数部分乘以60得到的数的整数部分即是分数,再⽤该数的⼩数部分乘以60 得到的数就是秒数。
例:36.12432314转换成度分秒的数是:其度数是"36",其分是"0.12432314×60=7.4593884"的整数"7",其秒是"0.4593884×60=27.5639304","27.6"----36°7′27.6〃。
计算原理:保留取整部分,⼩数×60 经度: 14° 0.32×60=19.2 --》19′ 0.2×60 =1.2 --》1.2〃即:14°19′12〃同理,纬度: 52.20= 52°12′0〃经纬度的表⽰1884年国际经度会议规定,以通过英国伦敦格林威治天⽂台⼦午仪中⼼的经线为0°经线。
从0°经线往东叫东经,往西叫西经,东、西各分180°。
习惯上以西经20°和东经160°为分界把地球分为东西两个半球。
假如从地轴的正中间将地球切成南北两半,上边的⼀半叫北半球,下边的⼀半叫南半球。
被切的这个平⾯,叫⾚道⾯。
⾚道⾯与地球表⾯相交的线叫⾚道。
纬线从⾚道往两极越来越短,到了两极就缩⼩成⼀个点了。
科学家们把⾚道定为0°纬线,从⾚道向两极各分为90°,⾚道以南叫南纬,⾚道以北叫北纬。
在计算机或GPS上经纬度经常⽤度、分、秒和度.度、分.分、秒.秒的混合⽅式进⾏表⽰,度、分、秒间的进制是60进制,度.度、分.分、秒.秒的进制是100进制,换算时⼀定要注意。
可以近似地认为每个纬度之间的距离是不变的111KM,每分间1.85KM,每秒间31.8M。