注意:做一個十字路口的方法是在道路分叉之后幾米的位置畫一條線(如圖中綠色虛線),生成一個十字路口。
geoReference元素定義了該文件使用的投影坐標系,其中地理坐標系為WGS-84,而投影坐標系采用的是Transverse_Mercator,橫軸墨卡托投影。
在OpenDRIVE數據中大量使用的位置信息都是投影后的xy坐標,而除了該投影坐標系,還定義了一種軌跡坐標系.
<header revMajor="1" revMinor="4" vendor="atlatec"> <geoReference><![CDATA[+proj=tmerc +a=6378137 +b=6378137 +lon_0=8.6121961962669307 +x_0=1.0621731827420435e-09 +y_0=-5572023.3775849724 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs]]></geoReference> </header>
綠色區域車道-1和車道3指的是路肩(shoulder)。
道路33781969的方向是:東到西。東邊連接的是一個十字路口(predecessor=33554597),西邊連接的也是一個十字路口(successor=33554492)。
首先看東邊的十字路口的情況,id=33554597。
注:車道4->-4也許並不對,因為connectingRoad沒有-4這個車道。
再看西邊的十字路口的情況,id=33554597。
[注]關於contactpoint的確定:
問題1:多長的reference line進行一次參數三次多項式的擬合?
回答:也許跟道路的走向(下面截圖的hdg反映的就是道路的走向,應該是和x軸(笛卡爾坐標系)的夾角)有關系,在走向發生較大變化的時候,重新進行reference line的擬合。hdg:笛卡爾坐標系中x軸正向逆時針旋轉到道路的reference line的方向。
一個road的並不是只有一根reference line,因為假如一個road長度為100米,有可能這100米有些地方是直路,有些地方是拐彎的曲線,每一條都是一個geometry標簽,通過s(起始位置)和長度進行連接(后一個s是前一個的length)。
而屬性中的x,y,hdg分別是投影坐標系xy下的起始點位置以及起始點的角度(定義了曲線方程以及起始點坐標和長度,曲線肯定就能畫出來了)。
參數三次多項式中參數的擬合方程如下:
5個參數,3個點即可解除方程未知數,一個點可以列出兩個方程(u=f(p)和v=f(p)).
note: in order tostick to the start point and orientation according to the <geometry> node, the parameters au, av and bv will have to be zero. providing non-zero values for these parameters will lead to a shift and rotation of the s/t co-ordinates.
問題2:如何使參數bv=0?
問題3:reference line的偏移到底是不是偏移到道路中心那里?如果不是,到底偏移到哪里去了?又為什么偏移到那里?
回答:不一定偏移到了道路中心那里,偏移到了坐標(x="-1053.0754021436494" y="-1683.0963299330324")處( 圖3)。
圖1
圖2
圖3
<laneSection s="0"> <center> <lane id="0" type="driving" level="false"> <roadMark sOffset="0" color="standard" width="0.16130402690251466" weight="standard" type="solid"> <type name="solid"> <line length="2.933048469244568" space="0" width="0.161304" sOffset="0" tOffset="-0" /> </type> </roadMark> <roadMark sOffset="2.933048469244568" type="none" width="0" /> </lane> </center>
id=0代表是一條車道標線。
類型:可以駕駛
是否考慮超高:不
道路標線的顏色:標准
寬度:約16cm
實線,所以沒有間隔。(space=0)