Thanks Jakob, I was able to generate a perfect ring road by
setting spider.arm to a large number.

As a follow-up question, is there a way to set to a single direction
(one-way) road, using similar commands? I did not find a command like this
by using netgenerate.

Thank you!

Best,

Jakob Erdmann <namdre.s...@gmail.com> 于2023年5月1日周一 11:58写道:

> you generate circles with arbitrary level of detail using
>
> netgenerate --spider --spider.omit-center --spider.circle-number 1
> --spider.space-radius RADIUS --spider.arm-number DETAIL -R -o circle.net.xml
>
> regards,
> Jakob
>
>
> Am Mo., 1. Mai 2023 um 10:00 Uhr schrieb Ruud van Gaal <
> r.vang...@cruden.com>:
>
>> Hi Cindy,
>>
>> I used the 'repeat' attribute of the 'route' command before to do loops,
>> instead of using re-routers; that was much easier. That may affect the
>> outcome of vehicle.getdistance().
>>
>>
>> *    <route id="r_ego" repeat="10000" edges="a b c d"  />*
>>
>> An alternative is to somehow find out the circle perimeter and modulo the
>> distance: veh_distance = relative_distance % perimiter.
>> One other alternative is to consider the ring road a pure circle, then
>> take both vehicle's forward vectors, generate a circle through those two
>> points and calculate the circular distance. Mathematically perhaps a bit
>> more unstable than just using the x/y coordinates and calculating a
>> distance. I would go for the first method though: try to cut off 1 full
>> perimeter if the distance seems too large. The hard part is then perhaps
>> figuring out the perimeter.
>>
>> Kind regards,
>> Ruud
>>
>>
>> On Mon, May 1, 2023 at 6:20 AM Chen Di <dichen...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> I have drawn a ring road following this
>>> <https://sumo.dlr.de/docs/Tutorials/Driving_in_Circles.html> tutorial,
>>> where gives me a circle that is not perfect (not smooth and the radius at
>>> different position may vary a bit). I also had re-routers so that vehicles
>>> drive for multiple rounds.
>>>
>>> I need to compute the relative distance between vehicles. I tried the
>>> function vehice.getdistance(). However, this will give me some errors in
>>> calculation. For example, if vehicle A in its second round is close to
>>> vehicle B in its third round, then the relative distance is a large value
>>> that contains a perimeter of the ring road.
>>>
>>> I also thought about using x,y coordinates and the angle, and convert it
>>> to distance. However, this seems not accurate, given that my ring road is
>>> not a perfect circle.
>>>
>>> I am wondering if there are any good ways to compute relative distance
>>> correctly in this case. Thanks!
>>>
>>> Best,
>>> Cindy
>>> _______________________________________________
>>> sumo-user mailing list
>>> sumo-user@eclipse.org
>>> To unsubscribe from this list, visit
>>> https://www.eclipse.org/mailman/listinfo/sumo-user
>>>
>> _______________________________________________
>> sumo-user mailing list
>> sumo-user@eclipse.org
>> To unsubscribe from this list, visit
>> https://www.eclipse.org/mailman/listinfo/sumo-user
>>
> _______________________________________________
> sumo-user mailing list
> sumo-user@eclipse.org
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/sumo-user
>
_______________________________________________
sumo-user mailing list
sumo-user@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/sumo-user

Reply via email to