1.53-2017国家標準方位角の定義
2.VTD RDB中heading
VTD RDBデータバスにはOBJECTパッケージが含まれており、item.base.hは車の進行角度を表しますが、正と負が交互に現れる状況があります。検証後、正と負の差は360度であるため、現時点では効果がありません。
3.位置合わせ
1. 90度を差し引き、0度に揃えます
2. -1を掛けると、符号が整列します
3.角度が(0、360)でない場合、データ範囲は整列されます
PS:1、2、2ステップ、vtdh = 90-vtdhにします。
/** * @brief 将VTDheading转换为53-2017标准*/
def test(vtdh):
vtdh = 90 - vtdh
if (vtdh < 0):
vtdh = vtdh + 360
if (vtdh > 360):
vtdh = vtdh - 360
return vtdh
if __name__ == '__main__':
for i in range(-360,360):
print('t(',i,'):', test(i))
================================================== ===========================
上記は分析です
実際の状況:item.base.hはラジアンです
1.マクロラジアン回転角度を定義します
#define rad_to_d(d) (d*180/PI)
2.座標変換
//日期:2020年06月30日12:44:05
//码农:zolty
//描述:外部注入需要heading
//国标描述:为车辆航向角,即为车头方向与正北方向的顺时针夹角。分辨率为 0.0125°。
//@param[in] 航向角 单位:1rad ; from: item.base.pos.h
//@param[out] 单位: ° ; 分辨率为 0.0125° ; range[0..28800]
long getHeadingGB(double h)
{
h = 90 - rad_to_d(h);
if (h < 0)
{
h = h + 360;
}
if (h > 360)
{
h = h - 360;
}
return h * 80;
}