Thank you Jakob for your time.

Based on your answer#1 below, I create my scenario with count 0 while checking 
the box "pedestrians". Sumo run the generated scenario without any errors. But 
when we run sumo  with adding external pedestrians sumo crash with the 
following error:

terminate called after throwing an instance of 'tcpip::SocketException'
  what():  tcpip::Socket::recvAndCheck @ recv: peer shutdown

FYI, We use the following Sumo's APis to add Update and remove external 
pedestrians:
externalPersonID = 999999
ADD:
libsumo::TraCIRoadPosition wEdge = Simulation::convertRoad(iLong, iLat, true, 
"pedestrian");
double wPosition = iEdge.pos - 0.01;
Person::add(externalPersonID, wEdge.edgeID , wPosition, 
libsumo::DEPARTFLAG_NOW);
Person::appendWalkingStage(externalPersonID, { wEdge.edgeID }, wPosition, -1, 
-1, "");
UPDATE:
    libsumo::TraCIPosition wCartesianPos = Simulation::convertGeo(iLong, iLat, 
true);
    double wAngle = libsumo::INVALID_DOUBLE_VALUE;
    int wkeepRoute = 1;
    double wMatchThreshold = 100;
    Person::moveToXY(externalPersonID, , { wEdge.edgeID }, wCartesianPos.x, 
wCartesianPos.y, wAngle, wKeepRoute, wMatchThreshold);
    Person::setSpeed(externalPersonID, 0.0);
REMOVE :
      while (1 < Person::getRemainingStages(externalPersonID))
      {
        Person::removeStage(externalPersonID, 1);
      }
      Person::removeStage(externalPersonID, 0);
    }
Before every step() we add a new pedestrian and we update the existing ones and 
remove pedestrians when a decision is made (outside sumo). Then after 
Simulation::Step() is called.

The mentioned error is generated at the second call of Simulation::step().

Would you please advice.

NB: that code works well with scenarios where the checkbox "pedestrians" is not 
checked.
Regards,

Mell


From: Jakob Erdmann <namdre.s...@gmail.com>
Sent: Sunday, November 7, 2021 4:56 AM
To: Melhem Tawk <melhem.t...@cae.com>
Subject: Re: [sumo-dev] Retrieving the type of Junction

1. The easiest way to get crosswalks into your scenario is the set the checkbox 
"pedestrians" in the traffic tab of osmWebWizard and set the 'count' field to 
0. This will set the appropriate netconvert options for adding sidewalks and 
crossings to the network without adding any pedestrians to the simulation.
2. Simulation::load reloads the whole network. If you call Simulaton::loadState 
only the state is reset and the network is kept. However, this only makes a 
difference when having lots of short simulations (rather than 2 hour 
simulations as in your case).

regards,
Jakob

Am Fr., 5. Nov. 2021 um 19:30 Uhr schrieb Melhem Tawk 
<melhem.t...@cae.com<mailto:melhem.t...@cae.com>>:
Dear Jakob,

Thank you for you answer mentioning than there are no crosswalks in our 
scenario.

Attached is the screen shot of files list of our scenario generated via 
OSMWebWizad script. By the way we have vehicles in the scenarios but the 
pedestrians are inserted remotely from external simulator during the simulation 
using the following as you told  me in a previous email:
***********************************************
Hello,
- the easiest way to couple with a pedestrian simulator is to remote-control 
each person using the traci function person.moveToXY (after adding it with 
person.add and person.appendWalkingStage)
- if your original network data (probably OSM) does not contain sidewalk 
information, there are various ways to add sidwalks. See 
https://sumo.dlr.de/docs/Simulation/Pedestrians.html#building_a_network_for_pedestrian_simulation<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsumo.dlr.de%2Fdocs%2FSimulation%2FPedestrians.html%23building_a_network_for_pedestrian_simulation&data=04%7C01%7Cmelhem.tawk%40cae.com%7C97a7e1acaed24df0146c08d9a1d4e65e%7C006c1e48e34247e9ab5d0dd9ff89bd96%7C0%7C0%7C637718758061916931%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=KzG%2FhCnVlekN37jCuXCjWFpw4NpibdsG%2BYryLvSeoxc%3D&reserved=0>
- you can obtain permission data using traci.lane.getAllowed

regards,
Jakob
******************************

