guolei пре 1 година
родитељ
комит
86d6d94e5e

+ 1 - 1
public/js/controls.js

@@ -1,6 +1,6 @@
 var PARAMS = {
     load_file : () => { document.getElementById('xodr_file_input').click(); },
-    resolution : 0.3,
+    resolution : 0.02,
     ref_line : true,
     roadmarks : true,
     wireframe : false,

+ 898 - 0
public/map/mine4.xodr

@@ -0,0 +1,898 @@
+<?xml version="1.0" standalone="yes"?>
+<OpenDRIVE>
+    <header revMajor="1" revMinor="4" name="" version="1.00" date="Sun Feb  4 17:46:03 2024" north="0.0000000000000000e+00" south="0.0000000000000000e+00" east="0.0000000000000000e+00" west="0.0000000000000000e+00">
+    </header>
+    <road name="" length="1.3054250000000002e+03" id="1" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="1" />
+            <successor elementType="road" elementId="3" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.5000000000000000e+02" y="0.0000000000000000e+00" hdg="0.0000000000000000e+00" length="3.1000000000000000e+02">
+                <line/>
+            </geometry>
+            <geometry s="3.1000000000000000e+02" x="1.5999999934454104e+02" y="0.0000000000000000e+00" hdg="-1.2414513861358500e-12" length="4.7109999999999999e+01">
+                <arc curvature="-6.6686322513050164e-02"/>
+            </geometry>
+            <geometry s="3.5711000000000001e+02" x="1.5999999934450381e+02" y="-2.9991157476236758e+01" hdg="3.1415926535848264e+00" length="2.0000000000000000e+01">
+                <line/>
+            </geometry>
+            <geometry s="3.7711000000000001e+02" x="1.4000000000003726e+02" y="-2.9991157476137420e+01" hdg="3.1415926535860681e+00" length="4.7109999999999999e+01">
+                <arc curvature="6.6686322513050164e-02"/>
+            </geometry>
+            <geometry s="4.2422000000000003e+02" x="1.3999999999992554e+02" y="-5.9982314952374182e+01" hdg="0.0000000000000000e+00" length="2.0000000000000000e+01">
+                <line/>
+            </geometry>
+            <geometry s="4.4422000000000003e+02" x="1.5999999344477953e+02" y="-5.9982314952374196e+01" hdg="-1.2414513861358500e-12" length="2.3557000000000002e+02">
+                <arc curvature="-6.6680660813978705e-03"/>
+            </geometry>
+            <geometry s="6.7979000000000008e+02" x="3.0996851322122450e+02" y="-2.0995083472919160e+02" hdg="-1.5707963267998650e+00" length="2.0000000000000000e+01">
+                <line/>
+            </geometry>
+            <geometry s="6.9979000000000008e+02" x="3.0996851322112514e+02" y="-2.2995083560308785e+02" hdg="-1.5707963268011058e+00" length="1.5699999999999999e+01">
+                <arc curvature="-1.0005072145190425e-01"/>
+            </geometry>
+            <geometry s="7.1549000000000012e+02" x="2.9997358279484234e+02" y="-2.3994576602914719e+02" hdg="3.1415926535848198e+00" length="4.0000000000000000e+02">
+                <line/>
+            </geometry>
+            <geometry s="1.1154900000000002e+03" x="-1.0002642026516023e+02" y="-2.3994576602517148e+02" hdg="3.1415926535835785e+00" length="1.0993500000000002e+02">
+                <arc curvature="-1.4288409758447231e-02"/>
+            </geometry>
+            <geometry s="1.2254250000000002e+03" x="-1.7001321493960779e+02" y="-1.6995897134915899e+02" hdg="1.5707963267849576e+00" length="7.9999999999999972e+01">
+                <line/>
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+            <elevation s="2.0506205094709340e+01" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="2.0000000000000000e-03" d="0.0000000000000000e+00"/>
+            <elevation s="6.9493794905290656e+01" a="4.7995679108995404e+00" b="1.9595035924232529e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+            <elevation s="8.5665212279555845e+01" a="7.9683629548443848e+00" b="1.9595035924232529e-01" c="-2.3809523809523812e-03" d="0.0000000000000000e+00"/>
+            <elevation s="1.2681478772044414e+02" a="1.2000000000000000e+01" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+            <elevation s="1.4566521227955585e+02" a="1.2000000000000000e+01" b="0.0000000000000000e+00" c="-2.3809523809523812e-03" d="0.0000000000000000e+00"/>
+            <elevation s="1.8681478772044417e+02" a="7.9683629548443813e+00" b="-1.9595035924232534e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+            <elevation s="2.0298620509470933e+02" a="4.7995679108995413e+00" b="-1.9595035924232534e-01" c="2.0000000000000000e-03" d="0.0000000000000000e+00"/>
+            <elevation s="2.5197379490529065e+02" a="-2.6645352591003757e-15" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+            <elevation s="3.0000000000000000e+02" a="-2.6645352591003757e-15" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+            <elevation s="7.3692767405063296e+02" a="-2.6645352591003757e-15" b="0.0000000000000000e+00" c="2.0000000000000000e-03" d="0.0000000000000000e+00"/>
+            <elevation s="7.7401232594936710e+02" a="2.7505428129005685e+00" b="1.4833860759493686e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+            <elevation s="7.9045444620253159e+02" a="5.1895440371634995e+00" b="1.4833860759493686e-01" c="-2.3809523809523812e-03" d="0.0000000000000000e+00"/>
+            <elevation s="8.2160555379746836e+02" a="7.4999999999999893e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+            <elevation s="8.5045444620253159e+02" a="7.4999999999999893e+00" b="0.0000000000000000e+00" c="-2.3809523809523812e-03" d="0.0000000000000000e+00"/>
+            <elevation s="8.8160555379746836e+02" a="5.1895440371634951e+00" b="-1.4833860759493653e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+            <elevation s="8.9804767405063296e+02" a="2.7505428129005525e+00" b="-1.4833860759493653e-01" c="2.0000000000000000e-03" d="0.0000000000000000e+00"/>
+            <elevation s="9.3513232594936710e+02" a="-1.7763568394002505e-14" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+        </elevationProfile>
+        <lateralProfile>
+        </lateralProfile>
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="3" type="border" level="false">
+                        <link>
+                            <successor id="3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.1000000000000000e+01" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="2" type="border" level="false">
+                        <link>
+                            <successor id="2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <successor id="1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="none" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="driving" level="false">
+                        <link>
+                        </link>
+                        <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="both" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="none" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                    <lane id="-2" type="border" level="false">
+                        <link>
+                            <successor id="-2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-3" type="border" level="false">
+                        <link>
+                            <successor id="-3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects>
+            <object type="tree" name="VegTree03b.flt" id="0" s="6.8534812500000015e+00" t="1.1635900022198609e+01" zOffset="-9.9350000000000005e-01" validLength="0.0000000000000000e+00" orientation="none" length="6.5800000000000001e+00" width="6.5289999999999999e+00" height="1.1785000000000000e+01" hdg="3.1415926535897931e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00">
+                <repeat s="6.8534812500000015e+00" length="1.2992038000000002e+03" distance="2.0000000000000000e+01" tStart="1.1635900022198609e+01" tEnd="1.1635900022198609e+01" widthStart="6.5289999999999999e+00" widthEnd="6.5289999999999999e+00" heightStart="1.1785000000000000e+01" heightEnd="1.1785000000000000e+01" zOffsetStart="-9.9350000000000005e-01" zOffsetEnd="-9.9350000000000005e-01" />
+            </object>
+        </objects>
+        <signals>
+        </signals>
+        <surface>
+        </surface>
+    </road>
+    <road name="" length="5.0000000000000000e+01" id="2" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="3" contactPoint="end" />
+            <successor elementType="junction" elementId="1" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.7000000000000000e+02" y="-7.0000000000000000e+01" hdg="1.5707963267948966e+00" length="5.0000000000000000e+01">
+                <line/>
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+        </elevationProfile>
+        <lateralProfile>
+        </lateralProfile>
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="3" type="border" level="false">
+                        <link>
+                            <predecessor id="3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.1000000000000000e+01" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="2" type="border" level="false">
+                        <link>
+                            <predecessor id="2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="none" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="driving" level="false">
+                        <link>
+                        </link>
+                        <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="both" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="none" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                    <lane id="-2" type="border" level="false">
+                        <link>
+                            <predecessor id="-2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-3" type="border" level="false">
+                        <link>
+                            <predecessor id="-3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects>
+            <object type="tree" name="VegTree03c.flt" id="1" s="6.8812499999999837e+00" t="9.1320001676795926e+00" zOffset="-1.0265000000000004e+00" validLength="0.0000000000000000e+00" orientation="none" length="7.3280000000000003e+00" width="7.2709999999999999e+00" height="1.5663000000000000e+01" hdg="3.1415926535897931e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00">
+                <repeat s="6.8812499999999837e+00" length="4.3437500000000000e+01" distance="2.0000000000000000e+01" tStart="9.1320001676795926e+00" tEnd="9.1320001676795926e+00" widthStart="7.2709999999999999e+00" widthEnd="7.2709999999999999e+00" heightStart="1.5663000000000000e+01" heightEnd="1.5663000000000000e+01" zOffsetStart="-1.0265000000000004e+00" zOffsetEnd="-1.0265000000000004e+00" />
+            </object>
+        </objects>
+        <signals>
+        </signals>
+        <surface>
+        </surface>
+    </road>
+    <road name="" length="1.9958975723998392e+01" id="3" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="1" contactPoint="end" />
+            <successor elementType="road" elementId="2" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.7001321493881267e+02" y="-8.9958971349158986e+01" hdg="1.5701342216868519e+00" length="1.9958975723998392e+01">
+                <line/>
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+        </elevationProfile>
+        <lateralProfile>
+        </lateralProfile>
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="3" type="border" level="false">
+                        <link>
+                            <predecessor id="3"/>
+                            <successor id="3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.1000000000000000e+01" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="2" type="border" level="false">
+                        <link>
+                            <predecessor id="2"/>
+                            <successor id="2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1"/>
+                            <successor id="1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="none" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="driving" level="false">
+                        <link>
+                        </link>
+                        <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="both" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1"/>
+                            <successor id="-1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="none" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                    <lane id="-2" type="border" level="false">
+                        <link>
+                            <predecessor id="-2"/>
+                            <successor id="-2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-3" type="border" level="false">
+                        <link>
+                            <predecessor id="-3"/>
+                            <successor id="-3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects>
+            <object type="tree" name="VegTree03b.flt" id="2" s="3.7273387164567020e+00" t="1.0946191104230174e+01" zOffset="-9.9350000000000005e-01" validLength="0.0000000000000000e+00" orientation="none" length="6.5800000000000001e+00" width="6.5289999999999999e+00" height="1.1785000000000000e+01" hdg="3.1415926535897931e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00">
+            </object>
+        </objects>
+        <signals>
+        </signals>
+        <surface>
+        </surface>
+    </road>
+    <road name="" length="3.5236943513380737e+01" id="6" junction="1">
+        <link>
+            <predecessor elementType="road" elementId="1" contactPoint="start" />
+            <successor elementType="road" elementId="2" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.5000000000000000e+02" y="0.0000000000000000e+00" hdg="3.1415926535897931e+00" length="5.8374993057286417e+00">
+                <line/>
+            </geometry>
+            <geometry s="5.8374993057286417e+00" x="-1.5583749930572864e+02" y="1.0369481816725298e-15" hdg="3.1415926535897931e+00" length="7.8539816339744792e+00">
+                <spiral curvStart="0.0000000000000000e+00" curvEnd="1.0000000000000002e-01"/>
+            </geometry>
+            <geometry s="1.3691480939703121e+01" x="-1.6357122432092828e+02" y="-1.0168146776097373e+00" hdg="-2.7488935718923106e+00" length="7.8539816339744810e+00">
+                <arc curvature="1.0000000000000002e-01"/>
+            </geometry>
+            <geometry s="2.1545462573677604e+01" x="-1.6898318532239975e+02" y="-6.4287756790946418e+00" hdg="-1.9634954084948619e+00" length="7.8539816339744792e+00">
+                 <spiral curvStart="1.0000000000000002e-01" curvEnd="0.0000000000000000e+00"/>
+            </geometry>
+            <geometry s="2.9399444207652081e+01" x="-1.7000000000000000e+02" y="-1.4162500694271348e+01" hdg="-1.5707963267998624e+00" length="5.8374993057286524e+00">
+                <line/>
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+        </elevationProfile>
+        <lateralProfile>
+        </lateralProfile>
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="driving" level="false">
+                        <link>
+                        </link>
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1"/>
+                            <successor id="1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-2" type="border" level="false">
+                        <link>
+                            <predecessor id="2"/>
+                            <successor id="2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-3" type="border" level="false">
+                        <link>
+                            <predecessor id="3"/>
+                            <successor id="3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.1000000000000000e+01" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects>
+        </objects>
+        <signals>
+        </signals>
+        <surface>
+        </surface>
+    </road>
+    <road name="" length="3.5236943513380716e+01" id="9" junction="1">
+        <link>
+            <predecessor elementType="road" elementId="2" contactPoint="end" />
+            <successor elementType="road" elementId="1" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.7000000000000000e+02" y="-2.0000000000000000e+01" hdg="1.5707963267948966e+00" length="5.8374993057286328e+00">
+                <line/>
+            </geometry>
+            <geometry s="5.8374993057286328e+00" x="-1.7000000000000000e+02" y="-1.4162500694271367e+01" hdg="1.5707963267948966e+00" length="7.8539816339744792e+00">
+                <spiral curvStart="-0.0000000000000000e+00" curvEnd="-1.0000000000000002e-01"/>
+            </geometry>
+            <geometry s="1.3691480939703112e+01" x="-1.6898318532239026e+02" y="-6.4287756790717197e+00" hdg="1.1780972450974141e+00" length="7.8539816339744810e+00">
+                <arc curvature="-1.0000000000000002e-01"/>
+            </geometry>
+            <geometry s="2.1545462573677593e+01" x="-1.6357122432092828e+02" y="-1.0168146776097515e+00" hdg="3.9269908169996537e-01" length="7.8539816339744792e+00">
+                 <spiral curvStart="-1.0000000000000002e-01" curvEnd="-0.0000000000000000e+00"/>
+            </geometry>
+            <geometry s="2.9399444207652074e+01" x="-1.5583749930572864e+02" y="7.1488748397854891e-16" hdg="-4.9658055445434002e-12" length="5.8374993057286417e+00">
+                <line/>
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+        </elevationProfile>
+        <lateralProfile>
+        </lateralProfile>
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="driving" level="false">
+                        <link>
+                        </link>
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1"/>
+                            <successor id="-1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-2" type="border" level="false">
+                        <link>
+                            <predecessor id="-2"/>
+                            <successor id="-2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-3" type="border" level="false">
+                        <link>
+                            <predecessor id="-3"/>
+                            <successor id="-3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects>
+        </objects>
+        <signals>
+        </signals>
+        <surface>
+        </surface>
+    </road>
+    <road name="" length="1.0797970000000000e+03" id="11" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="2" />
+            <successor elementType="road" elementId="13" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.5000000000000000e+02" y="-3.0000000000000000e+02" hdg="0.0000000000000000e+00" length="3.2000000000000000e+02">
+                <line/>
+            </geometry>
+            <geometry s="3.2000000000000000e+02" x="1.6999999562980989e+02" y="-3.0000000000000000e+02" hdg="-1.2414513861358500e-12" length="1.5705000000000001e+02">
+                <arc curvature="-1.0001886830913062e-02"/>
+            </geometry>
+            <geometry s="4.7705000000000001e+02" x="2.6998113088001446e+02" y="-3.9998113525045278e+02" hdg="-1.5707963267998650e+00" length="3.0000000000000000e+01">
+                <line/>
+            </geometry>
+            <geometry s="5.0705000000000001e+02" x="2.6998113087986542e+02" y="-4.2998113612434906e+02" hdg="-1.5707963268011058e+00" length="1.5699999999999999e+01">
+                <arc curvature="-1.0005072145190425e-01"/>
+            </geometry>
+            <geometry s="5.2275000000000000e+02" x="2.5998620045358268e+02" y="-4.3997606655040840e+02" hdg="3.1415926535848286e+00" length="5.0000000000000000e+01">
+                <line/>
+            </geometry>
+            <geometry s="5.7275000000000000e+02" x="2.0998620001657872e+02" y="-4.3997606654991188e+02" hdg="3.1415926535835874e+00" length="1.5699999999999999e+01">
+                <arc curvature="-1.0005072145190425e-01"/>
+            </geometry>
+            <geometry s="5.8845000000000005e+02" x="1.9999126959051935e+02" y="-4.2998113612362914e+02" hdg="1.5707963267899290e+00" length="3.0000000000000000e+01">
+                <line/>
+            </geometry>
+            <geometry s="6.1845000000000005e+02" x="1.9999126959081735e+02" y="-3.9998113612362914e+02" hdg="1.5707963267911706e+00" length="4.7115000000000002e+01">
+                <arc curvature="6.6679245539420423e-02"/>
+            </geometry>
+            <geometry s="6.6556500000000005e+02" x="1.6999692901571876e+02" y="-3.9998113612336846e+02" hdg="-1.5707963268048308e+00" length="2.5000000000000000e+01">
+                <line/>
+            </geometry>
+            <geometry s="6.9056500000000005e+02" x="1.6999692901547041e+02" y="-4.2498113743484396e+02" hdg="-1.5707963268060725e+00" length="2.3559999999999999e+01">
+                <arc curvature="-6.6672170067695102e-02"/>
+            </geometry>
+            <geometry s="7.1412500000000000e+02" x="1.5499816717824814e+02" y="-4.3997989927158210e+02" hdg="3.1415926535798602e+00" length="2.8000000000000000e+02">
+                <line/>
+            </geometry>
+            <geometry s="9.9412500000000000e+02" x="-1.2500183478910552e+02" y="-4.3997989926741042e+02" hdg="3.1415926535786189e+00" length="7.0671999999999997e+01">
+                <arc curvature="-2.2226572430310398e-02"/>
+            </geometry>
+            <geometry s="1.0647970000000000e+03" x="-1.6999302734114107e+02" y="-3.9498870671392251e+02" hdg="1.5707963267799980e+00" length="1.5000000000000000e+01">
+                <line/>
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+            <elevation s="6.1457674050632917e+01" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="2.0000000000000000e-03" d="0.0000000000000000e+00"/>
+            <elevation s="9.8542325949367083e+01" a="2.7505428129005751e+00" b="1.4833860759493669e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+            <elevation s="1.1424275316455697e+02" a="5.0795223246474928e+00" b="1.4833860759493669e-01" c="-2.2727272727272726e-03" d="0.0000000000000000e+00"/>
+            <elevation s="1.4687724683544303e+02" a="7.5000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+            <elevation s="1.7424275316455697e+02" a="7.5000000000000000e+00" b="0.0000000000000000e+00" c="-2.2727272727272726e-03" d="0.0000000000000000e+00"/>
+            <elevation s="2.0687724683544303e+02" a="5.0795223246474954e+00" b="-1.4833860759493669e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+            <elevation s="2.2257767405063291e+02" a="2.7505428129005796e+00" b="-1.4833860759493669e-01" c="2.0000000000000000e-03" d="0.0000000000000000e+00"/>
+            <elevation s="2.5966232594936707e+02" a="3.5527136788005009e-15" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+        </elevationProfile>
+        <lateralProfile>
+        </lateralProfile>
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="3" type="border" level="false">
+                        <link>
+                            <successor id="3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.1000000000000000e+01" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="2" type="border" level="false">
+                        <link>
+                            <successor id="2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <successor id="1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="none" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="driving" level="false">
+                        <link>
+                        </link>
+                        <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="both" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="none" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                    <lane id="-2" type="border" level="false">
+                        <link>
+                            <successor id="-2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-3" type="border" level="false">
+                        <link>
+                            <successor id="-3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects>
+            <object type="tree" name="VegTree02v9m.flt" id="3" s="6.5504872695312502e+00" t="1.0859100054431494e+01" zOffset="-5.9850000000000048e-01" validLength="0.0000000000000000e+00" orientation="none" length="9.1140000000000008e+00" width="8.9309999999999992e+00" height="1.0201000000000001e+01" hdg="3.1415926535897931e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00">
+                <repeat s="6.5504872695312502e+00" length="1.0723356000000001e+03" distance="2.0000000000000000e+01" tStart="1.0859100054431494e+01" tEnd="1.0859100054431494e+01" widthStart="8.9309999999999992e+00" widthEnd="8.9309999999999992e+00" heightStart="1.0201000000000001e+01" heightEnd="1.0201000000000001e+01" zOffsetStart="-5.9850000000000048e-01" zOffsetEnd="-5.9850000000000048e-01" />
+            </object>
+        </objects>
+        <signals>
+        </signals>
+        <surface>
+        </surface>
+    </road>
+    <road name="" length="4.0000000000000000e+01" id="12" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="13" contactPoint="end" />
+            <successor elementType="junction" elementId="2" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.7000000000000000e+02" y="-3.6000000000000000e+02" hdg="1.5707963267948966e+00" length="4.0000000000000000e+01">
+                <line/>
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+        </elevationProfile>
+        <lateralProfile>
+        </lateralProfile>
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="3" type="border" level="false">
+                        <link>
+                            <predecessor id="3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.1000000000000000e+01" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="2" type="border" level="false">
+                        <link>
+                            <predecessor id="2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="none" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="driving" level="false">
+                        <link>
+                        </link>
+                        <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="both" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="none" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                    <lane id="-2" type="border" level="false">
+                        <link>
+                            <predecessor id="-2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-3" type="border" level="false">
+                        <link>
+                            <predecessor id="-3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects>
+            <object type="tree" name="VegTree02v13m.flt" id="4" s="6.1400000000000050e+00" t="1.2137900370739581e+01" zOffset="-8.1500000000000039e-01" validLength="0.0000000000000000e+00" orientation="none" length="1.2407999999999999e+01" width="1.2160000000000000e+01" height="1.3888000000000000e+01" hdg="3.1415926535897931e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00">
+                <repeat s="6.1400000000000050e+00" length="3.3699999999999996e+01" distance="2.5000000000000000e+01" tStart="1.2137900370739581e+01" tEnd="1.2137900370739581e+01" widthStart="1.2160000000000000e+01" widthEnd="1.2160000000000000e+01" heightStart="1.3888000000000000e+01" heightEnd="1.3888000000000000e+01" zOffsetStart="-8.1500000000000039e-01" zOffsetEnd="-8.1500000000000039e-01" />
+            </object>
+        </objects>
+        <signals>
+        </signals>
+        <surface>
+        </surface>
+    </road>
+    <road name="" length="1.9988707930058549e+01" id="13" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="11" contactPoint="end" />
+            <successor elementType="road" elementId="12" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.6999302734091759e+02" y="-3.7998870671392251e+02" hdg="1.5711451567066754e+00" length="1.9988707930058549e+01">
+                <line/>
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+        </elevationProfile>
+        <lateralProfile>
+        </lateralProfile>
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="3" type="border" level="false">
+                        <link>
+                            <predecessor id="3"/>
+                            <successor id="3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.1000000000000000e+01" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="2" type="border" level="false">
+                        <link>
+                            <predecessor id="2"/>
+                            <successor id="2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1"/>
+                            <successor id="1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="none" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="driving" level="false">
+                        <link>
+                        </link>
+                        <roadMark sOffset="0.0000000000000000e+00" type="broken" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="both" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1"/>
+                            <successor id="-1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.2000000000000000e-01" laneChange="none" height="1.9999999552965164e-02">
+                        </roadMark>
+                    </lane>
+                    <lane id="-2" type="border" level="false">
+                        <link>
+                            <predecessor id="-2"/>
+                            <successor id="-2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-3" type="border" level="false">
+                        <link>
+                            <predecessor id="-3"/>
+                            <successor id="-3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects>
+            <object type="tree" name="VegTree02v13m.flt" id="5" s="8.6401190027677792e+00" t="1.2959100006773735e+01" zOffset="-8.1500000000000039e-01" validLength="0.0000000000000000e+00" orientation="none" length="1.2407999999999999e+01" width="1.2160000000000000e+01" height="1.3888000000000000e+01" hdg="3.1415926535897931e+00" pitch="0.0000000000000000e+00" roll="0.0000000000000000e+00">
+            </object>
+        </objects>
+        <signals>
+        </signals>
+        <surface>
+        </surface>
+    </road>
+    <road name="" length="3.5236943513380709e+01" id="16" junction="2">
+        <link>
+            <predecessor elementType="road" elementId="11" contactPoint="start" />
+            <successor elementType="road" elementId="12" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.5000000000000000e+02" y="-3.0000000000000000e+02" hdg="3.1415926535897931e+00" length="5.8374993057286417e+00">
+                <line/>
+            </geometry>
+            <geometry s="5.8374993057286417e+00" x="-1.5583749930572864e+02" y="-3.0000000000000000e+02" hdg="3.1415926535897931e+00" length="7.8539816339744855e+00">
+                <spiral curvStart="0.0000000000000000e+00" curvEnd="9.9999999999999978e-02"/>
+            </geometry>
+            <geometry s="1.3691480939703126e+01" x="-1.6357122432090534e+02" y="-3.0101681467760022e+02" hdg="-2.7488935718923102e+00" length="7.8539816339744837e+00">
+                <arc curvature="9.9999999999999978e-02"/>
+            </geometry>
+            <geometry s="2.1545462573677611e+01" x="-1.6898318532239026e+02" y="-3.0642877567907169e+02" hdg="-1.9634954084948619e+00" length="7.8539816339744855e+00">
+                 <spiral curvStart="9.9999999999999978e-02" curvEnd="0.0000000000000000e+00"/>
+            </geometry>
+            <geometry s="2.9399444207652095e+01" x="-1.7000000000000000e+02" y="-3.1416250069427139e+02" hdg="-1.5707963267998624e+00" length="5.8374993057286133e+00">
+                <line/>
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+        </elevationProfile>
+        <lateralProfile>
+        </lateralProfile>
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="driving" level="false">
+                        <link>
+                        </link>
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1"/>
+                            <successor id="1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-2" type="border" level="false">
+                        <link>
+                            <predecessor id="2"/>
+                            <successor id="2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-3" type="border" level="false">
+                        <link>
+                            <predecessor id="3"/>
+                            <successor id="3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.1000000000000000e+01" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects>
+        </objects>
+        <signals>
+        </signals>
+        <surface>
+        </surface>
+    </road>
+    <road name="" length="3.5236943513380680e+01" id="19" junction="2">
+        <link>
+            <predecessor elementType="road" elementId="12" contactPoint="end" />
+            <successor elementType="road" elementId="11" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.7000000000000000e+02" y="-3.2000000000000000e+02" hdg="1.5707963267948966e+00" length="5.8374993057286133e+00">
+                <line/>
+            </geometry>
+            <geometry s="5.8374993057286133e+00" x="-1.7000000000000000e+02" y="-3.1416250069427139e+02" hdg="1.5707963267948966e+00" length="7.8539816339744855e+00">
+                <spiral curvStart="-0.0000000000000000e+00" curvEnd="-9.9999999999999978e-02"/>
+            </geometry>
+            <geometry s="1.3691480939703098e+01" x="-1.6898318532239975e+02" y="-3.0642877567909466e+02" hdg="1.1780972450974139e+00" length="7.8539816339744837e+00">
+                <arc curvature="-9.9999999999999978e-02"/>
+            </geometry>
+            <geometry s="2.1545462573677582e+01" x="-1.6357122432092828e+02" y="-3.0101681467760977e+02" hdg="3.9269908169996537e-01" length="7.8539816339744855e+00">
+                 <spiral curvStart="-9.9999999999999978e-02" curvEnd="-0.0000000000000000e+00"/>
+            </geometry>
+            <geometry s="2.9399444207652067e+01" x="-1.5583749930572861e+02" y="-3.0000000000000000e+02" hdg="0.0000000000000000e+00" length="5.8374993057286133e+00">
+                <line/>
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="0.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+        </elevationProfile>
+        <lateralProfile>
+        </lateralProfile>
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="driving" level="false">
+                        <link>
+                        </link>
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1"/>
+                            <successor id="-1"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5699999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-2" type="border" level="false">
+                        <link>
+                            <predecessor id="-2"/>
+                            <successor id="-2"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                    <lane id="-3" type="border" level="false">
+                        <link>
+                            <predecessor id="-3"/>
+                            <successor id="-3"/>
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="1.6799999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00"/>
+                        <height sOffset="0.0000000000000000e+00" inner="0.0000000000000000e+00" outer="0.0000000000000000e+00"/>
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects>
+        </objects>
+        <signals>
+        </signals>
+        <surface>
+        </surface>
+    </road>
+    <junction name="" id="1">
+        <connection id="0" incomingRoad="1" connectingRoad="6" contactPoint="start">
+            <laneLink from="1" to="-1"/>
+            <laneLink from="2" to="-2"/>
+            <laneLink from="3" to="-3"/>
+        </connection>
+        <connection id="1" incomingRoad="2" connectingRoad="9" contactPoint="start">
+            <laneLink from="-1" to="-1"/>
+            <laneLink from="-2" to="-2"/>
+            <laneLink from="-3" to="-3"/>
+        </connection>
+    </junction>
+    <junction name="" id="2">
+        <connection id="0" incomingRoad="11" connectingRoad="16" contactPoint="start">
+            <laneLink from="1" to="-1"/>
+            <laneLink from="2" to="-2"/>
+            <laneLink from="3" to="-3"/>
+        </connection>
+        <connection id="1" incomingRoad="12" connectingRoad="19" contactPoint="start">
+            <laneLink from="-1" to="-1"/>
+            <laneLink from="-2" to="-2"/>
+            <laneLink from="-3" to="-3"/>
+        </connection>
+    </junction>
+</OpenDRIVE>

+ 81 - 62
src/mixin/workManagement/getStdMapMixin.js

@@ -1,68 +1,87 @@
 export let getStdMapMixin = {
 	methods: {
-			getStdMapKeys(std_map, delete_map = false) {
-				let map_keys = [];
-				const map_keys_vec = std_map.keys();
-				for (let idx = 0; idx < map_keys_vec.size(); idx++)
-					map_keys.push(map_keys_vec.get(idx));
-				map_keys_vec.delete();
-				if (delete_map) std_map.delete();
-				return map_keys;
-			},
-			getStdMapEntries(std_map) {
-				let map_entries = [];
-				//key路段索引 , std_map.get(key)车道编号
-				for (let key of this.getStdMapKeys(std_map)) {
-					map_entries.push([key, std_map.get(key)]);
-				}
-				return map_entries;
-			},
-			getStdVecEntries(std_vec, delete_vec = false, ArrayType = null) {
-				//获取道路网格三位坐标点数据
-				let entries = ArrayType ?
-					new ArrayType(std_vec.size()) :
-					new Array(std_vec.size());
-				for (let idx = 0; idx < std_vec.size(); idx++) {
-					entries[idx] = std_vec.get(idx);
-				}
+		getStdMapKeys(std_map, delete_map = false) {
+			let map_keys = [];
+			const map_keys_vec = std_map.keys();
+			for (let idx = 0; idx < map_keys_vec.size(); idx++)
+				map_keys.push(map_keys_vec.get(idx));
+			map_keys_vec.delete();
+			if (delete_map) std_map.delete();
+			return map_keys;
+		},
+		getStdMapEntries(std_map) {
+			let map_entries = [];
+			//key路段索引 , std_map.get(key)车道编号
+			for (let key of this.getStdMapKeys(std_map)) {
+				map_entries.push([key, std_map.get(key)]);
+			}
+			return map_entries;
+		},
+		getStdVecEntries(std_vec, delete_vec = false, ArrayType = null) {
+			//获取道路网格三位坐标点数据
+			let entries = ArrayType ?
+				new ArrayType(std_vec.size()) :
+				new Array(std_vec.size());
+			for (let idx = 0; idx < std_vec.size(); idx++) {
+				entries[idx] = std_vec.get(idx);
+			}
 
-				if (delete_vec) std_vec.delete();
-				return entries;
-			},
-			isValid(rgba) {
-				return !(rgba[0] == 1 && rgba[1] == 1 && rgba[2] == 1 && rgba[3] == 1);
-			},
-			encodeUInt32(ui32) {
-				let rgba = new Float32Array(4);
-				rgba[0] = (Math.trunc(ui32) % 256) / 255;
-				rgba[1] = (Math.trunc(ui32 / 256) % 256) / 255;
-				rgba[2] = (Math.trunc(ui32 / 256 / 256) % 256) / 255;
-				rgba[3] = (Math.trunc(ui32 / 256 / 256 / 256) % 256) / 255;
-				return rgba;
-			},
-			decodeUInt32(rgba) {
-				return (
-					Math.round(rgba[0] * 255) +
-					Math.round(rgba[1] * 255) * 256 +
-					Math.round(rgba[2] * 255) * 256 * 256 +
-					Math.round(rgba[3] * 255) * 256 * 256 * 256
-				);
-			},
-			applyVertexColors(buffer_attribute, color, offset, count) {
-				//buffer_attribute.itemSize颜色宽度
-				const colors = new Float32Array(count * buffer_attribute.itemSize);
-				for (
-					let i = 0; i < count * buffer_attribute.itemSize; i += buffer_attribute.itemSize
-				) {
-					colors[i] = color.r;
-					colors[i + 1] = color.g;
-					colors[i + 2] = color.b;
-					// colors[i] =0;
-					// colors[i + 1] = 0;
-					// colors[i + 2] = 255;
-				}
-				//根据颜色偏移设置改变颜色值
-				buffer_attribute.array.set(colors, offset * buffer_attribute.itemSize);
+			if (delete_vec) std_vec.delete();
+			return entries;
+		},
+		isValid(rgba) {
+			return !(rgba[0] == 1 && rgba[1] == 1 && rgba[2] == 1 && rgba[3] == 1);
+		},
+		encodeUInt32(ui32) {
+			let rgba = new Float32Array(4);
+			rgba[0] = (Math.trunc(ui32) % 256) / 255;
+			rgba[1] = (Math.trunc(ui32 / 256) % 256) / 255;
+			rgba[2] = (Math.trunc(ui32 / 256 / 256) % 256) / 255;
+			rgba[3] = (Math.trunc(ui32 / 256 / 256 / 256) % 256) / 255;
+			return rgba;
+		},
+		decodeUInt32(rgba) {
+			return (
+				Math.round(rgba[0] * 255) +
+				Math.round(rgba[1] * 255) * 256 +
+				Math.round(rgba[2] * 255) * 256 * 256 +
+				Math.round(rgba[3] * 255) * 256 * 256 * 256
+			);
+		},
+		applyVertexColors(buffer_attribute, color, offset, count) {
+			//buffer_attribute.itemSize颜色宽度
+			const colors = new Float32Array(count * buffer_attribute.itemSize);
+			for (
+				let i = 0; i < count * buffer_attribute.itemSize; i += buffer_attribute.itemSize
+			) {
+				colors[i] = color.r;
+				colors[i + 1] = color.g;
+				colors[i + 2] = color.b;
+				// colors[i] =0;
+				// colors[i + 1] = 0;
+				// colors[i + 2] = 255;
 			}
+			//根据颜色偏移设置改变颜色值
+			buffer_attribute.array.set(colors, offset * buffer_attribute.itemSize);
+		},
+		getTextCanvas(content) {
+			var width = 500;
+			var height = 500;
+			var canvas = document.createElement('canvas');
+			canvas.setAttribute("width", width);
+			canvas.setAttribute("height", height);
+			var ctx = canvas.getContext('2d');
+			ctx.width = width;
+			ctx.height = height;
+			ctx.fillStyle = '#FFFFFF';
+			ctx.fillRect(0, 0, width, height);
+			ctx.font = '320px Microsoft YaHei';
+			ctx.fillStyle = '#000000';
+			ctx.textAlign = 'center';
+			
+			ctx.fillText(content, ctx.width / 2, ctx.height/2 + 50, ctx.width - 20);
+			
+			return canvas;
+		}
 	},
 }

+ 127 - 49
src/mixin/workManagement/openDriveMixin.js

@@ -51,16 +51,20 @@ export let openDriveMixin = {
 			ground_grid: null,
 			road_network_mesh: null,
 			roadmarks_mesh: null,
+			road_objects_mesh: null,
+			refline_lines: null,
+			lane_outline_lines: null,
+			roadmark_outline_lines: null,
 			COLORS: {
 				road: 1.0,
 				roadmark: 1.0,
 				road_object: 0.9,
-				lane_outline: 0xae52d4,
+				lane_outline: 0x444444,
 				roadmark_outline: 0xffffff,
-				ref_line: 0x69f0ae,
+				ref_line: 0x444444,
 				background: 0x444444,
 				lane_highlight: 0xff3030,
-				roadmark_highlight: 0xff0000,
+				roadmark_highlight: 0x2F4F4F,
 			},
 			renderer: null,
 			scene: null,
@@ -69,7 +73,9 @@ export let openDriveMixin = {
 			lights: [
 				-295.65, 117.04, -408.97, -114.11, -272.34, -220.81, 250.93, 194.26,
 				338.92, 65.23, -3.58, -16.76,
-			]
+			],
+			startAndEndPoints: [],
+			mappingLineId: new Map()
 		}
 	},
 	created() {
@@ -79,45 +85,74 @@ export let openDriveMixin = {
 		this.initThreeJs();
 		this.initOffscreen();
 		this.initMaterial();
-		this.loadMap();
+		this.loadMap("/map/mine3.xodr");
+		// setTimeout(() => {
+		// 	this.reloadNewMap("/map/mine3.xodr");
+		// }, 5000)
+
+		//自适应大小
+		window.addEventListener("resize", onWindowResize, false);
+
+		//监听画面变化,更新渲染画面,(自适应的大小)
+		function onWindowResize() {
+			this.camera.aspect = window.innerWidth / window.innerHeight;
+			this.camera.updateProjectionMatrix();
+			this.renderer.setSize(window.innerWidth, window.innerHeight);
+			this.renderer.setPixelRatio(window.devicePixelRatio);
+		}
 	},
 	methods: {
-		drawPoint() {
-			let points = [{
-					"x": 934.159,
-					"y": 357.5,
-					"h": 180.0
-				},
-				{
-					"x": 984.159,
-					"y": 357.5,
-					"h": 180.0
-				}, {
-					"x": 542.92,
-					"y": 357.5
-				},
-				{
-					"x": 492.92,
-					"y": 357.5
+		drawPoint(point) {
+			let arr = this.startAndEndPoints;
+			if (arr.length != 0) {
+				for (let elem of arr) {
+					if (elem.point.type == point.type) {
+						console.log("发生冲突", point)
+						let index = arr.indexOf(elem);
+						if (index !== -1) {
+							arr = [...arr.slice(0, index), ...arr.slice(index + 1)];
+						}
+						this.scene.remove(elem.target);
+					}
 				}
-			]
-			points.forEach((elem, index) => {
-
-				let cricle = new THREE.CircleBufferGeometry(2, 200);
-				let metrial = new THREE.MeshBasicMaterial({
-					color: 0xff0000
-				})
-				let mesh = new THREE.Mesh(cricle, metrial);
-				mesh.position.set(elem.x - this.OpenDriveMap.x_offs, elem.y - this.OpenDriveMap.y_offs,
-					0.01);
-				this.scene.add(mesh);
+			}
+			const group = new THREE.Group();
+			let cricle = new THREE.CircleBufferGeometry(3, 200);
+			let metrial = new THREE.MeshBasicMaterial({
+				color: 0xff0000
 			})
+			let mesh = new THREE.Mesh(cricle, metrial);
+			group.add(mesh);
+			let texture = new THREE.CanvasTexture(this.getTextCanvas(point.name));
+			let material = new THREE.SpriteMaterial({
+				map: texture
+			});
+			let sprite = new THREE.Sprite(material);
+			sprite.position.set(0, 0, 2);
+			group.add(sprite);
+			group.position.set(point.x - this.OpenDriveMap.x_offs, point.y - this.OpenDriveMap.y_offs, 0.015)
+			this.scene.add(group);
+
+			this.startAndEndPoints.push({
+				target: group,
+				point: point
+			});
 
 		},
-		loadMap() {
+		clearPoint() {
+			if (this.startAndEndPoints.length != 0) {
+				for (let elem of this.startAndEndPoints) {
+					this.scene.remove(elem.target);
+				}
+			}
+		},
+		clearMappingId(){
+			this.mappingLineId = new Map();
+		},
+		loadMap(url) {
 			libOpenDrive().then((Module) => {
 				this.ModuleOpenDrive = Module;
-				fetch("/map/mine3.xodr").then(
+				fetch(url).then(
 					(file_data) => {
 						file_data.text().then((file_text) => {
 							//加载数据文件
@@ -137,6 +172,16 @@ export let openDriveMixin = {
 			);
 			this.loadOdrMap(true, false);
 		},
+		reloadNewMap(url) {
+			this.clearPoint();
+			this.clearMappingId();
+			fetch(url, {}).then(response => response.blob()).then(blob => {
+				const file = new File([blob], "map.xodr", {
+					type: "text/plain",
+				});
+				this.onFileSelect(file);
+			})
+		},
 		onFileSelect(file) {
 			let file_reader = new FileReader();
 			file_reader.onload = () => {
@@ -156,7 +201,7 @@ export let openDriveMixin = {
 				true
 			);
 			//OpenDriveMap不为null,则已经打开过,需要删除地图重新尝试打开
-			if (this.OpenDriveMap) OpenDriveMap.delete();
+			if (this.OpenDriveMap) this.OpenDriveMap.delete();
 
 			//打开驱动地图
 			this.OpenDriveMap = new this.ModuleOpenDrive.OpenDriveMap(
@@ -165,10 +210,27 @@ export let openDriveMixin = {
 				PARAMS.laneHeight,
 				true
 			);
-			this.drawPoint();
+			//this.drawPoint();
 			this.loadOdrMap(clear_map);
 		},
 		loadOdrMap(clear_map = true, fit_view = true) {
+			if (clear_map) {
+				this.road_network_mesh.userData.odr_road_network_mesh.delete();
+				this.scene.remove(
+					this.road_network_mesh,
+					this.roadmarks_mesh,
+					this.road_objects_mesh,
+					this.refline_lines,
+					this.lane_outline_lines,
+					this.roadmark_outline_lines,
+					this.ground_grid
+				);
+				this.lane_picking_scene.remove(...this.lane_picking_scene.children);
+				this.roadmark_picking_scene.remove(...this.roadmark_picking_scene.children);
+				this.xyz_scene.remove(...this.xyz_scene.children);
+				this.st_scene.remove(...this.st_scene.children);
+				for (let obj of this.disposable_objs) obj.dispose();
+			}
 			//web浏览器内置api,精度微秒级,performance.now是浏览器(Web API)提供的方法,不同浏览器获取到的精度不同。Date.now是Javascript内置方法,差异主要在于浏览器遵循的ECMAScript规范。
 			const t0 = performance.now();
 			//是否清除地图
@@ -195,6 +257,7 @@ export let openDriveMixin = {
 			);
 			//创建参考线物体
 			let refline_lines = new THREE.LineSegments(reflines_geom, this.refline_material);
+			this.refline_lines = refline_lines;
 			refline_lines.renderOrder = 10;
 			//设置是否可见
 			refline_lines.visible = PARAMS.ref_line;
@@ -212,6 +275,12 @@ export let openDriveMixin = {
 			);
 			//获取所有路段的车道(车道id为 -2, -1, 0, 1, 2)
 			const odr_lanes_mesh = odr_road_network_mesh.lanes_mesh;
+			//收集映射
+			for (const [vert_start_idx, lineId] of this.getStdMapEntries(odr_lanes_mesh.lane_start_indices)) {
+				const road_id = odr_lanes_mesh.get_road_id(vert_start_idx);
+				this.mappingLineId.set(road_id + ":" + lineId, vert_start_idx);
+			}
+
 			//获取所有路段车道点集构建道路物体
 			const road_network_geom = this.get_geometry(odr_lanes_mesh);
 			//设置道路颜色
@@ -329,6 +398,7 @@ export let openDriveMixin = {
 				road_objects_geom,
 				this.road_objects_material
 			);
+			this.road_objects_mesh = road_objects_mesh;
 			road_objects_mesh.matrixAutoUpdate = false;
 			this.scene.add(road_objects_mesh);
 
@@ -349,6 +419,7 @@ export let openDriveMixin = {
 				lane_outlines_geom,
 				this.lane_outlines_material
 			);
+			this.lane_outline_lines = lane_outline_lines;
 			lane_outline_lines.renderOrder = 9;
 			this.disposable_objs.push(lane_outlines_geom);
 			this.scene.add(lane_outline_lines);
@@ -371,6 +442,7 @@ export let openDriveMixin = {
 				roadmark_outlines_geom,
 				this.roadmark_outlines_material
 			);
+			this.roadmark_outline_lines = roadmark_outline_lines;
 			roadmark_outline_lines.renderOrder = 8;
 			roadmark_outline_lines.matrixAutoUpdate = false;
 			this.disposable_objs.push(roadmark_outlines_geom);
@@ -471,7 +543,7 @@ export let openDriveMixin = {
 			this.scene = new THREE.Scene();
 			//创建透视相机
 			this.camera = new THREE.PerspectiveCamera(
-				75,
+				100,
 				window.innerWidth / window.innerHeight,
 				0.1,
 				100000
@@ -505,17 +577,6 @@ export let openDriveMixin = {
 				//平行光方向指向原点(0,0,0)
 				this.scene.add(this.light.target);
 			}
-			//自适应大小
-			window.addEventListener("resize", onWindowResize, false);
-
-			//监听画面变化,更新渲染画面,(自适应的大小)
-			function onWindowResize() {
-				this.camera.aspect = window.innerWidth / window.innerHeight;
-				this.camera.updateProjectionMatrix();
-				this.renderer.setSize(window.innerWidth, window.innerHeight);
-				this.renderer.setPixelRatio(window.devicePixelRatio);
-			}
-
 		},
 		initOffscreen() {
 			//选择车道线场景
@@ -834,6 +895,23 @@ export let openDriveMixin = {
 				odr_lanes_mesh.delete();
 			}
 			this.renderer.render(this.scene, this.camera);
+		},
+		fillColorLine(roadId, lineId){
+			//这里函数lineId参数是road+line的拼接
+			lineId = this.mappingLineId.get(roadId + ":" + lineId);
+			//自定义数据中获取所有车段中的所有车道数据
+			const odr_lanes_mesh = this.road_network_mesh.userData.odr_road_network_mesh.lanes_mesh;
+			//根据车道ID获取车道信息
+			const lane_vert_idx_interval = odr_lanes_mesh.get_idx_interval_lane(lineId);
+			//获取该车道长度
+			const vert_count = (lane_vert_idx_interval[1] - lane_vert_idx_interval[0]);
+			//修改离屏渲染场景中该车道的背景颜色
+			this.applyVertexColors(this.road_network_mesh.geometry.attributes.color, new THREE.Color(this.COLORS.lane_highlight),
+			lane_vert_idx_interval[0], vert_count);
+			//手动更新颜色值
+			this.road_network_mesh.geometry.attributes.color.needsUpdate = true;
+			//使用过后删除数据冗余,避免造成内存泄漏
+			odr_lanes_mesh.delete();
 		}
 	}
 }

+ 62 - 5
src/views/workManagement/openDriver.vue

@@ -25,8 +25,12 @@
 	// import * as CANNON from "cannon-es";
 
 	import * as echarts from "echarts";
-	import {getStdMapMixin} from "@/mixin/workManagement/getStdMapMixin.js"
-    import {openDriveMixin} from "@/mixin/workManagement/openDriveMixin.js"
+	import {
+		getStdMapMixin
+	} from "@/mixin/workManagement/getStdMapMixin.js"
+	import {
+		openDriveMixin
+	} from "@/mixin/workManagement/openDriveMixin.js"
 	export default {
 		name: "OpenDrive",
 		mixins: [getStdMapMixin, openDriveMixin],
@@ -35,16 +39,69 @@
 			// glHome,
 		},
 		data() {
-			return {
-			};
+			return {};
 		},
 		methods: {
-			changeMap(fileUrl){
+			changeMap(fileUrl) {
 				this.onFileSelect(fileUrl);
 				this.reloadOdrMap();
 			}
 		},
 		mounted() {
+			setTimeout(() => {
+				let points = [{
+						"type": "start",
+						"x": 934.159,
+						"y": 357.5,
+						"h": 180.0,
+						"name": "A"
+					},
+					{
+						"type": "start",
+						"x": 984.159,
+						"y": 357.5,
+						"h": 180.0,
+						"name": "B"
+					}, {
+						"type": "end",
+						"x": 542.92,
+						"y": 357.5,
+						"name": "C"
+					},
+					{
+						"type": "end",
+						"x": 492.92,
+						"y": 357.5,
+						"name": "D"
+					}
+				]
+				points.forEach((elem, index) => {
+					console.log(elem)
+					this.drawPoint(elem);
+				})
+
+				let lines = [{
+						"roadId": 140,
+						"laneId": -1
+					},
+					{
+						"roadId": 187,
+						"laneId": -1
+					},
+					{
+						"roadId": 131,
+						"laneId": 1
+					}
+				];
+				
+				lines.forEach((elem, index) => {
+					console.log(elem)
+					this.fillColorLine(elem.roadId, elem.laneId);
+				})
+			}, 2000)
+		},
+		updated() {
+
 		},
 	};
 </script>