After linking cave network to several entrances (i.e. several ref. points), it is impossible to disable the entrance adjustement affect and keep an eye on how good (or bad) are the data before adjustement. When Adjustement - None is selected, all the ref. points set to link the different parts of the network should be disabled.
and maybe two auto adjustement options should be available: auto adjustement without links to other caves parts/entrances and auto adjustement with links to other caves parts/entrances
Workaround works thanks. I'd rather disable the ref points than clearing the refCave field... less work, more error proof. Still think that this should be par of the Adjustements options.
It is fonctionnal but it can be a tad headscratching to set up...
To keep things easy (in my opinion), I consider a cave network as one entity: meaning it doesn't matter from which entrance I started each part of the surveys, they belong to the same network... so why splitting the data between several data tables/cave entrances ?!? So I decide which entrance is going to be the primary entrance and then I build the entire network from that primary entrance > Master data table. Then I create all the "secondary" entrances (with GPS coordinates, altitude) and add in their data table one lonely data row for each secondary entrance.
This gives me something like this:
Cave #1This is the primary entrance 1.0.0 > 1.0.0 ; 0m; 000°; 0° This is the reference point of the primary entrance (GPS/alti of entrance #1) survey shot data survey shot data survey shot data survey shot data ... that's all the cave network data = Master data table
----- Cave #2This is a secondary entrance 2.0.0 > 2.0.0 ; 0m; 000°; 0° This is the reference point of the secondary entrance #2 (GPS/alti of entrance #2) nothing more
----- Cave #3This is another secondary entrance 3.0.0 > 3.0.0 ; 0m; 000°; 0° This is the reference point of the secondary entrance #2 (GPS/alti of entrance #2) nothing more
When this is done, there a couple of data rows per entrances to add in the Master data table:
1.x.x> 2.0.0; 0m; 000°; 0° (1.x.x is the secondary entrance 2 station number in the master data table) 2.0.0 > 2.0.0 ; 0m; 000°; 0°; (RefCave=) 2
1.y.y> 3.0.0; 0m; 000°; 0° (1.y.y is the secondary entrance 3 station number in the master data table) 3.0.0 > 3.0.0 ; 0m; 000°; 0°;(RefCave=) 3
Auto-adjustement with load of shots is a long process to run... fair enough. But when auto-adjustment has been run (i.e. calculation), it should make no difference to the software speed, right? However, I find the software very (very) sluggish when auto-adjustement is on, and most loss of performance are not justified/shou in my opinion. - jumping from one tab to another seems to launch the adjustment calculation again and again (not always though). - jumping from Plan to Perspective does the same. - adding a "drawing/layer" takes forever... - opening a file with auto-adjustment on is so long, that it seems to be crashing...
These are few examples of the things that doesn't seems to work optimaly I think there is room from improvement here.
I'll drop you a PM with link to my master file so you can have a look for yourself.
Hi Jochen, Did you had a chance to test the file I sent you and narrow down the actions that make CRP very very slow beyond the calculation of auto-adjustment?
Auto adjustment with more that 500 shots are really slow, because of caclulations with n*n matrices (n = number of shots). 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.
The calculation starts for example, when you change the tab from data to visualization. Over all there are 38 functions calling this calculaton.
Do you have tested the weight adjustment? For this you have to set weight = 1 only for shots need to adjust. This will reduce the amount of calculations dramatically.
Maybe our PC isn't powerful enough but on my side we're talking 15-20 minutes with about 2500 shots to adjust. So every time the adjustment calculations are called, I have to find something else to do, which is very annoying.
This is our beast: Intel Xeon X3450 @2.67GHz 2.66GHz, RAM : 6Go, NVIDIA GeForce GT710 WEI : 5.1 Is that enough?
As I see it now, with this 20 minutes delay to think about it, there are far too many calls of the adjustment calculations. Unless there are changes to the survey data required for the adjustment calculations, I don't see the need to call the calculations again and again. For example if I edit the "info" field in the data table, where is the need for a recalculation? In my opinion, the call of the adjustment calculations should be controlled and not automated as
Zitat von CaveRenderPro im Beitrag #9 for example when you change the tab from data to visualization
. Editing any of the data used by the adjustment calculation should trigger a warning that adjustment recalculation is required.
As you may have seen with the file I sent you, our master cave network is 15km long, has 4 entrances and stretch in between "Hyder - Belle", being the highest and Hyder - Exurgence" being the lowest, so the survey shots have to be adjusted all along. So I don't think the weight = 1 could be a very efficient the solution here.
1) Disable permanent auto adjustment over 500 shots (like today in default configuration). New function to start auto adjustment manually. This function has to call after loading a CRP file or any relevant data manipulation.
2) Improving peformance by determine the relevant shots for auto adjustment only. Hope this will reduce the number of shot from 2500 to under 500 (?)
I think the identification of the shots actually requiring an adjustement before running the calculation is a very good start. Even in a configuration of caves with entrances on both ends, there's always side galeries that don't requires any adjustments since there are no loop. This combined with the improved import process regarding the direct/backsight pairs of shots should reduce the number of shots requiring some adjustement. However, the cave networks are meant to be discovered and the number of shots will only go one way: up. Optimising the number of shots involved in the calculation is necessary but won't stop that trend, and limiting the improvement to this optimisation will only delay the re-occurrence of the main issue (if the optimisation actually drop drastically the number of shots). Unless I misunderstand your suggestion with the 500 limit, it sounds like an improve "status quo". At the moment 500 is the default limit and if we want to run adjustment above that threshold, we can edit this limit in settings. So if I understand your idea correctly, you would replace this by a feature to authorize an unleash adjustment without having to fiddle the limit, right ? It sound like a redesigned version of the existing but it doesn't solve the main issue: adjustment calculation seems to be ran far too many times when it doesn't seems necessary. For example, if I go from Visualisation to Data - no edit to data - and back to Visualization the adjustment calculations seemed to be called... why? there is no changes to the data? As I see it with my lack of programming knowledge and math behind the seen, CRP should run the adjustement calculation after the data are considered ready for adjustement... calculations would be run once on request, and X_adjust / Y_adjust / Z adjust would be stored, saved and locked until a recalculation is actually necessary. When you wait 20 minutes for each calculation, you have time to ask yourself why the calculations are run so many times and if this is actually necessary. I don't mind waiting 20 min for the calculation if required, but I do mind waiting for what seems to be unnecessary recalculation. Maybe I sound like a smart ass and I apologise for that as I only want to improve the software experience.