Hi Thomas,
thank you for the snippet, I succesfully tried it :)

For my convinience, I wrote a small wrapper to ease the call:
- It references my fixed aven file
- It has parameters 1 and 2 reference the respective stations

------snip shortestPath.py------
#!/usr/bin/python
#
# Wrapperskript fuer survex.py um den kuerzesten Pfad zwischen zwei Stations zu errechnen.
#
# Bsp: Eingang -> Brueckenhalle: $ ./shortestPath.py Hirlatzhoehle.Zubringer.1.1.0 Hirlatzhoehle.Alter_Teil.2.1.55

import sys

filename     = "../Hirlatzhoehle/Hirlatz.th.3d"
station_from = sys.argv[1]
station_to   = sys.argv[2]

from survex import Survex3D
survey = Survex3D(filename)
length, p = survey.shortestpath(station_from, station_to)
upwards = sum(max(0, t.z - f.z) for (f, t) in zip(p[:-1], p[1:]))
downwards = sum(min(0, t.z - f.z) for (f, t) in zip(p[:-1], p[1:]))
print("Shortest route length:", length / 100, "m")
print("Cumulated height going upwards:", upwards / 100, "m")
print("Cumulated depth going downwards:", downwards / 100, "m")

------snip------


Example call (Entrance to the Fragezeichenbiwak):
$ ./shortestPath.py Hirlatzhoehle.Zubringer.1.1.0 Hirlatzhoehle.Donnerbach.70.1.19
('Shortest route length:', 6773.091436823018, 'm')
('Cumulated height going upwards:', 781, 'm')
('Cumulated depth going downwards:', -770, 'm')


Thank you!
(nonetheless it would be awesome to get some more feature rich integrated function in therion and/or aven)


Am 2021-11-28 18:49, schrieb Thomas Holder:
Hi Benedikt and Olly,

I implemented such functionality (not the visualization) a while ago
as a little exercise in Python. If you know how to run a Python
script, then you might find this useful.

First download this file:
https://raw.githubusercontent.com/speleo3/inkscape-speleo/master/extensions/survex.py

Then run this code (replace the file name and station names):

filename = "smk-arge.3d"
station_from = "p87"
station_to = "115.commando.105"

from survex import Survex3D
survey = Survex3D(filename)
length, p = survey.shortestpath(station_from, station_to)
upwards = sum(max(0, t.z - f.z) for (f, t) in zip(p[:-1], p[1:]))
downwards = sum(min(0, t.z - f.z) for (f, t) in zip(p[:-1], p[1:]))
print("Shortest route length:", length / 100, "m")
print("Cumulated height going upwards:", upwards / 100, "m")
print("Cumulated depth going downwards:", downwards / 100, "m")


Cheers,
  Thomas

On Sat, Nov 27, 2021 at 8:25 PM Olly Betts <[email protected]> wrote:

On Fri, Nov 26, 2021 at 05:10:18PM +0100, Benedikt Hallinger wrote:
> i would want to get some advanced statistics regarding lengths in a very big 
cave (130km/Hirlatz).
>
> Basicly i want to supply two stations and get the following data for the 
shortest path:
> - length of shots
> - cumulated height for shots going upwards
> - cumulative depth for shots going downwards
> - optionally it would be cool to be able to somehow visualize the route in 
aven/loch, or in a therion map output
>
> Is this possible already?

I don't think so.

Someone was working on it, but I guess it didn't come to anything as
that was 2016:

https://lists.survex.com/pipermail/survex/2016-October/002082.html

Cheers,
    Olly
_______________________________________________
Therion mailing list
[email protected]
https://mailman.speleo.sk/listinfo/therion
_______________________________________________
Therion mailing list
[email protected]
https://mailman.speleo.sk/listinfo/therion

Reply via email to