1.ファイル構造
OpenDRIVEデータは、ファイル拡張子が.xodrのXMLファイルに保存されます。OpenDRIVE圧縮ファイルの拡張子は「.xodrz」(圧縮形式gzip)です。
OpenDRIVEファイルの構造はXML規則に準拠しており、関連するスキーマファイルはXMLで参照されます。OpenDRIVE形式のパターンファイルは、次のリンクから読み取ることができます。
https://www.asam.net/standards/detail/opendrive/
要素は階層に配置されます。レベルがゼロより大きい要素は前のレベルの子であり、レベルが1に等しい要素が主要な要素です。
各要素は、ユーザー定義のデータを介して拡張できます。このようなデータは「ユーザーデータ」要素に保存されます。
OpenDRIVEで使用されるすべての浮動小数点数は、IEEE754倍精度浮動小数点数です。XML表記で浮動小数点数を正確に表現するには、既知の浮動小数点数印刷アルゴリズム([Burger96]、[Adams18]など)の正しい精度を使用して実行するか、実行する必要があります。常に17が存在することを確認してください(たとえば、「%。17g」ISO C printf修飾子を使用して)有効な10進数が生成されます。インポートするときは、既知の正しい精度を使用して浮動小数点数を保持し、アルゴリズムを読み取ることをお勧めします(たとえば、[Clinger90])。各要素は、ユーザー定義のデータを介して拡張できます。このようなデータは「ユーザーデータ」要素に保存されます。
2.ファイルを結合します
<include>タグを使用して、適切な場所にある複数のファイルをマージできます。タグを解析した後、OpenDRIVEリーダーはタグ属性としてファイルの読み取りをすぐに開始する必要があります。ユーザーは、インクルードファイルから読み取られたコンテンツがインクルードの開始時のコンテキストと一致していることを確認する責任があります。
<include>タグは親タグの下にあり、親タグは親ファイルとインクルードファイルに存在する必要があります。
示例:
原始文件
<planView>
<include file="planview.xml"/>
</planView>
包含文件
<planView>
<geometry x="-0.014" y="-0.055" hdg="2.88" length="95.89" s="0.0">
<arc curvature="-0.000490572"/>
</geometry>
<geometry x="-92.10" y="26.64" hdg="2.84" length="46.65" s="95.89">
<spiral curvStart="-0.000490572" curvEnd="-0.004661241"/>
</geometry>
</planView>
3.ファイルで使用される属性
3.1閉じた要素
ファイルの開始要素と終了要素は次のとおりです。
3.2ヘッダーファイル
<header>要素は、<OpenDRIVE>の最初の要素です。
ヘッダーファイル要素の属性:
3.3一般的なルールと仮定
特に明記されていない限り、右ハンドルの運転環境であると想定されています。
4.追加データ
4.1ユーザーデータ
補助データによって参照される要素の近くに記述されている必要があります。補助データには、OpenDRIVEに記述されていないデータや、道路のテクスチャが異なるなどの特別な理由で特定のアプリケーションに使用されるデータが含まれます。
OpenDRIVEでは、補助データは<userData>要素で表されます。これらは、OpenDRIVEの任意の要素に保存できます。
4.2データを含める
OpenDRIVEを使用すると、外部ファイルをOpenDRIVEファイルに含めることができます。このようなファイルの処理方法は、アプリケーションによって異なります。インクルードされたデータは<include>要素で表され、OpenDRIVEのどこにでも保存できます。
4.3異なるレイアウトタイプを使用する
ユーザーが生成した要素(道路標識や標識など)のレイアウトは、OpenDRIVEに統合できます。これらの追加のレイアウトデザインは、OpenDRIVEではなく、ユーザーアプリケーションに保存されます。
OpenDRIVEでは、さまざまなレイアウトタイプが<set>要素で表され、OpenDRIVEのどこにでも保存できます。各<set>要素は、レイアウトを説明する1つ以上の<instance>要素に関連付けることができます。
4.4データ品質の説明
OpenDRIVEに統合された生データまたは外部ソースからのデータの品質は異なる場合があります。外部データの品質と精度は、OpenDRIVEで説明できます。
データ品質の説明は、<dataQuality>要素で表されます。それらはOpenDRIVEのどこにでも保存できます。
OpenDRIVEに統合され、GPSやその他の外部リソースから取得された測定データにはエラーがある可能性があります。[m]のエラー範囲は、アプリケーションにリストできます。
道路データの絶対誤差または相対誤差は、<dataQuality>要素の<error>要素によって記述されます。
一部の基本的なメタデータは、OpenDRIVEに含まれる生データ情報をカバーします。これらの生データは、<dataQuality>要素の<rawData>要素によって記述されます。