2 Tools Reference
2.1 ArcGIS Toolbox
The FMG toolbox contains two toolsets, the QA toolset and the Summary toolset. This ArcGIS toolbox is developed using custom Python scripts.
2.1.1 QA Tools
2.1.1.1 00-Clean Inputs
Purpose- FMG QA Tools Function Library. This script contains the function library referenced throughout the ArcGIS toolbox QA tools.
Code- This function library is built from the Python Script Clean Inputs
2.1.1.2 01-Prep QA Workspace
Purpose- This tool creates a QA geodatabase for each input (Fixed, Prism, Age, Plot)
Code- This ArcGIS tool is built from the Python Script Prep QA Workspace Tool
Parameter | Description | Type | Required |
---|---|---|---|
Destination Folder | Folder in which output .gdb will be created | Folder | required |
Fixed Plots | Fixed plots (shapefile or feature class) | Feature Class or Feature Layer | required |
Prism Plots | Prism plots (shapefile or feature class) | Feature Class or Feature Layer | required |
Age Plots | Age plots (shapefile or feature class) | Feature Class or Feature Layer | required |
Plot Centers | Plot center locations (shapefile or feature class) | Feature Class or Feature Layer | required |

Figure 2.1: 01 - Prep QA Workspace Tool dialogue.
2.1.1.3 02-Check Required Fields [Plot Center]
Purpose- Checks the plot center input for presence of required fields and for missing values in those fields. This tool will rename provided fields as necessary to match the FMG schema.
Code- This ArcGIS tool is built from the Python Script Check Required Fields (Plot Center)
Parameter | Description | Type | Required |
---|---|---|---|
Plot Centers | Plot center locations (feature class) | Feature Class or Feature Layer | required |
Plot ID Field | Name of plot ID field | Field | required |
Plot Type Field | Name of field containing site type flags (age, walkthrough, etc) | Field | required |
![02 - Check Required Fields [Plot Center] Tool Dialogue.](images/QA_Tool2.png)
Figure 2.2: 02 - Check Required Fields [Plot Center] Tool Dialogue.
2.1.1.4 03-Check Required Fields [Prism]
Purpose- Checks prism plots for presence of required fields and for missing values in those fields. This tool will rename provided fields as necessary to match the FMG schema.
Code- This ArcGIS tool is built from the Python Script Check Required Fields (Prism)
Parameter | Description | Type | Required |
---|---|---|---|
Prism Plots | Prism plot feature class | Feature Class or Feature Layer | required |
Plot ID Field | Name of plot ID field | Field | required |
Species Field | Name of tree species field | Field | required |
DBH Field | Dialog Reference | Field | required |
Canopy Class Field | Name of canopy class field | Field | required |
Health Field | Name of tree health field | Field | required |
Misc Field | Name of miscellanious notes field | Field | optional |
Crew Field | Name of crew field | Field | required |
Date Field | Name of date field | Field | required |
![03 - Check Required Fields [Prism] Tool Dialogue.](images/QA_Tool3.png)
Figure 2.3: 03 - Check Required Fields [Prism] Tool Dialogue.
2.1.1.5 04-Check Required Fields [Fixed]
Purpose- Checks fixed plots for presence of required fields and for missing values in those fields. This tool will rename provided fields as necessary to match the FMG schema.
Code- This ArcGIS tool is built from the Python Script Check Required Fields (Fixed)
Parameter | Description | Type | Required |
---|---|---|---|
Fixed Plots | Fixed plot feature class | Feature Class or Feature Layer | required |
Plot ID Field | Name of plot ID field | Field | required |
Canopy Closure Field | Name of overstory closure field | Field | required |
Overstory Height Field | Name of overstory height field | Field | required |
Understory Height Field | Name of understory height range field | Field | required |
Understory Cover Field | Name of understory cover field | Field | required |
Understory Species Field | Name of understory species field (if multiple, choose the first one) | Field | required |
Ground Species Field | Name of ground species field (if multiple, choose the first one) | Field | required |
Misc Field | Name of miscellanious notes field | Field | optional |
Crew Field | Name of crew field | Field | required |
Date Field | Name of date field | Field | required |
![04 - Check Required Fields [Fixed] Tool Dialogue.](images/QA_Tool4.png)
Figure 2.4: 04 - Check Required Fields [Fixed] Tool Dialogue.
2.1.1.6 05-Check Required Fields [Age]
Purpose- Checks age plots for presence of required fields and for missing values in those fields. This tool will rename provided fields as necessary to match the FMG schema.
Code- This ArcGIS tool is built from the Python Script Check Required Fields (Age)
Parameter | Description | Type | Required |
---|---|---|---|
Age Plots | Age plot feature class | Feature Class or Feature Layer | required |
Plot ID Field | Name of plot ID field | Field | required |
Species Field | Name of tree species field | Field | required |
DBH Field | Name of tree diameter field | Field | required |
Height Field | Name of tree height field | Field | required |
Year of Origin Field | Name of tree year of origin field | Field | required |
Growth Rate Field | Name of tree growth rate field | Field | required |
Misc Field | Name of miscellanious notes field | Field | optional |
Crew Field | Name of crew field | Field | required |
Date Field | Name of date field | Field | required |
![05 - Check Required Fields [Age] Tool Dialogue.](images/QA_Tool5.png)
Figure 2.5: 05 - Check Required Fields [Age] Tool Dialogue.
2.1.1.7 06-Check Plot IDs
Purpose- Check the validity of fixed/age/prism plot IDs against the IDs of the primary set of plot locations.
Code- This ArcGIS tool is built from the Python Script Check Plot IDs
Parameter | Description | Type | Required |
---|---|---|---|
Plot Centers | Primary set of plot locations | Feature Class or Feature Layer | required |
Plot Center ID Field | Name of plot ID field | Field | required |
Prism Plots | Prism plot feature class | Feature Class or Feature Layer | required |
Prism Plot ID Field | Prism plot ID field | Field | required |
Fixed Plots | Fixed plot feature class | Feature Class or Feature Layer | required |
Fixed Plot ID Field | Name of plot ID field | Field | required |
Age Plots | Age plot feature class | Feature Class or Feature Layer | required |
Age Plot ID Field | Name of plot ID field | Field | required |

