検証環境

緯度経度の表示形式

度 → D
分 → M
秒 → S
※小数桁は小文字表記

少数度表記(DD・DEG・Degree)

「少数度表記」と呼ばれる形式
10進数として度を整数、分・秒を小数の値として扱います
多くのアプリやサービスで使われています

DDD.ddddddddddd

ちなみに「度」「分」「秒」の値から「少数度表記」に変換するには
((([秒]÷60)+[分])÷60)+[度]
という計算式で行えます

例:
35°39′31.444560″
(((31.444560÷60)+39)÷60)+35
35.6587346

逆に「少数度表記」から「度」「分」「秒」に変換するには以下の手順で行います

  1. 整数と少数で分解して、整数部を度とする
  2. 先ほどの小数に60をかける
  3. 整数と少数で分解して、整数部を分とする
  4. 先ほどの小数に60をかける、結果を秒とし少数桁を6桁にする
例:
35.6587346
35 と 0.6587346 に分解、35を度とする
0.6587346 × 60 = 39.524076
39 と 0.524076 に分解、39を分とする
0.524076 × 60 = 31.44456
31.44456をを秒とし少数桁を6桁にする
35°39′31.444560″

はいめんどくせーですね!!

度分秒(DMS)「平面直角座標への換算 - 国土地理院」用

度・分・秒の値を単純に連結させ、一つの数字にまとめている形式
以下の形式は主に「平面直角座標への換算 - 国土地理院」で使われています

DDDMMSS.ssss

のWebページでは以下の様に説明されている

【緯度・経度の値の入力例(度分秒)】

 緯度  36° 6′13.58925″ →  360613.58925
 経度 140° 5′16.27815″ →  1400516.27815
      ddd mm ss.s      →  dddmmss.s

度分秒(DMS) 「CALS???」用

度・分・秒の値を単純に連結させ、一つの数字にまとめている形式
以下の形式は確かCALSのファイルで見た気がしますが、遠い記憶すぎて忘れました…

DDD.MMSSssss

変換Excel式

以下は「F2」セルに少数度表記(DD・DEG・Degree)の緯度経度の数値がある場合
他のセルにある場合は「F2」の部分を変更する

少数度表記(DD・DEG・Degree)→度分秒(DMS)「平面直角座標への換算 - 国土地理院」用

使用する場合は、セルの書式設定で「数値」の小数点以下の桁数を6に設定

=LET(DEGREE, F2, (INT(DEGREE)*10000) + (INT((DEGREE-INT(DEGREE))*60)*100) + ((((DEGREE-INT(DEGREE))*60)-INT((DEGREE-INT(DEGREE))*60))*60))

又は

=(INT(F2)*10000) + (INT((F2-INT(F2))*60)*100) + ((((F2-INT(F2))*60)-INT((F2-INT(F2))*60))*60)

少数度表記(DD・DEG・Degree)→度(D)のみ

=INT(F2)

少数度表記(DD・DEG・Degree)→分(M)のみ

=LET(DEGREE, F2, INT((DEGREE-INT(DEGREE))*60))

又は

=INT((F2-INT(F2))*60)

少数度表記(DD・DEG・Degree)→秒(S)のみ

=LET(DEGREE, F2, (((DEGREE-INT(DEGREE))*60)-INT((DEGREE-INT(DEGREE))*60))*60)

又は

=(((F2-INT(F2))*60)-INT((F2-INT(F2))*60))*60

少数度表記(DD・DEG・Degree)→度分秒(DMS) 「CALS???」用

使用する場合は、セルの書式設定で「数値」の小数点以下の桁数を10に設定

=LET(DEGREE, F2, (INT(DEGREE)) + (INT((DEGREE-INT(DEGREE))*60)*0.01) + (((((DEGREE-INT(DEGREE))*60)-INT((DEGREE-INT(DEGREE))*60))*60)*0.0001))

又は

=(INT(F2)) + (INT((F2-INT(F2))*60)*0.01) + (((((F2-INT(F2))*60)-INT((F2-INT(F2))*60))*60)*0.0001)

LET関数について

式にLET関数を使っている物があるので、それについても書いておく

例えば下記は、後ろの式で「F2」に「DEGREE」という名前を付け、式で使える様にする物
例えば対象セル「F2」を修正する必要がある場合、LET関数の一か所だけ変えれば、式の部分を書き換えなくて済むメリットがある

=LET(DEGREE, F2, [式])

参考Webページ