[追記] もっと簡潔に書ける方法を教えてもらったので、コメント欄を参照してください。
"北緯35度39分31秒 東経139度44分44秒"
や"35°39′31″N 139°44′44″E"
などの表記を十進数表記に雑に変換する。
function dms2decimal(dms) {
return dms.split(/\D/).filter(d => d != "").reduce((a, c, i) => {
const opt = {
1: 60,
2: 3600
}
const na = +a;
const nc = +c;
return na + (nc / opt[i])
})
}
> dms2decimal("北緯35度39分31秒");
<- 35.65861111111111
> dms2decimal("東経139度44分44");
<- 139.74555555555554
> dms2decimal("35°39′31″N");
<- 35.65861111111111
> dms2decimal("139°44′44″E");
<- 139.74555555555554
実に雑なので、誤作動するときがあるかも。