Figure 2.6: 06 - Check Plot IDs Tool Dialogue.
2.1.1.8 07-Check Fixed Offsets
Purpose- Checks fixed plot IDs against the ID of the nearest plot center. If the nearest plot center has the same ID as the fixed plot ID, the fixed plot is considered to have the correct ID. If the nearest plot center has a different ID than the fixed plot, the fixed plot will be flagged and the ID should be checked manually.
Code- This ArcGIS tool is built from the Python Script Check Fixed Offsets
Parameter | Description | Type | Required |
---|---|---|---|
Plot Centers | Primary set of plot locations | Feature Class or Feature Layer | required |
Plot Center ID Field | Name of plot ID field | Field | required |
Fixed Plots | Fixed plot feature class | Feature Class or Feature Layer | required |
Fixed Plot ID Field | Name of plot ID field | Field | required |

Figure 2.7: 07 - Check Fixed Offsets Tool Dialogue.
2.1.1.9 08-Verify Age Plots
Purpose- Checks prescribed age plots against collected age plots. Returns the prescribed age plots with a flag field indicating if an age plot was collected.
Code- This ArcGIS tool is built from the Python Script Verify Age Plots
Parameter | Description | Type | Required |
---|---|---|---|
Plot Centers | Primary set of plot locations | Feature Class or Feature Layer | required |
Plot Center ID Field | Name of plot ID field | Field | required |
Flag Field | Name of field which flags plots for age tree collection | Field | required |
Age Plots | Age plot feature class | Feature Class or Feature Layer | required |
Age Plot ID Field | Name of plot ID field | Field | required |

Figure 2.8: 08 - Verify Age Plots Tool Dialogue.
2.1.1.10 09-Check Prism/Fixed Match
Purpose- Checks to make sure there is a prism plot for every fixed plot and that there is a fixed plot for each prism plot. This is accomplished by comparing unique sets of plot IDs present for each feature class and populating fields indicating if this relationship holds true. Also checks which fixed plot is closest to each prism plot. If the closest fixed plot does not have the same plot ID as the prism plot then the prism plot is flagged for review.
Code- This ArcGIS tool is built from the Python Script Check Prism/Fixed Match
Parameter | Description | Type | Required |
---|---|---|---|
Prism Plots | Prism plot feature class | Feature Class or Feature Layer | required |
Plot ID | Name of plot ID field | Field | required |
Fixed Plots | Fixed plot feature class | Feature Class or Feature Layer | required |
Plot ID | Name of plot ID field | Field | required |

Figure 2.9: 09 - Check Prism/Fixed Match Tool Dialogue.
2.1.1.11 10-Remove Duplicates
Purpose- Checks for and removes duplicate geometry from prism, fixed, and age plots. Fixed plots are checked for duplicate plot IDs in addition to duplicate geometry.
Code- This ArcGIS tool is built from the Python Script Remove Duplicates
Parameter | Description | Type | Required |
---|---|---|---|
Prism Plots | Prism plot feature class | Feature Class or Feature Layer | required |
Fixed Plots | Fixed plot feature class | Feature Class or Feature Layer | required |
Fixed Plot ID Field | Name of plot ID field | Field | required |
Age Plots | Age plot feature class | Feature Class or Feature Layer | required |

Figure 2.10: 10 - Remove Duplicates Tool Dialogue.