The flow annotation (label) in my WaterGEMS for ArcMap isn't reflecting the value displayed in my Geotable or Flextable. How do I fix this?
This happens because the information that ArcMap is reading from is the geodatabase file, which is used as sort of a transport vehicle for the WaterGEMS database to pass it's information to ArcMap. When you are seeing your flows in the WaterGEMS flextable or geotable being displayed as gpm, gpd, lpm, lpd, etc... this is being done by WaterGEMS software, but the actual default flow value (ft^3/sec for US units and m^3/sec for SI units) in the database never changes. This means that when ArcMap goes to label the flow field it's labeling it based on the default flow field, so that is what you are seeing.
1. Right click on the layer in the table of contents window and select Properties.
2. Click on the "Labels" tab in layer properties window.
3. Select the check box for "Label features in this layer" and then select the label field. For this example that field is "flow".
4. Click the "Expression" button
5. In the label expression window change the dropdown for "Parser:" to 'Python'
6. Check the "Advanced" checkbox and then paste in the code below:
def FindLabel ( [Flow] ):
flw_gpd = float( [Flow] )
flw_gpd = flw_gpd * 646316.883
7. After you do this click the "Verify" button to make sure the code was entered correctly. If there is an error you can try to fix it, speak with your local ArcMap expert, try a google search, or try contacting us.
8. Finally, hit the "OK" button and you should be all set.
*This is a simple bit of code written in Python that assigns the flow value as a floating point number to the variable flw_gpd. Next the variable is multiplied by the conversion factor for changing cfs into gpd and finally the variable is returned and used as the new label.