Oklahoma NG911 Toolkit | Adjustment | Comparison | Enhancement | MSAG | Okprep | Submission | Validation

Supplementary Documentation | Examples | Generate Fishbone Analysis Tool | Topology Rules | Change Log | Error Glossary

Enhancement Toolset

Toolset Credits

Last Revised:

June 15, 2022

Abstract

These tools automate various tasks involved with data creation and perform various checks to enhance the quality of the data.

Tools

Add/Validate NG911 Topology

Script: Enhancement_AddTopology.py

Creates and adds layers and rules to topology and can validate topology. To export topological errors and to account for features with non-null TopoExcept attributes, see Verify Topology Exceptions (Validation) for that functionality.

Usage

  1. Open the tool and provide the path to the NG911 geodatabase.
  2. If desired, select the option to validate the topology.
  3. Run the tool.

Methodology

Assign Unique NENA ID

Script: Enhancement_AssignID.py

Creates a NENA unique ID for features in a feature class. The feature class does NOT have to be Standards-compliant. Can generate new IDs for all input features or just change null IDs. The user may optionally provide a field with existing local unique IDs consisting of numbers, characters, dashes, and curly-braces to be incorporated into the newly-generated NENA IDs, or the user can allow the tool to generate sequential numbers for the NENA IDs. Required field is Agency_ID.

Usage

  1. Select the name type of layer the input data contains.
  2. Provide the feature class containing the features to which a unique ID will be assigned.
  3. Select the name of the field to be used for the unique ID. If the field names are already Standards-compliant, this field's name will begin with NGUID_.
  4. Select the name of the field containing the agency ID. This will be used in calculating the unique ID. If the field names are already Standards-compliant, this field's name will be Agency_ID.
  5. If available, provide a field containing a number (or string representing a number) to be used in the unique ID. If not provided, sequential numbers starting at 1 will be used.
  6. To recalculate unique IDs for all features, select the "Overwrite All Unique IDs" option. To only update features without unique IDs, leave this option unchecked.
  7. Run the tool.

Methodology

Calculate FullName and FullAddr

Script: Enhancement_CalculateFullNameFullAddr.py

Calculates the FullName field of either an address point feature class or the road centerline feature class or FullAddr for the address point feature class. For the FullAddr field, the fields used for the calculation are: AddPre, Address, AddSuf, PreDir, PreMod, PreType, PreTypeSep, Street, StreetType, SufDir, SufMod, BldgName, BldgUnit. For the FullName field, the fields used for the calculation are: PreDir, PreMod, PreType, PreTypeSep, Street, StreetType, SufDir, and SufMod.

Usage

  1. Open the tool and provide either an ADDRESS_POINT or ROAD_CENTERLINE feature class.
  2. If the input feature class is ADDRESS_POINT, the options to calculate either or both of FullName and FullAddr are available. If the input feature class is ROAD_CENTERLINE, only the FullName option is available.

Methodology

Calculate Parity

Script: Enhancement_CalculateParity.py

Calculates the Parity_L and Parity_R fields of a road centerline feature class. The fields used for the calculation are: Add_L_To, Add_L_From, Add_R_To, Add_R_From and NGUID_RDCL. The tool will used the last digit on both sides to determine whether the number is EVEN, ODD, BOTH, or ZERO.

Usage

  1. Open the tool and provide the ROAD_CENTERLINE feature class.
  2. If desired, select "Overwrite Existing" to recalculate the parity for all features, including those where the Parity_L and Parity_R fields are non-null.

Methodology

Check Road ESN Values Uses SUBMIT

Script: Enhancement_CheckRoadESN_Launch.py

Ensures the road centerline Esn_L and Esn_R values match the ESN values of the road’s spatial location. Results will be reported in FieldValuesCheckResults. This tool only produces Notices, not Errors, and therefore its results will not prevent submission. ESZ required fields include NGUID_ESZ, ESN and SUBMIT. Road Centerline required fields include NGUID_RDCL, Esn_L, Esn_R, and SUBMIT. There is an option to run an Advanced License Analysis, which is a faster, more thorough analysis that requires an Advanced License to run.

Usage

  1. Open the tool and provide the path to the NG911 geodatabase.
  2. If desired, select the "Run Advanced License Analysis". This requires an Advanced License.
  3. Run the tool.

Methodology - Regular Analysis

Methodology - Advanced Analysis

Check Road FromLevel ToLevel

