inbo / fish-tracking

🐟 Collection of scripts for processing and analysing fish tracking data
3 stars 0 forks source link

Loops in calculating receiver distances #52

Closed PieterjanVerhelst closed 2 years ago

PieterjanVerhelst commented 7 years ago

Automatically calculating receiver distances in longitudinal networks works excellent. A new challenge is calculating distances when loops are present, due to parallel canals. For example, fish migrating through the Albert Canal have different options to get into the Schelde in Antwerpen: 1) migration along the Albert canal - calculating the distances works with the current script (prepare_dataset.R) 2) moving into parallel canals (the 'Kempische kanalen'), resulting in different possible distances to move from station A to B (see figure below; note that the 2 loops are connected to eachother at the cross section). How could this be implemented in the script? ak_network_loops

stijnvanhoey commented 7 years ago

As the current script searches for the least cost-distance, this is not supported yet. As a side note, the current matrix is containing a single defined distance in between each receiver (NxN matrix). How would you propose to represent these alternative routes?

PieterjanVerhelst commented 7 years ago

Maybe an additional code can be written in case loops are present. The presence of loops can be indicated in the external network csv file (e.g. column 'loop' with '1' next to the stations that are part of a loop). I think it is possible when the loop-trajectories are given a different weights http://desktop.arcgis.com/en/arcmap/latest/tools/spatial-analyst-toolbox/creating-the-least-cost-path.htm

IPauwels commented 7 years ago

afbeelding1 In fact this means that in future projects (receiver networks) containing loops, we should install recivers "in the loop", ensuring that the distance between these "extra" receivers and the receivers near the "cross-roads of the different loops" is smaller than the distance between these cross-road-receivers ... Illustrated below: red circles= "cross-road receivers" (which are in fact the receivers between which two different routes are possible), blue stars:the extra receivers in the loop. The discrepancy between route D versus route ABC to go from the one circled receiver to the other, is than made by the receivers in between (bleu stars and green receivers in the Albert channel).

So perhaps, if we could insert "virtual receivers" (the blue stars on the map below) in the detection file based on the sub-sequence of the receivers for which we have detections, we could automate the calculation of the distances for the case of the Kempense Kanalen?

Not sure whether this idea is clear and feasible?

stijnvanhoey commented 7 years ago

@IPauwels could you upload your figure as well (on gitub: edit comment, just drag your picture into the edit field)

damianooldoni commented 2 years ago

I close this issue as it is further discussed in a very similar way in #68.