Would it be possible to make an automated or semi-automated ring closure feature? In Visual Topo, if ring closure feature is enabled, VT will link stations with matching names, nothing else to setup. In CRP, first you need to understand how to set the rings (it takes quite some times), then setting up the loops can be and tracking down the errors.
If the VT approch can be overly simple and lack some flexibility but CRP approch is over-complicated in my opinion. There is probably a mid-ground where CRP could set ring closure by default, offering the option to edit them afterward if needed (e.g enable/disable some of the rings)
Also there should be a much easier way to connect caves. Maybe this could be done in a secondary data table defining commun points between caves? This table could live under Calculate/Loop adjustment.
One of the reasons we are very interested in an easier solution is because our caving club explore lost of old mines and quarries, and unlike into natural caves, loops and multiple entrances are very commun.
Automated ring closure is on the backlog since the start of CaveRenderPro development. But it is not easy. You have to implement an algorithm for linear optimization. This means a lot of math to handle huge matrices. You also have to consider different "weights" for e.g. passages with known error or fix diving deeths.
I have the over 30 year old source code of swiss cavers, but it has no documentation. My aim is to implement this feature in CRP 7.0. But ring closure is only planned within caves. For connection of several caves you will need reference points with equal coordinates.
Hi Jochen, It is a lot easier! I have not tried to connect galeries together, but managed to connect a complete topography to several cave entrances, each entrance having only a reference point and that works. Thanks.
Hi Jochen, Is there a possibility to get some stats for automated ring closure? That's absolutely brilliant not to have to set up the loop but we now miss the quality control aspect of the ring closure. thanks
I just spent a bit of time looking at the difference between Automated ring closure and Manual ring closure and the colored adjustment display. I'm still struggling with the weighted part but nevermind. I used a simple cave model with a 1 degree error on the last survey shoot of each loop. All survey shots have 0 degree inclinaison (i.e. flat cave). I also added a second entrance and connected it to the main cave.
With this simple model, I can see adjustment patterns but here are a couple comments on the colored displays:
Colors: I'm colorblind (as 8-10% of the European males, to various extents) and the choice of a very colorful colorscale (including red and green and many hues) makes the reading of the chart complicated to say the least. I recommend to choose a simple "Blue to Red" or "Blue to Yellow to Red" colorscale, which are a lot more colorblindproof.
Scaling color values: The colorscale seems to be scaled to the adjustment min and max. If I increase the error on just one of the angles, the entire colored display drastically changes but does not reflect the change in quality... This makes the interpretation complicated to impossible as every cave will be a special case. Maybe having preset values for each color to help understanding what is acceptable/good or not acceptable/bad would be a great idea. I suppose this depends on the surveying tool used, the distance from an entrance (absolute position), the length of the loop... and that it might be easier said than done but I strongly believe this should be a path to follow...
This said I had a look at a more complex case and use a real cave data set, with multi-entrances, one (small) loop, a variety of azimut angles and although the quarry is very horizontal more variation in inclinaisons than in my model. I didn't set any manual ring closure/ loop numbering for that cave so I only used the automated ring closure and looked at the adjustment colored display. Let's be honest, the results are more puzzling than they bring answers about the quality of the survey. The adjustment colors do not seems to follow any patterns as in my simple cave model. Some "random" shoots seem to be more affected by adjustment than other and I can't understand or have a feel for the logic behind this nor I can make any sense of the overall adjustment map or quality.
Although I find the colored display an interesting idea, at this point I only see this feature as a complementary tool to the stats stable but not a replacement and the colored display needs some work to be a useful tool.
Again I very much aware that all the above is easier said than done...
It is no matter to implement a statistic to show the relative and absolute adjustment of every station.
But the main question is, does the atomated ring closure work well enough. The mechanism works by adjusting the coordinates of each station. A huge system of linear equations will be solved to minimize the squared deviations. In some cases shorter measurement become relative more adjusted then longer ones. This may explains the fuzzy adjustment colours. I should better implement the adjustment colour by absolute amounts.
Back to question: Does the result of adjustment of a net of measurements look suitable? Even if we don't solve equations based on length, azimut and inclination?
Auto adjustment seems to work and close the loops quite efficiently and I can see the adjustment are not the same using loops or auto... now which one it better... good question. I can't really argue for or against the maths behind adjustment methods as it's really not my domain. I think you mentioned the Auto-adjustment is limited to 500 survey shots, are you planning to increase this limit?
Calculation time has costs of O(n²). This means, if 500 survey shots need 2,5 seconds, 1000 shots will need 10 seconds, 2000 40 seconds, etc.
You better use weights > 0 at selected survey shots to reduce the amount of calculations.
To change the limit, please open Regedit, goto Computer\HKEY_CURRENT_USER\Software\JavaSoft\Prefs\de\caverenderpro and add the new parameter max/Ausgleich (e.g. with value 750).
The calculation time is indeed very high but this is not the main issue in my opinion. What I see as an issue is that CPR seems to keep on recalculating the adjustements although no change have been applied to the data. If I jump from Visualization to Data (or the opposite) or if I want to had a surveyor in the surveyor list, it is incredibly slugish. I wonder if auto-adjustement could be calculated once and stored so no adjustment recalculation is required until next time it is required, making the interface a lot more swift and fluid.