Excel 将度数分钟转换为十进制度数

Excel 将度数分钟转换为十进制度数,excel,gps,coordinates,degrees,garmin,Excel,Gps,Coordinates,Degrees,Garmin,我有从garmin设备收集的位置点,以度数分钟格式存储在excel表格中--- W00208.172,N1046.977 如何将其转换为十进制度数或度数分秒格式?经度范围(E或W)为-180到180,因此为3位数字 纬度(N或S)的范围是-90到90,所以有两位数 取“W00208.172”,取前3位数字并存储到degress: deg=002 然后将剩余的时间作为十进制分钟: 最小值=08.172 现在转换为十进制度数(度): 十度=度+分/60.0 纬度也一样:只是度数现在只有两位数 N10

我有从garmin设备收集的位置点,以度数分钟格式存储在excel表格中--- W00208.172,N1046.977 如何将其转换为十进制度数度数分秒格式?

经度范围(E或W)为-180到180,因此为3位数字 纬度(N或S)的范围是-90到90,所以有两位数

取“W00208.172”,取前3位数字并存储到degress:

deg=002 然后将剩余的时间作为十进制分钟:

最小值=08.172

现在转换为十进制度数(度):

十度=度+分/60.0

纬度也一样:只是度数现在只有两位数 N1046.977:10度,46.977分钟

对于这两种情况,请考虑是否要保留“W”符号:
在“W”或“S”的情况下,通常最好使用-1进行多重转换,这是转换的最后一步! 负十进制度数表示W(代表经度)或S(代表纬度)

为您提供的坐标表示:
纬度:北10046.977=10+46.977/60=10.78295
lon:(2+8.172/60)*-1=-2.1362

因此,该位置应位于布基纳法索,距离Dununai东南方向5,52公里的公路(合理)15米处

此公式适用于从格式018°40.1333转换为18.668833和-34°01.0597转换为-34.01766167的谷歌表格

=IF(MID(B2,1,1) = "-", (INT(MID(B2, 1, SEARCH("°", B2) - 1)) - MID(B2, SEARCH("°", B2) + 1, len(B2))/60), (INT(MID(B2, 1, SEARCH("°", B2) - 1)) + MID(B2, SEARCH("°", B2) + 1, len(B2))/60))

所以我一直在寻找一个懒散的答案,但我不高兴,所以我想把我最后的收获放在这里:

想要在这两种格式之间转换:

33°59'05.5“S 22°39'42.7”E
-33.98485,22.66186

左边是“度分秒”,右边是“十进制”

当然,我必须做出一些假设,假设您完全遵循上述格式

第一个是从度到小数(源在单元格B2中):

然后从小数点到度数(源位于单元格C2中):


=abs(舍入)(左(C2,find(,“,”,C2)-1)和“°”&舍入((左(C2,find(,”,C2)-1))-abs(舍入)(左(C2,find(,“,”,C2)-1))和舍入((左(C2,find(,“,”,C2)-1))-abs(舍入(左(C2,find(,“,”,C2)-1))-60-舍入((左(C2,find(,“,”,C2))-1))-60-舍入((左(C2,find),*1))-1)值)(C2,find(“,”,C2)-1)重复问题由于原始问题在GIS-SE@pnuts剪切粘贴重复问题,我认为该术语是“(N10046.977',W002008.172')”是错误的!看我的答案也不错,用这段代码你应该做最后的测试,通过知道Garmin轨迹记录的位置,并使用Google Earth来定位转换后的坐标。使用Google Earth中的格式“lat,lon”使用你的Excel表,告诉我转换后的坐标,然后我可以告诉你。(然后,你还应该安装Google Earth来知道位置在哪里)@pnuts你是不是和OP(userr211…?@pnuts North 10046.977=10+46.977/60=10.78295;和(2+8.172/60)*-1=-2.1362;因此应该在布基纳法索,距离杜努奈东南5,52公里的公路15米处
=ROUNDDOWN(if(mid(B2,find(" ",B2)-1,1)="S","-","")&mid(B2,1,find("°",B2)-1)+mid(B2,find("°",B2)+1,find("'",B2)-find("°",B2)-1)/60+mid(B2,find("'",B2)+1,find("""",B2)-find("'",B2)-1)/60/60,5)&","&rounddown(if(right(B2,1)="W","-","")&mid(right(B2,find(" ",B2)-1),1,find("°",right(B2,find(" ",B2)-1))-1)+mid(right(B2,find(" ",B2)-1),find("°",right(B2,find(" ",B2)-1))+1,find("'",right(B2,find(" ",B2)-1))-find("°",right(B2,find(" ",B2)-1))-1)/60+mid(right(B2,find(" ",B2)-1),find("'",right(B2,find(" ",B2)-1))+1,find("""",right(B2,find(" ",B2)-1))-find("'",right(B2,find(" ",B2)-1))-1)/60/60,5)
=abs(ROUNDDOWN(left(C2,find(",",C2)-1))) & "°" & ROUNDDOWN((abs(left(C2,find(",",C2)-1))-abs(ROUNDDOWN(left(C2,find(",",C2)-1))))*60) & "'" & round(((abs(left(C2,find(",",C2)-1))-abs(ROUNDDOWN(left(C2,find(",",C2)-1))))*60- rounddown((abs(left(C2,find(",",C2)-1))-abs(ROUNDDOWN(left(C2,find(",",C2)-1))))*60))*60,1) & """"&if(value(left(C2,find(",",C2)-1))<0,"S","N")& " " & abs(ROUNDDOWN(RIGHT(C2,len(C2)-find(",",C2)))) & "°" & rounddown((abs(RIGHT(C2,len(C2)-find(",",C2)))-abs(ROUNDDOWN(RIGHT(C2,len(C2)-find(",",C2)))))*60) & "'" & round(((abs(RIGHT(C2,len(C2)-find(",",C2)))-abs(ROUNDDOWN(RIGHT(C2,len(C2)-find(",",C2)))))*60- rounddown((abs(RIGHT(C2,len(C2)-find(",",C2)))-abs(ROUNDDOWN(RIGHT(C2,len(C2)-find(",",C2)))))*60))*60,1) & """"&if(value(right(C2,len(C2)-find(",",C2)))<0,"W","E")