How are ModelBuilder snapshots used to track changes and updates between the source file and the hydraulic model?
Starting with the CONNECT Edition Update 1 release of the OpenFlows products, you can now use the new Snapshots feature in ModelBuilder to keep track of what has changed in the GIS since they were last imported into a model, and to only bring in those changes when performing a sync-in. The goal of this enhancement is to allow you to preview the changes since the selected snapshot that would be brought into the model, to enable you to make better decisions when keeping a model in sync with the GIS.
A new snapshots settings step is now included after the Field Mapping step. After you have mapped source file data to the appropriate element fields, you will see the following step:
If you check the box for "Use snapshots to track changes to your datasource between synchronizations", you will be able to create snapshots so that you can see what has changed since the last import. If this is the first snapshot you are creating, the item for "Use latest snapshot" will be blank. But, once the snapshot is created, you will be able to preview the changes for the latest snapshot from any other snapshot that is available. The snapshot is automatically saved to a folder in your user profile and is denoted by the date and time the snapshot was created.
Using the preview changes button on the snapshots page of the ModelBuilder wizard, you can preview the differences before performing the synchronization into the model. If a valid snapshot is selected, either through the "use latest" or "selected" option, the appropriate preview changes button will be clickable. This will look similar to the screenshot below:
The left side shows the different tables in the ModelBuilder connection. In the example above, there are four different shapefiles stored in the ModelBuilder connection. Elements from the table "junction" and "pipe" are seeing elements being added, while the elements in "update junction" and "update pipe" are being removed.
In the grid on the right, the label for the element in the highlighted table is displayed, as well as parameters that are being mapped. In the example above, there are four pipes with their assigned diameters. The unlabeled column defines what function the ModelBuilder update will do. In the case above, the symbol means that elements will be added. Finally, the "Accept?" column allows you to either accept a change or not. If you uncheck a box from the Accept column, it will not be included when you complete the ModelBuilder run.
Adding and removing elements is not the only thing that you can report. You can use snapshots to see when parameters have changed as well, as seen in the screenshot below:
Here the diameter for one of the pipes in the "pipe" table has been updated. The updated value will be shaded in red and the symbol between the Accept? and Label column indicates that the value is updated.
Below you can find a key / legend for the symbols used in the list on the left and the table on the right:
The snapshot creates a folder in the your user profile, though you can select a custom location as well. The data included in the snapshot includes the ModelBulider profile related to the snapshot, as well as all of the ModelBuilder Summary and messages that are created after you have completed the ModelBuilder run. This allows you to manually view any messages that may have been generated after the run.
Using ModelBuilder to Import External Data