VTD RDBの方位角は、53-2017の国内標準の方位角と一致しています。

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;
}

 

 
 
 
 
 

おすすめ

転載: blog.csdn.net/qq_41854291/article/details/107013574