ガーミン デバイスから収集したロケーション ポイントを Excel シートに度分形式で保存しています --- W00208.172, N1046.977 10 進度または度分秒形式に変換するにはどうすればよいですか?
3 に答える
だから私は怠惰な答えを探していましたが、満足できなかったので、最後に作ったものをここに入れます:
これらの 2 つの形式間で変換したい:
33°59'05.5"S 22°39'42.7"E
と-33.98485,22.66186
左が「度分秒」、右が「小数」
もちろん、上記の形式に正確に従っていることを前提としているため、いくつかの仮定を行う必要があります。
まず、Degree から Decimal へ (ソースはセル B2 にあります):
=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)
次に、Decimal から Degree まで (ソースはセル C2 にあります):
=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")
式に変数を含めることができれば...そのほとんどは、いくつかの単純なルールを持つ重複した式です...とにかく、それが誰かの役に立てば幸いです。
経度(EまたはW)の範囲は-180~180なので3桁 緯度(NまたはS)の範囲は-90~90なので2桁
「W00208.172」を取得し、最初の 3 桁を取得して degress に保存します。
deg = 002 次に、残りを 10 進数の分にします。
分 = 08.172
次に、10 進度 (DEG) に変換します。
decDegrees = 度 + 分 / 60.0
緯度についても同じです: 度が 2 桁になったことを除いて N1046.977: 10 度と 46.977 分を取ります。
「W」記号を保持したい場合は、どちらも考えてください。
「W」または「S」の場合は、-1 を乗算する方がよいことがよくあります。変換の最後のステップとしてこれを行ってください。負の 10 進度は、W (経度) または S (緯度) を意味します。
あなたが意味する座標を提供する場合:
緯度:北10046.977 = 10 + 46.977 / 60 = 10.78295;
経度: (2 + 8.172 / 60) * -1 = -2.1362;
そのため、場所はブルキナファソにある必要があり、道路の近くに 15 m (= もっともらしい) ドゥヌヌアイの南東東 5,52 km にあります。
この数式は、018°40.1333 から 18.66888833 および -34°01.0597 から -34.01766167 の形式に変換するために Google スプレッドシートで機能します。
=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))