教育用と防備録として今回GPSの評価方法を記録しておきます。
- 緯度・経度の度分秒単位を度単位へ変換 (エクセル)
- エクセルでの作業用に作りました。もっと簡単な方法もあると思いますが、C言語にも簡単に移植できるエクセルの関数だけを使っています。
- ddmmss.ss形式→度形式 (例 353604.56 → 35.6012667)
- ddmmss.ss形式の例 36°35’03.33″ → 363503.33
- エクセルのカラムA1に363503.33が入力されているとする
- カラムB1に=INT(A1/10000)
- カラムC1に=INT((A1-B1*10000)/100)
- カラムD1に=A1-B1*10000-C1*100
- 答え:カラムE1に=B1+(C1/60)+(D1/3600)を入れ、カラムE1が答え
- 度→ddmmss.ss (例 35.6012667 → 353604.56)
- カラムA2に度形式の35.60126667が入力されているとする
- カラムB2に=INT(A2)
- カラムC2に=(A2-B2)*3600
- カラムD2に=INT(C2/60)
- カラムE2に=((C2/60)-INT(C2/60))*60
- 答え:F2に=B2*10000+D2*100+E2
- 緯度・経度の度分秒単位を度単位へ変換 (C言語)
double ddmmss2deg(double value) // ddmmss形式→度形式 { int b,c; double d, e; b = (int) (value / 10000); c = (int) (value - b * 10000)/100; d = value - b * 10000 - c * 100; return (double) b + (c/60.0) + (d/3600.0); } double deg2ddmmss(double value) // 度 → ddmmss { int b,d; double c, e; b = (int) value; c = (value - b) * 3600; d = (int) (c/60.0); e = ((c/60.0)-(int)(c/60.0)) * 60.0; return (double) b * 10000 + d * 100 + e; }
- WEB: 平面直角座標への換算, 緯度経度への換算, 国土地理院
- ちなみに、金沢は第7系、つくば市は第9系に属しています
- エクセル:平面直角座標系⇔緯経度変換エクセルワークシート, MASA
- Masamichiさんのウェブからダウンロードできます。エクセルのワークシートなのでデータ整理に便利です。緯度経度を平面座標系に変換するために使いました。上記の国土地理院で値を確認したところ同じ値になりました。
- 正確度とは計測値が真値とどの程度ずれているかを定量的に表した値で、以下の式を用いました。
- 正確度=∑ sqrt((xi-x0)^2+(yi-y0)^2))/N
- ここで、(xi, yi)はi番目の計測値、(x0,y0)は真値、Nは全計測点数、sqrtは平方根を求める関数
- 精密度とは計測値の平均から各計測値がどの程度散らばっているかを定量的に表した値です。ここでは、次式で表せる計測値の標準偏差を使いました。
- 精密度=sqrt(σx^2+σy^2)
- ここで、(σx, σy)は計測値のx,y方向の標準偏差
コメント