true distance between two station

Владимир Георгиев vld.georgiev at gmail.com
Sat Dec 15 12:51:20 GMT 2018


Luca

My test was in Python, but I couldn't find the code. It was just
experimental pieces and I haven't put it in source control anywhere. If I
find anything later I will post it. I remember it was slow-ish with large
number of stations and loops :)
But here is the info in general:

The algorithms are nothing secret. A cave survey centerline is essentially
a weighted non-directional graph. The vertices of the graph are the
stations, and the edges the shots between them. The weight of each edge is
the length of the shot. So we are interested in the shortest path (minimum
length) in the graph between vertices (stations) X and Y.
This can be found using Dijkstra's algorithm, which is a very popular
method and I think a google search will offer the code directly in many
languages.

The idea was to add such a function to one of the 3D vewers, either Aven or
Lox. And there was some difference in how Survex and Therion stored the
data in their .3d/.lox formats. One was indeed a graph with the connections
between the stations, while the other was just a set of points and lines
with coordinates (harder to reconstruct the graph from them). But I might
be wrong about the formats. Olly will be able to say more about this.

Also interesting was to find the shortest path, but considering the graph
as unweighted. E.g. the path between two stations with the least number of
stations between them, regardless of the lengths. My logic was that you
could have two paths between X and Y: one that is short length, but with
many stations, and another that has fewer stations, but longer. The short
length combined with lots of stations could indicate that the passage is
very narrow and curvy, while the other passage might be straight and easier
to travel.
But that is pure speculation and will not produce reliable results in many
cases :)

Vladimir




On Sat, Dec 15, 2018 at 1:41 PM detrito <detrito at inventati.org> wrote:

> Владимир Георгиев <vld.georgiev at gmail.com> wrote:
>
> > Hi Luca
> >
> > Well, like many ideas, it was never completed. I made a few
> > experiments and the concept was working, the algorithm itself is not
> > hard. But then I got out of free time and abandoned the project.
> > Unfortunately, I won't be having much of it to work on caving
> > software any time soon.
>
> hi Vladimir,
>
> thanks for the quick answer! would you agree to share your
> code/algorithm with the community, even if not finished? maybe I
> or some other person could finish to implement it in survex ;)
>
> best regards, Luca
>
> --
> gpg --recv-key 0x88D6D3C6
>


More information about the Survex mailing list