6 Tool customization

6.1 Customizing Template Symbology

The Template ArcMap document accompanying the tool (i.e., the template.mxd document in the zip folder) is used to apply the symbology to the output maps discussed in the ArcMap Document section of Results & Interpretation. User’s can alter the symbology (e.g., size and colour) of the layers in the template document. Any changes will be applied to new output map results created from running the tool. The structure of the layers and how they are symbolized by default in the template.mxd document is described below.

Other than the “Benchmark Rivers” layer, all the layers contained in the template document are group layers, with sub-layers. These sub-layers make use of definition queries that are programmatically generated by the tool during execution. This allows the output documents to display the data selected by the user for each corresponding layer. For instance, the Barriers Feature class contains two sub-layers: “Included Barriers” and “Excluded Barriers”. Each of these layers has a definition query that is programmatically set based on the “barrier/dam inclusion field”, described in the “General Settings” section. The definition query for the “Included Barriers” layer is set as “[user selected barrier/dam inclusion field] = 1”. Setting the definition query only displays the features in the layer that satisfy the query, in this case only the included barriers will be displayed in this layer.

Many of the stream map layers (i.e., MAP CSI, MAP DOM – IMP, MAP DOM – ALL, MAP DOF, MAP DOR, MAP SED, MAP USE, MAP URB, and MAP RDD) have sub-layers labeled with numbers from 1 – 10, which corresponds to river order. These sub-layers allow for variable line feature width for rivers of different orders, while applying a graduated colour scheme to display the values of the different indices. In this case the streams with a river order of 1 are given a greater width which decreases as river order increases. It is recommended to keep the graduated colour scheme consistent across the sub-layers.

MAP FFR STATUS is slightly different in that it is first broken into three sub-groups: IMP, GOOD, FREE. Each of these sub-groups contains four layers: very long, long, medium, and short. These layer groups display the line features using graduated symbols based on river order, with lower river orders having a greater line width. The colours are then varied between the layer groups with very long having the darkest colour and short having the lightest colour.

6.2 Customizing pre-determined definition queries

Some of the layers make use of definition queries that are not programmatically set and are instead hard-coded into the tool. For instance in the MAP FFR STATUS layer, the definition queries are set to ensure that only rivers with the matching FFR status are displayed in the corresponding layer group. To illustrate, for rivers in the group layers imp, good, and free to be displayed they must have a FFR value of 3, 2, and 1 respectively. Additionally, each layer corresponds to rivers of a certain length with very long, long, medium, and short rivers corresponding to backbone rivers with lengths greater than 1000 km, between 1000 and 500 km, between 500 and 100 km, and less than 100 km, respectively.

In order, to edit these definition queries, the code of the tool will need to be edited. This will require some coding experience and opening the tool in a script editing software, such as idle, pycharm, or visual studio code. Simply right-click the toolbox in the catalog panel of ArcMap and select edit, which will open the tool in the default script tool editor specified under the geoprocessing options of ArcMap. To navigate to the area of code to edit the definition queries, you can search for “Customizing The Map Template”, which will bring you to a variable in the code called “template_data_list”. If you look for the entries corresponding to the “MAP FFR STATUS” layer, you can edit the text string at the end of each line to adjust the definition queries for these layers (Figure 6.1). Once done, save the code and refresh the tool in ArcMap. The next time the tool produces output map results they will be generated using the new definition queries specified in the code.

Last updated