Is it possible to reproject a model to a different coordinate system?

Applies To 
Product(s): WaterGEMS, SewerGEMS, HAMMER
Version(s): 10.xx.xx.xx, 08.11.xx.xx
Area:  Modeling
Original Author: Jesse Dringoli, Bentley Technical Support Group

Problem

Is it possible to reproject a model (move it from one coordinate system to another) in WaterGEMS, HAMMER or SewerGEMS? For example migrating from NAD27 to NAD83 or from WGS 1984 to State Plane.

Solution

First, assess if it may be appropriate to simply move all the model elements to the new coordinate system location instead of performing a reprojection/transformation. This likely will not be ideal in most cases, as it often needs to be distorted / warped and each type of projection can do this in a different way. For example, going from NAD27 to NAD83 in particular has some challenges. See the link below under the "See Also" section.

As of the CONNECT Edition Update 3 release of WaterGEMS/HAMMER and SewerGEMS, there is no direct tool for performing a Reprojection in standalone or ArcMap-integrated mode. However, if you have Esri ArcGIS, you can utilize the "Project" tool from ArcToolbox. A similar workflow can also be performed in QGIS (free) if ArcGIS is not available. Note that when doing this, you must create a new feature dataset to store the reprojected data, and you must specify a GIS format as the source. So, you will also need to first export model elements to shapefile format, then later use ModelBuilder to import the updated geometry.

If you have a GIS linked to your model elements (via GIS-ID or label)

If you have a GIS in the new projection and your hydraulic model is in sync with that GIS (elements are matching via GIS-ID or labeling), you can simply use ModelBuilder to update the geometry to the new location:

1) Connect to the GIS in ModelBuilder, either (either the GIS' geodatabase directly if using WaterGEMS/SewerGEMS for ArcMap, or via Shapefile),

2) In the "Specify spatial and connectivity options" step, choose the right units, then uncheck the option to create nodes if not found at pipe endpoints, and the option to establish connectivity using spatial data.

3) In the "Specify element create/remove/update options" step, only check the box for the option to "update objects in destination if present in source". Uncheck the options to add and to remove.

4) Choose to connect to the source via the GIS-ID system (ideally), or by label (ensure the labels are unique and linked to the correct elements), then choose the correct field for the Key field in the field mapping step. Do not map any other properties.

5) Choose to "build the model", review the summary, close the ModelBuilder manager and choose to synchronize drawing. The elements should be in the new location.

If model element labels are unique (no duplicates)

1) Backup your model.

2) Open the Flextable manager and create a new Flextable under "Tables - Hydraulic Model". Choose the first element type (for example Pipe), and leave the default "label" attribute. Click the Export button in the top-left corner and export to Shapefile format.

3) Repeat step 2 for each element type used in the model.

4) Open Esri ArcToolbox > Data Management Tools > Projections and Transformations > Project.  In the configuration, choose the first element type's shapefile that you exported in step 2, select the appropriate initial coordinate system, then choose to create a new Shapefile for the output, and select the new respective coordinate system.

5) Click OK, wait for the projection to complete, then repeat step 4 for the other shapefiles that you had exported in step 2/3 above.

6) Back in the Bentley product, start a new ModelBuilder run and select all of the new shapefiles (created in step 4/5 above) - use the CTRL key to multi-select. In the proceeding steps, choose the correct units, uncheck the option to "create nodes if none found", uncheck the option to "establish connectivity using spatial data", and in the step called "specify element create/remove/update options", ONLY check the box for the option "Update existing objects in destination if present in source". In the "Specify field mappings" step, choose "Label" for the "key fields" for each element type. Complete the ModelBuilder run, close the ModelBuilder manager, and choose to Synchronize the drawing. All of your elements should then move to the new location per the new coordinate system. You may need to use Zoom Extents to see them.

If model element labels are NOT unique (there are duplicates)

First, consider if you are OK with fixing the labels that are duplicated, so that this does not occur. To do this, open Network Navigator and run the "Duplicate Labels" query, within the "Input" section. See: Finding and fixing duplicate labels You can the rename each one, and follow the steps in the section above for "If mode element labels are unique". If you do not wish to rename labels to avoid duplication, the below process can be used instead:

1) Backup your model.

2) Create a User Data Extension (UDX) for each element type in the model, to store a set of new, unique labels. The data type could be text or numeric. 

3) Open the Flextable manager and create a new Flextable under "Tables - Hydraulic Model". Choose the first element type (for example Pipe), click the yellow Edit button and add the new UDX that you created in step 2, and remove the default "Label" field. Populate the new UDX field with unique characters or numbers, which could be done for example by pasting in a column from Excel. To do this, right click on the column header, choose "select column", then use the Paste button at the top to paste in the copied data. You should now have a column of unique labels.

4) Click the Export button in the top-left corner of the Flextable and export to Shapefile format.

5) Repeat step 3-4 for each element type used in the model.

6) Open Esri ArcToolbox > Data Management Tools > Projections and Transformations > Project.  In the configuration, choose the first element type's shapefile that you exported in step 3-5, select the appropriate initial coordinate system, then choose to create a new Shapefile for the output, and select the new respective coordinate system.

7) Click OK, wait for the projection to complete, then repeat step 6 for the other shapefiles that you had exported in step 2/3 above.

8) Back in the Bentley product, start a new ModelBuilder run and select all of the new shapefiles (created in step 6/7 above) - use the CTRL key to multi-select. In the proceeding steps, choose the correct units, uncheck the option to "create nodes if none found", uncheck the option to "establish connectivity using spatial data", and in the step called "specify element create/remove/update options", ONLY check the box for the option "Update existing objects in destination if present in source". In the "Specify additional options" step, choose "custom" for the "map elements by key field", then in the "Specify field mappings" step, choose your new UDX (containing the unique labels) in BOTH of the dropdowns on the right side of the "Key fields" - do this for each element type listed on the left side. Complete the ModelBuilder run, close the ModelBuilder manager, and choose to Synchronize the drawing. All of your elements should then move to the new location per the new coordinate system. You may need to use Zoom Extents to see them.


See Also

How do I determine what projection a model has been set to?

http://resources.esri.com/help/9.3/arcgisengine/java/gp_toolref/coverage_toolbox/transforming_between_nad27_and_nad83.htm

http://communities.bentley.com/products/hydraulics___hydrology/f/5925/p/7101/10556#10556

Recommended
Related