Create a distance / delay function for a given probe

Hello,
For my study i need to create a python function that gives a distance based on a given delay for a probe.
The idea is to use the previous measurements done by other users beetween probes to create a regression that estimates a distance from the probe based on the average ping delay.

On the RIPE Atlas website, by accessing a probe’s last measurements with other probes, I can manually calculate the distance beetween the two probes (using their geographical position) and divide it by the time of the request to obtain the wanted “speed”.

I would like to automate this process for any given public probe.
I tried but failed using the API and the ftp files from Index of /ripe/atlas/measurements/ thus far…
How can i implement it, ideally in python ?

Kind regards

Hello, this is quite a complex topic but the following may get you started:

The probes don’t ping each other – to a large extent because most of them are behind some NAT or firewall. However the anchors do ping each other in a full mesh. So if you want to experiment I’d recommend using these measurements (you can find the msm IDs on the anchors’ status pages). You’ll need to download / stream the results, decode them (JSON objects) and you’ll find the RTT value as a field. Keep in mind that this has a loose relation to the geographical distance - and also the RTTs can change even though the anchors usually don’t move around due to how routing works.

Hello, thank you for your very interesting answer,

One part of the study is to estimate the impact of this lose relation between RTT and geographical distance (non respect of triangle equation, routing changes, etc.).

I wasn’t aware of this specific anchors behavior. Does the probes themselves try to ping the anchors ? Or do I have to stick with anchors to get the ping statistics ? The larger amount of probes and raw data interest me more than the “quality” of the anchors measurements. Hence why I wanted to collect public measurement’s data…

Now let’s say I want to stream these measurements, where can I get the data for 1 probe/anchor ping’s measurements towards any/all anchors ?