Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [sumo-dev] Retrieving the type of Junction

Q1: yes. The length always corresponds to the length of the state string for that junction.
Q2: yes.

Am Do., 11. Nov. 2021 um 22:43 Uhr schrieb Adrien Dubedat <adrien.dubedat@xxxxxxx>:

Thank you very much again for your time Jakob !

 

I have probably what should be my last 2 questions about this subject.

 

For example, with this junction ID “108103” :

 

{

        "crosswalks_lanes_id": [

            "-4259614#1_1",

            "-4259614#1_1",

            "-4259614#1_1",

            "-4259614#1_1",

            "102950257#4_1",

            "102950257#4_1",

            "102950257#4_1",

            "102950257#4_1",

            "320718063#10_1",

            "320718063#10_1",

            "320718063#10_1",

            "320718063#10_1",

            "-102950257#7_1",

            "-102950257#7_1",

            "-102950257#7_1",

            "-102950257#7_1",

            ":108103_w1_0",

            ":108103_w2_0",

            ":108103_w3_0",

           ":108103_w0_0"

        ],

        "crosswalks_link_fromLane": [

            "-4259614#1_1",

            "-4259614#1_1",

            "-4259614#1_1",

            "-4259614#1_1",

            "102950257#4_1",

            "102950257#4_1",

            "102950257#4_1",

            "102950257#4_1",

            "320718063#10_1",

            "320718063#10_1",

            "320718063#10_1",

            "320718063#10_1",

            "-102950257#7_1",

            "-102950257#7_1",

            "-102950257#7_1",

            "-102950257#7_1",

            ":108103_w1_0",

            ":108103_w2_0",

            ":108103_w3_0",

            ":108103_w0_0"

        ],

        "crosswalks_link_toLane": [

            "102950257#6_1",

            "-320718063#11_1",

            "-102950257#5_1",

            "4259614#0_1",

            "4259614#0_1",

            "102950257#6_1",

            "-320718063#11_1",

            "-102950257#5_1",

            "-102950257#5_1",

            "4259614#0_1",

            "102950257#6_1",

            "-320718063#11_1",

            "-320718063#11_1",

            "-102950257#5_1",

            "4259614#0_1",

            "102950257#6_1",

            ":108103_c0_0",

            ":108103_c1_0",

            ":108103_c2_0",

            ":108103_c3_0"

        ],

        "crosswalks_link_viaLane": [

            ":108103_0_0",

            ":108103_1_0",

            ":108103_2_0",

            ":108103_3_0",

            ":108103_4_0",

            ":108103_5_0",

            ":108103_6_0",

            ":108103_7_0",

            ":108103_8_0",

            ":108103_9_0",

            ":108103_10_0",

            ":108103_11_0",

            ":108103_12_0",

            ":108103_13_0",

            ":108103_14_0",

            ":108103_15_0",

            "",

            "",

            "",

            ""

        ],

        "junction_id": "108103"

    }

 

It looks like that junction has a total (cars + pedestrians) of 20 lanes.

 

Q1 – it seems the number of lanes (20) is the same for "crosswalks_lanes_id", "crosswalks_link_fromLane", "crosswalks_link_toLane" and "crosswalks_link_viaLane", the only difference being that some are empty strings for that last “category”. Does that mean it’s the same for all junctions ?

 

Q2 – I retrieved the traffic light state for that junction and it gave me “rrrrgGggrrrrgGggrrrr” at some time, then “rrrrgGggrrrrgGggGrGr” later on.

If I refer to your previous emails, should I understand that :

 

  • The state of crossing ":108103_c0_0” is the one I highlighted in yellow ?
  • The state of crossing ":108103_c1_0” is the one I highlighted in green ?
  • The state of crossing ":108103_c2_0” is the one I highlighted in blue ?
  • The state of crossing ":108103_c3_0” is the one I highlighted in purple ?

 

Regards,

Adrien

 

De : sumo-dev <sumo-dev-bounces@xxxxxxxxxxx> De la part de Jakob Erdmann
Envoyé : Thursday, November 11, 2021 3:48 AM
À : sumo developer discussions <sumo-dev@xxxxxxxxxxx>
Objet : Re: [sumo-dev] Retrieving the type of Junction

 

In all "default" networks generated by netconvert, you only need to consider the state of the connection that targets a crossing.

For this you must locate the index of the crossing within the list returned by trafficlight.getControlledLinks. (crossings will be at the end of the list).

This index corresponds to the index within the 'state' string of the current phase and the state code (G/r) will describe both sides of the crossing.

 