Script: Enhancement_CheckRoadElevationDirection.py

Ensures the FromLevel and ToLevel attributes correctly depict the overpass level rise and fall along road segments that are both touching and have the same FullName. Required fields include NGUID_RDCL, Add_L_From, FullName, FromLevel, ToLevel.

Usage

  1. Open the tool and provide the path to the NG911 geodatabase.
  2. Run the tool.

Methodology

Find Address Range Overlaps

Script: Enhancement_FindAddressRangeOverlaps.py

Finds road centerline segments where address ranges overlap. For example, if a segment of a road centerline polyline feature with Add_L_From and Add_L_To values of 900 and 1000, respectively, was adjacent to another segment of the same polyline with an Add_L_From value of 990, this tool would report an overlap. Overlapping address ranges can negatively affect geocoding accuracy. Road Centerline required fields include Parity_L, Parity_R, Add_L_From, Add_L_To, Add_R_From, Add_R_To, MSAGComm_L, MSAGComm_R, GeoMSAG_L, GeoMSAG_R, NGUID_RDCL, SUBMIT, FullName.

Usage

  1. Open the tool and provide the path to the NG911 geodatabase.
  2. Run the tool.

Methodology

Generate Fishbone Analysis

Script: Enhancement_FishboneAnalysis.py

Can be used to generate a "Dirty" Fishbone Analysis for Address Point Verification. The analysis is considered dirty, because the fishbone line shapefile is created without the user performing a quality check on the geocoded data. Ties and non-matches are simply removed from the analysis. This tool should be used as an aid to the QA/QC process and not as a complete quality check of the data. Address Point required fields include City, State, Zipcode, Latitude, Longitude, FullAddr, and all fields used to calculate FullAddr. Road Centerline required fields include Add_L_From, Add_L_To, Add_R_From, Add_R_To, Parity_L, Parity_R, City_L, City_R, County_L,County_R, State_L,State_R, Zipcode_L,Zipcode_R, NGUID_RDCL, FullName, and all fields used to calculate FullName.

Usage & Methodology

See the Supplementary Documentation: Generate Fishbone Analysis Tool.

Geocompare Address Points Uses SUBMIT

Script: Enhancement_GeocodeAddressPoints.py

Compares the address points against the road centerline data and computes the appropriate values for the fields RCLMatch and RCLSide. Address Point required fields include RCLMatch, RCLSide, MSAGComm, NGUID_ADD, SUBMIT, FullAddr, and all fields used to calculate FullAddr. Road Centerline required fields include Add_L_From, Add_L_To, Add_R_From, Add_R_To, Parity_L, Parity_R, MSAGComm_L, MSAGComm_R, NGUID_RDCL, SUBMIT, FullName, and all fields used to calculate FullName.

Usage

  1. Open the tool and provide the path to the NG911 geodatabase.
  2. If desired, select "Update Empty Only" to skip features that already have a non-null RCLMatch attribute.

Methodology

Populate RCLMatch NO_MATCH

Script: Conversion_AP_RCLMATCH_NO_MATCH.py

Requires the RCLMatch field. Populates any blank or null RCLMatch attributes with NO_MATCH. It can optionally also overwrite RCLMatch values of TIES with NO_MATCH.

Usage

  1. Open the tool and provide the path to the NG911 geodatabase.
  2. If desired, select the "Overwrite TIES to NO_MATCH".
  3. Run the tool.

Methodology

Support Contact

For issues or questions, please contact Emma Baker or Riley Baird with the Oklahoma Department of Transportation. Email Emma at ebaker@odot.org or Riley at rbaird@odot.org, and please include in the email which script you were running, any error messages, and a zipped copy of your geodatabase. Change the file extension from zip to piz so it gets through the email server. If there are further data transfer issues, contact Emma or Riley to make alternative data transfer arrangements.

If you have a domain issue to report, please email Emma Baker at ebaker@odot.org. Please indicate what type of domain the issue is with and the values needing corrections.

Disclaimer

The Oklahoma NG9-1-1 GIS Toolbox is provided by the Oklahoma Geographic Information (GI) Council, Oklahoma 9-1-1 Management Authority, Oklahoma Department of Transportation (ODOT), Oklahoma Office of Geographic Information (OGI) , and associated contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the Oklahoma GI Council, Oklahoma 9-1-1 Management Authority, ODOT, OGI, or associated contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.