これまでの流れ
GNSS受信機を持って土地内を自分の足で走査して取得した測位データをRTK演算し3次元座標を得た。
その座標データを点群編集アプリに取り込み、メッシュ化してビジュアルとして見ることができた。
しかしビジュアル化された土地形状は、前後左右に急傾斜した、立つことも不可能な崖であった。
座標変換が必要
RTKPOSTが出力したECEF座標データをそのまま3次元座標にプロットしても水平な地面を基準とした地形形状は得られない。
ECEF座標系について
地球中心・地球固定直交座標系(earth centered, earth fixe)
原点:地球重心
Z軸:地軸(地球の自転軸)
X軸:基準子午線と赤道線の交点方向
Y軸:Z、X軸と右手直交系方向
ECEF座標系を慣れ親しんだ水平を基準とした座標系(ENU座標系)に変換する必要がある。
ENU座標系について
East, North, Upの略
Z軸:負方向が鉛直線方向(厳密には違うらしい)
X軸:東方向
Y軸:北方向
変換式はネットに情報あり
各測位ポイント(今回は3000ポイント程度)に対し回転行列計算が必要
座標変換プログラムの実装検討
EXCELのセル関数だけで行えるか検討
各測定ポイントの3次元座標に対し3行3列の行列計算をする必要がありセル関数だけでは厳しい。
VBAでコード書こうと思っていたところ、座標変換のpythonライブラリがあることを知る
ライブラリ名はPyMap3d
githubから入手できる模様
Pythonは使ったことはないが、Pythonが使えるとできることがかなり広がる。
これから勉強しながら実装していくことにしよう。