Caveat: It is possible two control both sides of a pedestrian crossing with different signal states. Contrary to my previous message, this will lead to controlled links of the form where the crossings is the fromLane:

[[('EC_0', 'CW_0', ':C_0_0')], [('EC_1', 'CW_1', ':C_0_1')], [('WC_0', 'CE_0', ':C_2_0')], [('WC_1', 'CE_1', ':C_2_1')], [(':C_w2_0', ':C_c1_0', '')], [(':C_c1_0', ':C_w0_0', '')], [(':C_w1_0', ':C_c2_0', '')], [(':C_c2_0', ':C_w2_0', '')]]

However, you should not encounter this unless you explicitly define these special crossings by assigning their 'linkIndex2' attribute (https://sumo.dlr.de/docs/Networks/PlainXML.html#pedestrian_crossings)

 

regards,

Jakob

 

Am Mi., 10. Nov. 2021 um 21:33 Uhr schrieb Adrien Dubedat <adrien.dubedat@xxxxxxx>:

If I want to retrieve the signal state of each pedestrians crosswalk light, do I need to focus on anything else than the state of the <JUNCTIONID>_c<index>_0 IDs ?

 

For example, for this junction :

 

  {

        "crosswalks_lanes_id": [

            "230506730#1_0",

            ":4350193651_w1_0"

        ],

        "crosswalks_link_fromLane": [

            "230506730#1_0",

            ":4350193651_w1_0"

        ],

        "crosswalks_link_toLane": [

            "332620704#2_0",

            ":4350193651_c0_0"

        ],

        "crosswalks_link_viaLane": [

            ":4350193651_0_0",

            ""

        ],

        "junction_id": "4350193651"

    }

 

Do I only need to get the state of “:4350193651_c0_0” to get the state of that crosswalk light ?

 

Regards,

Adrien

 

De : sumo-dev <sumo-dev-bounces@xxxxxxxxxxx> De la part de Jakob Erdmann
Envoyé : Wednesday, November 10, 2021 2:22 PM
À : sumo developer discussions <
sumo-dev@xxxxxxxxxxx>
Objet : Re: [sumo-dev] Retrieving the type of Junction

 

Yes. The crossings will only show up as "toLane" IDs (even though both sides are controlled by a traffic light and can even have different signal states).

 

Am Mi., 10. Nov. 2021 um 19:04 Uhr schrieb Adrien Dubedat <adrien.dubedat@xxxxxxx>:

Hi Jakob,

 

I’m now using a SUMO scenario that has pedestrians crosswalks.

 

I’ve been able to extract a new JSON file in which I list the junction ID, the lanes ID and the links ID.

The object I retrieve when calling getControlledLinks is a vector of TraCILink, on which I iterate to retrieve the elements “fromLane”, “toLane” and “viaLane”.

 

From what I see, the crosswalks seem to be only listed in the “toLane” elements.

 

Can I base myself only on “toLane” IDs then to map out the crosswalks of each junction ?

 

Attached is the JSON file I extracted.

 

Thank you for your help,

Adrien

 

De : sumo-dev <sumo-dev-bounces@xxxxxxxxxxx> De la part de Jakob Erdmann
Envoyé : Friday, November 5, 2021 3:31 AM
À : sumo developer discussions <
sumo-dev@xxxxxxxxxxx>
Objet : Re: [sumo-dev] Retrieving the type of Junction

 

I'm guessing that your network doesn't have any crosswalks. See https://sumo.dlr.de/docs/Simulation/Pedestrians.html for how to get them.

This is what a pedestrian-enabled network should look like: https://sumo.dlr.de/docs/Tutorials/TraCIPedCrossing.html

 

Am Do., 4. Nov. 2021 um 21:25 Uhr schrieb Adrien Dubedat <adrien.dubedat@xxxxxxx>:

This a simple JSON file I created while running SUMO.

In there, I write the traffic light ID and then the controlled lanes ID in that traffic light.

However, I don’t see the format you were mentioning in your previous email.

 

I also tried to go through the list of controlled links but it’s the same format.

See the second file attached.

 

I’m guessing this is because the naming convention in the osm.net.xml file might not be correct ?

 

This is how a junction is defined in the osm.net.xml file:

 

<junction id="10018180" type="dead_end" x="9550.31" y="6845.42" incLanes="260842179_0" intLanes="" shape="9549.40,6845.01 9551.22,6845.82"/>

 

Thank you for your help,

Adrien

 

De : sumo-dev <sumo-dev-bounces@xxxxxxxxxxx> De la part de Jakob Erdmann
Envoyé : Wednesday, November 3, 2021 6:11 PM
À : sumo developer discussions <
sumo-dev@xxxxxxxxxxx>
Objet : Re: [sumo-dev] Retrieving the type of Junction

 

You can use traci.trafficlight.getControlledLanes and getControlledLinks

Lanes with ids of the form :<JUNCTIONID>_w<index>_0 are walkingareas

Lanes with ids of the form :<JUNCTIONID>_c<index>_0 are crossings

 

The index in the result lists corresponds to the index in the phase state.

 

regards,

Jakob

 

 

Am Mi., 3. Nov. 2021 um 20:10 Uhr schrieb Adrien Dubedat <adrien.dubedat@xxxxxxx>:

Hi Jakob,

 

Thank you for your reply, I only just see it now because your emails were considered as spams by my company’s IT department …

 

It looks like I’ve been able to extract those controlled junctions, perfect.

 

I have another question. I’m interested in retrieving the state of the traffic lights associated to pedestrian crosswalks.

In the documentation, it says that the crosswalks’ states are at the end of “state” string when calling “getRedYellowGreenState()”.

Is there a way to know where do the pedestrian crosswalks start in that string ? Or is there a way to identify those crosswalks ?

 

Thank you,

Adrien

 

De : sumo-dev <sumo-dev-bounces@xxxxxxxxxxx> De la part de Jakob Erdmann
Envoyé : Monday, November 1, 2021 3:04 PM
À : sumo developer discussions <
sumo-dev@xxxxxxxxxxx>
Objet : Re: [sumo-dev] Retrieving the type of Junction

 

ATTENTION : Ce courriel provient de l’extérieur de l’organisation. Ne cliquez pas sur les liens ni sur les pièces jointes à moins que vous reconnaissiez l’expéditeur et que vous sachiez que le contenu est sûr.
CAUTION : This email originated from outside the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

The junction type is currently not accessible via the TraCI API.  (for static network analysis, the python library sumolib is recommended: https://sumo.dlr.de/docs/Tools/Sumolib.html)

 

If you only need to identify traffic light junctions, you can use the functions in TrafficLight.h to retrieve this information:

- all traffic light controllers with getIDList

- all junction ids controller by a given controller with getControlledJunctions

 

regards,

Jakob

 

Am Mo., 1. Nov. 2021 um 18:16 Uhr schrieb Adrien Dubedat <adrien.dubedat@xxxxxxx>:

Hi,

 

I’m trying to retrieve the type of a Junction, I’m using the C++ library.

 

In an osm.net.xml file which lists all junctions, I see there are some different node types (https://sumo.dlr.de/docs/Networks/PlainXML.html#node_types) :

 

<junction id="101335548" type="traffic_light" x="9587.74" y="5049.51" incLanes="-770022998#1_0 480644124#1_0 690226256#9_0 -11661029#1_0" intLanes=":101335548_0_0 :101335548_1_0 :101335548_16_0 :101335548_17_0 :101335548_4_0 :101335548_5_0 :101335548_18_0 :101335548_19_0 :101335548_8_0 :101335548_9_0 :101335548_20_0 :101335548_21_0 :101335548_12_0 :101335548_13_0 :101335548_22_0 :101335548_23_0" shape="9587.30,5041.43 9593.31,5043.64 9592.97,5045.85 9593.23,5046.73 9593.79,5047.47 9594.63,5048.06 9595.77,5048.51 9593.99,5054.65 9591.44,5054.42 9590.39,5054.75 9589.50,5055.38 9588.76,5056.31 9588.18,5057.54 9582.17,5055.32 9582.52,5053.10 9582.26,5052.21 9581.71,5051.46 9580.87,5050.85 9579.74,5050.39 9581.63,5044.27 9584.11,5044.53 9585.13,5044.20 9586.00,5043.58 9586.72,5042.65">

 

I looked in the C++ classes / headers, mostly in “Junction” class, and I didn’t find anything related to that type, while we can get the Position or the Shape for example.

 

Does anyone have an idea on how to get this data ?

 

Thank you,

Adrien

_______________________________________________
sumo-dev mailing list
sumo-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-dev

_______________________________________________
sumo-dev mailing list
sumo-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-dev

_______________________________________________
sumo-dev mailing list
sumo-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-dev

_______________________________________________
sumo-dev mailing list
sumo-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-dev

_______________________________________________
sumo-dev mailing list
sumo-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-dev

_______________________________________________
sumo-dev mailing list
sumo-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-dev

Back to the top