I would like to implement distance measurements between nodes using spherical coordinates. How do we find the direction of a particular node in veins simulation.
Veins uses planar (x/y) coordinates with 1 unit equal to 1 meter for all of its computations.
(Even the road map uses planar coordinates. To get a planar road map of a real city, the import process for a .net.xml file uses map projection - for example, the Veins 4.4 tutorial simulation used UTM projection).
As a consequence, you can use simple trigonometry to get the distance between any two points (or, as most coordinates are stored using class Coord, you can call its distance method.
The recommended way to get the position of any car in the simulation is to call its mobility module's getCurrentPosition method.
If you absolutely need to determine the longitude/latitude of a given x/y position, you will need to apply the inverse of the map projection used when importing the road map. If this information is present in the .net.xml file, this can also be done by calling the getLonLat function of a TraCICommandInterface (obtained, for example, like in the tutorial simulation in TraCIDemo11p.cc, line 34).
Veins uses planar (x/y) coordinates with 1 unit equal to 1 meter for all of its computations.
(Even the road map uses planar coordinates. To get a planar road map of a real city, the import process for a
.net.xml
file uses map projection - for example, the Veins 4.4 tutorial simulation used UTM projection).As a consequence, you can use simple trigonometry to get the distance between any two points (or, as most coordinates are stored using class
Coord
, you can call itsdistance
method.The recommended way to get the position of any car in the simulation is to call its mobility module's
getCurrentPosition
method.If you absolutely need to determine the longitude/latitude of a given x/y position, you will need to apply the inverse of the map projection used when importing the road map. If this information is present in the
.net.xml
file, this can also be done by calling thegetLonLat
function of aTraCICommandInterface
(obtained, for example, like in the tutorial simulation inTraCIDemo11p.cc
, line 34).