ISIS Documentation

cnetmerge

Merges multiple Control Networks into one

This program attempts to merge a set of (two or more) Control Networks into a single network. The merging process starts with a "base" network into which each successive "add" network is added. When conflicts arise between the base network and the network being added, a set of user-selected options are used to determine how the conflicts are resolved.

When more than two Control Networks are merged, note that the "base" network is updated iteratively when each successive network is added. So the definition of the "base" network is dynamic in this case.

For any point or measure that is edit locked in the base network, that point or measure will never be modified regardless of the OVERWRITE options set. When a point is edit locked, the reference measure is locked implicitly. So, for example, if OVERWRITEREFERENCE is selected, and a control point is edit locked, that point's reference will not be overwritten.

Note: Each network must share the same target.


Categories


History

Christpher Austin2008-04-04 Original version
Christopher Austin2008-06-24 Clarified error messages and added documentation. (Removed netmerge from the system, because it did the same thing, just not quite as clean)
Christopher Austin2008-08-05 Fix xml app name error
Christopher Austin2008-11-13 Rebuilt for more Control Point Id control, including a REPLACE option. Only FORCE prefixes the original Control Network Id to the new Control Point Ids, then logs the number of duplicate Control Points. NORMAL and REPLACE leave the Control Point Ids alone.
Christopher Austin2009-01-09 Added the FROMLIST input option.
Christopher Austin2009-01-13 Changed MERGETYPE param name and options to be more clear. Changed MODE to INPUTTYPE. Added the REPORT param which reveals any Control Points that have been renamed or replaced durring the merge.
Christopher Austin2009-01-15 Added Filename expansion to the listed nets and a few other minor readability changes.
Christopher Austin2009-11-19 Multiple changes based on user request, including removal of RENAME, replacing REPLACE with MERGE while merging at the Control Measure level.
Christopher Austin2010-03-15 Changed an outdated error message.
Steven Lambright2010-10-19 Updated to work with recent control network changes
Christopher Austin2011-01-19 Altered to compile with the new Control redesign.
Christopher Austin2011-02-25 Fixed a simple pointer ownership issue.
Steven Lambright2011-04-11 Updated parameter names
Travis Addair2011-05-26 Separated reference resolution control out of OVERWRITEMEASURES and into new parameter OVERWRITEREFERENCE.
Travis Addair2011-05-27 Overhauled documentation to better explain the distinction between the base Control Network and the networks being added into it.
Debbie A. Cook and Tracie Sucharski2011-06-07 Change point type "Ground" to "Fixed"
Travis Addair2011-05-27 Overhauled the application to reflect functional changes to the program, and fix inconsistencies between the documentation and the code. The program now operates without regard for point type, and properly honors all OVERWRITE options in all situations, which fixes #230. A fourth option has been added, OVERWRITEMISSING, which will remove measures that do not appear in newer networks being added to the base, which fixes #228. The log file has been revamped to print out a PVL report for each network, and each conflicting point or measure. Every conflict will be reported along with a reason (based on user parameter options) for the ultimate resolution. This is in reference to issue #229, but more logging will need to be done in order to warn the user of potential pitfalls in their selected options.
Jai Rideout2011-08-04 Made a small modification to the code in mergeNetworks(...) that created a new control network for each file in the file list. FileList's overloaded '[]' operator that was used inside of the call to Filename's constructor confused the compiler on Ubuntu10.04 systems.
Travis Addair, Janet Richie, Elpitha Howington-Kraus2011-10-07 Rewrote large sections of the documentation to make more clear, accessible, and user-friendly.
Travis Addair2012-04-17 Moved duplicate point check for DUPLICATEPOINTS=ERROR to occur before merging is attempted. In this way, errors can be caught before expensive merging begins. Also enabled logging of duplicate points. If the user specifies a LOG file with DUPLICATEPOINTS=ERROR, all duplicate points will be reported to that file before the program terminates.
Travis Addair2011-04-18 Removed the REVERSE option and changed the CNET parameter to BASE. When INPUTTYPE=CNETS, BASE will act exactly as CNET did. However, when INPUTTYPE=LIST, the BASE parameter can now be provided in order to set an explicit base network, effectively adding it to the front of the input list. If the explicit base network also appears in the input list, it will be ignored there to avoid adding it twice. If not value is provided for BASE, the first element in the list is considered the base network.