LoginSignup
2
2

More than 3 years have passed since last update.

LLH座標をENU座標に変換する

Last updated at Posted at 2018-12-13

目的

LLH(緯度Lat(deg),経度Lon(deg),高さ Height(m))座標から
ENU(東East(m),北North(m),上Up(m):基準点からの相対距離)座標への変換。

結論

Pymap3dを使う。

参考
緯度経度、ECEF系、方位角・仰角などの座標変換に便利なプログラムPyMap3d
https://qiita.com/ina111/items/6e3c4d85036fd993d23c
pymap3d.enu module
https://scivision.github.io/pymap3d/enu.html

pip3 install pymap3d

numpyがうまくインポートできなかったときは一度アンイストールしてからapt-get で

pip3 uninstall numpy
sudo apt-get install python3-numpy
llh2enu.py
import pymap3d as pm
base = [base_lat ,base_lon ,base_h] #deg,deg,m
rover =[rover_lat ,rover_lon ,rover_h ] #deg,deg,m
rover_enu = pm.enu.geodetic2enu(rover[0] ,rover[1] ,rover[2],base[0] ,base[1] ,base[2])#m,m,m

何がしたいのか?

話は以上ですが何に使いたかったのかと言うと

1.llh座標をもとに圃場図をポリゴンSHPで作る。

2.圃場図を見ながら基準線ABを引きA(lat,lon),B(lat,lon)のポイント座標を得る

3.A(lat,lon),B(lat,lon)をポリゴンの属性レコードに追加

4.現場でポリゴン属性を呼び出す。

5.その時点のroverのh高さを与える(田面は水平と仮定)hは楕円体高 つまりbase Height + rover Up

6.A(lat,lon,h),B(lat,lon,h)をA(e,n,u),B(e,n,u)に変換←ここ

7.基準線ABが決まり即基準線に平行な線をガイダンスできる

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2