First, Based on what we have could you please explain to us how we can generate 
the cross walks. By the way we despite that there are no crosswlaks in our 
scenario, we can see in sumo the pedestrian coming from external simulator on 
crosswalk.
Second Point, we are using the c++ api to start sumo
Simulation::Start({"sumo", "-c", "osm.sumocfg", "--load-state" , 
"statetakenat750SimulationTimename", "--step-length", "0.5"}).
This will run for 7200 simulation time then we use
Simulation::Load(({"sumo", "-c", "osm.sumocfg", "--load-state" , "statename", 
"--load-state.offset", "7200")
to reload the simulation without restaring the full scenario.
Do you think this the best way to reload the simulation in an efficient way or 
there is another way ?

Please advice

Mell

Thank you for answer [cid:image001.jpg@01D7D628.2425C550]

From: sumo-dev 
<sumo-dev-boun...@eclipse.org<mailto:sumo-dev-boun...@eclipse.org>> On Behalf 
Of Jakob Erdmann
Sent: Friday, November 5, 2021 3:31 AM
To: sumo developer discussions 
<sumo-dev@eclipse.org<mailto:sumo-dev@eclipse.org>>
Subject: 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<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsumo.dlr.de%2Fdocs%2FSimulation%2FPedestrians.html&data=04%7C01%7Cmelhem.tawk%40cae.com%7C97a7e1acaed24df0146c08d9a1d4e65e%7C006c1e48e34247e9ab5d0dd9ff89bd96%7C0%7C0%7C637718758061916931%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ziA09rfZnbTxlvOtByqLPK2RwRvKLRfIyyn9d9pme%2FU%3D&reserved=0>
 for how to get them.
This is what a pedestrian-enabled network should look like: 
https://sumo.dlr.de/docs/Tutorials/TraCIPedCrossing.html<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsumo.dlr.de%2Fdocs%2FTutorials%2FTraCIPedCrossing.html&data=04%7C01%7Cmelhem.tawk%40cae.com%7C97a7e1acaed24df0146c08d9a1d4e65e%7C006c1e48e34247e9ab5d0dd9ff89bd96%7C0%7C0%7C637718758061926887%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Jw3HeTLCAsLKTSK4mBxKrV%2FIkiCX0p%2Bw5IgsCEvu5ZA%3D&reserved=0>

Am Do., 4. Nov. 2021 um 21:25 Uhr schrieb Adrien Dubedat 
<adrien.dube...@cae.com<mailto:adrien.dube...@cae.com>>:
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-boun...@eclipse.org<mailto:sumo-dev-boun...@eclipse.org>> De la part 
de Jakob Erdmann
Envoyé : Wednesday, November 3, 2021 6:11 PM
À : sumo developer discussions 
<sumo-dev@eclipse.org<mailto:sumo-dev@eclipse.org>>
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.dube...@cae.com<mailto:adrien.dube...@cae.com>>:
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-boun...@eclipse.org<mailto:sumo-dev-boun...@eclipse.org>> De la part 
de Jakob Erdmann
Envoyé : Monday, November 1, 2021 3:04 PM
À : sumo developer discussions 
<sumo-dev@eclipse.org<mailto:sumo-dev@eclipse.org>>
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<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsumo.dlr.de%2Fdocs%2FTools%2FSumolib.html&data=04%7C01%7Cmelhem.tawk%40cae.com%7C97a7e1acaed24df0146c08d9a1d4e65e%7C006c1e48e34247e9ab5d0dd9ff89bd96%7C0%7C0%7C637718758061926887%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=EO5Ny1J8t0Sdms9X7WwwLEjmftAhHocFyDawtPt000E%3D&reserved=0>)

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.dube...@cae.com<mailto:adrien.dube...@cae.com>>:
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<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsumo.dlr.de%2Fdocs%2FNetworks%2FPlainXML.html%23node_types&data=04%7C01%7Cmelhem.tawk%40cae.com%7C97a7e1acaed24df0146c08d9a1d4e65e%7C006c1e48e34247e9ab5d0dd9ff89bd96%7C0%7C0%7C637718758061936846%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=QChVHiYHTWa%2FsLg9fkNNa8d1GUeh5%2B32xNBD%2Bc4%2B4Q4%3D&reserved=0>)
 :

<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@eclipse.org<mailto:sumo-dev@eclipse.org>
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/sumo-dev<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.eclipse.org%2Fmailman%2Flistinfo%2Fsumo-dev&data=04%7C01%7Cmelhem.tawk%40cae.com%7C97a7e1acaed24df0146c08d9a1d4e65e%7C006c1e48e34247e9ab5d0dd9ff89bd96%7C0%7C0%7C637718758061936846%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ptXB82fVqx2C2X%2Brxjik5hLJYjscLtRNFxunTfKiBZg%3D&reserved=0>
_______________________________________________
sumo-dev mailing list
sumo-dev@eclipse.org<mailto:sumo-dev@eclipse.org>
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/sumo-dev<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.eclipse.org%2Fmailman%2Flistinfo%2Fsumo-dev&data=04%7C01%7Cmelhem.tawk%40cae.com%7C97a7e1acaed24df0146c08d9a1d4e65e%7C006c1e48e34247e9ab5d0dd9ff89bd96%7C0%7C0%7C637718758061946812%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=CTtpLtgaKtaRhlhMd9CL3Jnk%2FJJpPUDeOb44qlHxz3o%3D&reserved=0>
_______________________________________________
sumo-dev mailing list
sumo-dev@eclipse.org<mailto:sumo-dev@eclipse.org>
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/sumo-dev<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.eclipse.org%2Fmailman%2Flistinfo%2Fsumo-dev&data=04%7C01%7Cmelhem.tawk%40cae.com%7C97a7e1acaed24df0146c08d9a1d4e65e%7C006c1e48e34247e9ab5d0dd9ff89bd96%7C0%7C0%7C637718758061946812%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=CTtpLtgaKtaRhlhMd9CL3Jnk%2FJJpPUDeOb44qlHxz3o%3D&reserved=0>
_______________________________________________
sumo-dev mailing list
sumo-dev@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/sumo-dev

Reply via email to