It is often desirable to keep a hydraulic model in sync with its related GIS, to have a complete "digital twin". For example as things are changed in the GIS, you will want to bring those changes into the hydraulic model, so that you have the most accurate depiction of the system. Conversely, you may also make changes to the hydraulic model, and you may or may not want those changes back into the GIS. In some cases the hydraulic model is the "source of truth" for hydraulic parameters such as calibrated roughness, whereas the GIS is the "source of truth" for the assets themselves, pipe break history, etc.
Each system is set up differently and may need a different workflow to utilize the many tools available in Bentley's water infrastructure products to keep things in sync.
The following tools and features are related to Model/GIS synchronization and are available in the latest versions:
ModelBuilder - the primary tool used to import and export data between an external source and a hydraulic model. Provides many different options to cater to different use-cases. See more here.Some minor, related features include the Selection Set ability to update or sync out a subset of elements, the WHERE Clause ability for filtering what is imported and Table Duplication which enables you to import a source table multiple times with different options. The latter two can be used for example to import multiple element types from a single table (for example if you have valves as a single table/feature with a field to differentiate the type, and want to bring in the separate element types PRV, PSV, FCV, etc.) See more here.
GIS-ID - A labeling system that can be used by ModelBuilder to keep a model in sync with a GIS without having a 1:1 match. A single model element can link to one or more GIS-IDs or vice-versa. Provides many different options to cater to different use-cases.
GIS-ID Control Center - This enables you to view and edit all GIS-IDs for all elements, in table format. (similar to the Demand Control Center for demands).
Spatial Join - A mapping method in ModelBuilder, used to connect components in your GIS to model elements by way of spatial proximity instead of a key field.
Snapshots - A tool in ModelBuilder to help you track changes between model synchronization. Enables you to quickly see what has changed, and accept or reject changes during model updates. See more here.
ModelBuilder Connection Export - You can export the ModelBuilder configuration as a file, which you can save along with the model for potential future re-use on a different computer. This can also be done in batch for automated workflows. See more here.
Change Tracking - An optional audit of changes made to the model. Can be useful to review before synchronization. See more here.
As mentioned above, every system and every GIS is set up differently, and every user will have different needs regarding synchronization between the GIS and the hydraulic model. Here are some of the use-cases that can arise, and the tools you might use in those situations:
When you first create your model, there are a few things you can do to set yourself up for success with future model synchronization. If you already have a model created, skip to the next section.
If you need to update a hydraulic model based on changes in the GIS, there are several possible workflows, depending on your situation.
Consider starting out by focusing on a small pilot study area, rather than trying to tackle the entire model at once. Pick a location in your real model that demonstrates many of your anticipated challenging situations, or set up a fabricated small model with those situations. This will enable you to more easily understand how to configure your ModelBuilder connection for a successful synchronization of the full model. This is especially useful in case where the above suggested initial setup workflow was not followed. If you did use the above workflow (most notably, GIS-IDs and Snapshots), then you may not need to set up a pilot study.
The below example is a case where a single pipe in the hydraulic model is now three pipes in the GIS, because a segment in the middle was replaced due to a pipe break. The hydraulic model also contains some "model-only" elements; a pump station seen on the left side, which does not have a detailed representation in the GIS. In this case, you want to keep the model in sync with the GIS and update it with the changes, but you do not want your pump station to be "touched", and you want to re-establish calibrated roughness for the segments of pipe next to the newly installed segment.
Model, after update:
Changes from the model to the GIS typically consist of corrections that need to be made to the GIS such as errors discovered while creating or calibrating the model. Those changes should be communicated to the GIS team to integrate into the GIS. Modelers typically do not have permissions to directly sync-out from the model to the GIS.
Minor changes could be communicated by email for example ("correct this diameter").
For more extensive changes, the model element data can be customized in FlexTables and that data can be exported to Shapefiles.
The ModelBuilder sync out feature provides a way to update source files with changes made. That data can then be reviewed and integrated into the GIS.
You can use Change Tracking to review recent changes to the model, create a selection set of those elements if needed, and sync out by that selection set via ModelBuilder, or (ex: if you don't have access to write to the GIS), communicate those changes to the GIS department.
Typically system designs and extensions created in the model would not be added to the GIS until they are constructed. The GIS team typically gets new as-built additions and adds them to the GIS which is when GIS-IDs are assigned. In some cases, the GIS team is lagging behind on these updates. Modelers may need to add recently constructed elements to the model that have not yet made it into the GIS. If it is known that something will eventually be added to the GIS then it is important to keep the model elements in-sync with the GIS.
How to populate or update an existing model with GIS-IDs
Using the Sync Out function to update source files using ModelBuilder
Building and updating a model using ModelBuilder
Customizing FlexTables for viewing and reporting data -- Moving, adding, and removing columns