Skip to content

v3_Utility Process Roads for EnviroAtlas Analyses

donebert edited this page Oct 17, 2024 · 9 revisions

Process NAVTEQ for EnviroAtlas Analyses

Summary

Processes road data from ESRI StreetMap, NAVTEQ 2019, and NAVTEQ 2011 structured geodatabases to produce three road feature classes used in the EnviroAtlas community-based metrics:

  • Walkable Roads

  • Roads for Intersection Density Analysis

  • Busy Roads - Interstates, Arterials, and Connectors

Usage

  • NOTE: Enabling the Parallel Processing Factor environment can improve computation time for several ATtILA tools, but we have detected, on rare occasions, doing so can lead to spurious results. As a precaution, ATtILA will disable the Parallel Processing Factor environment for this tool. We hope to return this choice to the user once the impact on operational speed and accuracy of swapping geoprocessing tools with their pairwise counterparts has been assessed.

  • The Version must correspond to the selected Roads geodatabase type.

  • The Roads geodatabase must be an ESRI StreetMap, NAVTEQ 2019, or NAVTEQ 2011 structured geodatabase.

  • For ESRI StreetMap the following feature classes must be present:

    • .gdb\Streets

    • .gdb\MapLandArea\MapLandArea

  • For NAVTEQ 2019 the following feature classes must be present:

    • .gdb\RoutingApplication\Streets

    • .gdb\MapFacilityArea

    • .gdb\MapLanduseArea

    • .gdb\link

  • For NAVTEQ 2011 the following feature classes must be present:

    • .gdb\Streets

    • .gdb\LandUseA

    • .gdb\LandUseB

  • In Output workspace, select the geodatabase or folder where the standard tool outputs are to be stored.

    • Standard outputs:

      • [Filename_prefix]_RdsWalkable - Polyline feature class of walkable roads using procedures and selections as described below.

      • [Filename_prefix]_RdsIntDens - Polyline feature class roads suitable for the Intersection Density tool using procedures and selections as described below.

      • [Filename_prefix]_RdsIAC - Polyline feature class of interstates, arterials, and collectors (i.e., busy roads) using procedures and selections as described below.

      • WARNING: This tool will ignore the geoprocessing's 'Allow geoprocessing tools to overwrite existing datasets' setting and overwrite generated outputs.

      • NOTE: The filename prefix for the standard outputs is obtained from the Filename prefix parameter.

      • NOTE: If the Output workspace is a file folder, new layers will be saved as shapefiles. If the Output workspace is a geodatabase, new layers will be saved as geodatabase feature classes.

  • In Additional Options, the user may elect to 'Record Process Steps Taken During Metric Calculation'.

    • Record Process Steps Taken During Metric Calculation

      • Choosing LOGFILE will generate a text file containing information on system setup, tool inputs, parameter selections, script operations, and any encountered error or warning messages.

      • Log files will be named, [Output table]_[date_time].txt, with the date represented as YYYYMMDD and time as hh_mm_ss.

      • Where the log file is saved is dependent on the Current Workspace environment setting:

        • When the Current Workspace is a geodatabase, the log file will be located in the folder that contains that workspace.

        • When the Current Workspace is a folder, the log file will be located in that folder.

        • NOTE: In ArcGIS Pro, the default value for the Current Workspace environments is the project default geodatabase.

        • NOTE: ATtILA will report the name and location of the log file in the Tool Details' Messages section.

  • Processing steps for Walkable roads:

    • Process {ESRI StreetMap}.gdb\Streets

      • select features where FuncClass < 3 or SpeedCat < 4 Or FerryType<> ‘H’ Or RestrictPedestrians = ‘Y’ Or Ramp = ‘Y’, Or ContrAcc = ‘Y’ Or Tollway = ‘Y’

      • INVERT selection

      • copy remaining selected features to [prefix]_RdsWalkable

    • Process {NAVTEQ 2019}.gdb\RoutingApplication\Streets

      • select features where FuncClass < 3 or SpeedCat < 4 Or FerryType<> ‘H’ Or RestrictPedestrians = ‘Y’ Or Ramp = ‘Y’, Or ContrAcc = ‘Y’ Or Tollway = ‘Y’

      • INVERT selection

      • copy remaining selected features to [prefix]_RdsWalkable

    • Process {NAVTEQ 2011}.gdb\Streets

      • select features where FUNC_CLASS IN (‘1’, ‘2’) o Or SPEED_CAT IN ('1', '2', '3') Or FERRY_TYPE <> ‘H’ Or AR_PEDEST = ‘N’ Or RAMP = ‘Y’, Or CONTRACC = ‘Y’ Or TOLLWAY = ‘Y’

      • INVERT selection

      • copy remaining selected features to [prefix]_RdsWalkable

  • Processing steps for Intersection density roads:

    • Process {ESRI StreetMap}.gdb\Streets

      • select features where FuncClass < 3 or SpeedCat < 4 Or FerryType<> ‘H’ Or RestrictPedestrians = ‘Y’ Or Ramp = ‘Y’, Or ContrAcc = ‘Y’ Or Tollway = ‘Y’

      • INVERT selection

      • remove from the selection features where SpeedCat = 8

      • assign ESRI_StreetMap.gdb\MapLandArea codes to road segments

      • remove roads with no street names from these land use type areas: AIRPORT, AMUSEMENT PARK, BEACH, CEMETERY, HOSPITAL, INDUSTRIAL COMPLEX, MILITARY BASE, RAILYARD, SHOPPING CENTRE, or GOLF COURSE

      • add a MergeClass field

      • set MergeClass field value to an initial value of 1

      • replace MergeClass field value to 0 where DIR_TRAVEL = 'B'

      • convert any multipart roads to singlepart

      • merge divided roads to [prefix]_RdsIntDens using the MergeClass field and a merge distance of '30 Meters'

      • NOTE: Only roads with the same value in the mergeField and within the mergeDistance will be merged. Roads with a MergeClass value equal to zero are locked and will not be merged. All non-merged roads are retained.

    • Process {NAVTEQ 2019}.gdb\RoutingApplication\Streets

      • select features where FuncClass < 3 or SpeedCat < 4 Or FerryType<> ‘H’ Or RestrictPedestrians = ‘Y’ Or Ramp = ‘Y’, Or ContrAcc = ‘Y’ Or Tollway = ‘Y’

      • INVERT selection

      • remove from the selection features where SpeedCat = 8

      • assign Navteq_2019.gdb\LandArea codes to road segments

      • assign Navteq_2019.gdb\FacilityArea codes to road segments

      • remove roads with no street names from these land use type areas: AIRPORT, AMUSEMENT PARK, BEACH, CEMETERY, HOSPITAL, INDUSTRIAL COMPLEX, MILITARY BASE, RAILYARD, SHOPPING CENTRE, or GOLF COURSE

      • add a MergeClass field

      • set MergeClass field value to an initial value of 1

      • replace MergeClass field value to 0 where DIR_TRAVEL = 'B'

      • convert any multipart roads to singlepart

      • merge divided roads to [prefix]_RdsIntDens using the MergeClass field and a merge distance of '30 Meters'

    • Process {NAVTEQ 2011}.gdb\Streets

      • select features where FUNC_CLASS IN (‘1’, ‘2’) Or SPEED_CAT IN ('1', '2', '3') Or FERRY_TYPE <> ‘H’ Or AR_PEDEST = ‘N’ Or RAMP = ‘Y’, Or CONTRACC = ‘Y’ Or TOLLWAY = ‘Y’

      • INVERT selection

      • remove from the selection features where "SPEED_CAT IN ('8')

      • assign Navteq_2011.gdb\landUseA codes to road segments

      • assign Navteq_2011.gdb\landUseB codes to road segments

      • remove roads with no street names from these land use type areas: AIRPORT, AMUSEMENT PARK, BEACH, CEMETERY, HOSPITAL, INDUSTRIAL COMPLEX, MILITARY BASE, RAILYARD, SHOPPING CENTRE, or GOLF COURSE

      • add a MergeClass field

      • set MergeClass field value to an initial value of 1

      • replace MergeClass field value to 0 where DIR_TRAVEL = 'B'

      • convert any multipart roads to singlepart

      • merge divided roads to [prefix]_RdsIntDens using the MergeClass field and a merge distance of '30 Meters'

  • Processing steps for Interstates, arterials, and collectors:

    • Process {ESRI StreetMap}.gdb\Streets

      • select features where FuncClass <=4

      • remove from the selection features where FERRY_TYPE <> H

      • copy remaining selected features to [prefix]_RdsIAC

      • add field, LANES, to [prefix]_RdsIAC. Calculating its value as TO_LANES + FROM_LANES

      • replace LANES field value to 2 for features where LANES field = 0

      • NOTE: The user can locate and change these records with the following query: TO_LANES = 0 And FROM_LANES = 0

    • Process {NAVTEQ 2019}.gdb\RoutingApplication\Streets

      • select features where FuncClass <=4

      • remove from the selection features where FERRY_TYPE <> H

      • copy remaining selected features to [prefix]_RdsIAC

      • add field, LANES, to [prefix]_RdsIAC. Calculating its value as TO_LANES + FROM_LANES

      • replace LANES field value to 2 for features where LANES field = 0

    • Process {NAVTEQ 2011}.gdb\Streets

      • select features where FUNC_CLASS = 1, 2, 3, or 4

      • remove from the selection features where FERRY_TYPE <> H

      • copy remaining selected features to [prefix]_RdsIAC

      • add field, LANES, to [prefix]_RdsIAC. Calculating its value as TO_LANES + FROM_LANES

      • replace LANES field value to 2 for features where LANES field = 0

Syntax

PRFEA (Version, Roads_geodatabase, {Walkable_roads}, {Intersection_density_roads}, {Interstates_arterials_and_collectors}, Output_workspace, Filename_prefix, {Select_options})

Parameter Explanation Data Type
Version The version of the Roads geodatabase selected for processing. Must correspond to the selected Roads geodatabase.

For ESRI StreetMap the following feature classes must be present:
  • .gdb\Streets
  • .gdb\MapLandArea\MapLandArea
For NAVTEQ 2019 the following feature classes must be present:
  • .gdb\RoutingApplication\Streets
  • .gdb\MapFacilityArea
  • .gdb\MapLanduseArea
  • .gdb\link
For NAVTEQ 2011 the following feature classes must be present:
  • .gdb\Streets
  • ,gdb\LandUseA
  • .gdb\LandUseB
String
Roads_geodatabase The path to the geodatabase. Workspace
Walkable_roads (Optional) Specifies whether the Walkable Roads feature class will be generated.
  • false - Walkable Roads feature class will not be output. This is the default.
  • true - Walkable Roads feature class will be output.
Boolean
Intersection_density_roads (Optional) Specifies whether the Intersection Density Roads feature class will be generated.

  • false - Intersection Density Roads feature class will not be output. This is the default.
  • true - Intersection Density Roads feature class will be output.
Boolean
Interstates,_arterials,_and_collectors (Optional) Specifies whether the Interstate, Arterial, and Collector Roads feature class will be generated.

  • false - Interstate, Arterial, and Collector Roads feature class will not be output. This is the default.
  • true - Interstate, Arterial, and Collector Roads feature class will be output.
Boolean
Output_workspace The path to the Output workspace.

If the Output workspace is a file folder, new layers will be saved as shapefiles. If the Output workspace is a geodatabase, new layers will be saved as geodatabase feature classes.
Workspace
Filename_prefix A character string used as the file name prefix for all output feature classes. String
Select_options (Optional) Tool options available to provide additional information:

  • Record Process Steps Taken During Metric Calculation - Saves a log file containing information on tool inputs, selections, and operations.
Multiple Value

Code Samples

Process Roads for EnviroAtlas Analyses example 1 (Python window)

This example creates a Walkable Roads feature class and a Roads for Intersection Density feature class to be used in the Intersection Density tool. The option to generate a log file has also been selected.

import arcpy
arcpy.ImportToolbox(r"D:\Destination Folder\ATtILA v3.tbx")

Version="NAVTEQ 2019",
Roads_geodatabase=r"D:\pyexamples\NAVTEQ2019.gdb",
Walkable_roads=True,
Intersection_density_roads=False,
Interstates_arterials_and_collectors=True,
Output_workspace=r"D:\pyexamples\results.gdb",
Filename_prefix="Roads",
Select_options="'LOGFILE  -  Record Process Steps Taken During Metric Calculation'"

arcpy.ATtILA.PRFEA(Version="NAVTEQ 2019",
                   Roads_geodatabase=r"D:\pyexamples\NAVTEQ2019.gdb",
                   Walkable_roads=True,
                   Intersection_density_roads=True,
                   Interstates_arterials_and_collectors=False,
                   Output_workspace=r"D:\pyexamples\results.gdb",
                   Filename_prefix="NAVTEQ_2019",
                   Select_options="'LOGFILE  -  Record Process Steps Taken During Metric Calculation'")

Process Roads for EnviroAtlas Analyses example 2 (Tool Details Messages)

This is a sample capture of the geoprocessing messages generated during a typical tool run. It is provided here to assist in the understanding of the tool's processing steps.


Created log file: C:\...\Profile\Documents\ArcGIS\Projects\Rds_2019_YYYYMMDD_hh-mm-ss.txt
Started: Time: YYYY-MM-DD hh:mm:ss Setting up initial environment variables
[Time: YYYY-MM-DD hh:mm:ss] Creating feature layer from D:\pyexamples\NAVTEQ2019.gdb\Streets
[Time: YYYY-MM-DD hh:mm:ss] Processing walkable roads
[Time: YYYY-MM-DD hh:mm:ss] Selecting and removing features where FuncClass < 3; SpeedCat < 4; RestrictPedestrians = 'Y'; FerryType <> 'H'; Ramp = 'Y'; ContrAcc = 'Y'; TollWay = 'Y'
[Time: YYYY-MM-DD hh:mm:ss] Saving selected features to: NAVTEQ_2019_RdsWalkable
[Time: YYYY-MM-DD hh:mm:ss] Continuing with the selected features for processing intersection density roads
[Time: YYYY-MM-DD hh:mm:ss] Removing from the selection features where SpeedCat = 8
[Time: YYYY-MM-DD hh:mm:ss] Assigning landArea codes to road segments
[Time: YYYY-MM-DD hh:mm:ss] Assigning FacilityArea codes to road segments
[Time: YYYY-MM-DD hh:mm:ss] Transferring values from FEATURE_TYPE_1 to FEATURE_TYPE
[Time: YYYY-MM-DD hh:mm:ss] Removing roads with no street names from the following land use type areas: AIRPORT, AMUSEMENT PARK, BEACH, CEMETERY, HOSPITAL, INDUSTRIAL COMPLEX, MILITARY BASE, RAILYARD, SHOPPING CENTER, or GOLF COURSE
[Time: YYYY-MM-DD hh:mm:ss] Adding a MergeClass field
[Time: YYYY-MM-DD hh:mm:ss] Setting MergeClass to an initial value of 1
[Time: YYYY-MM-DD hh:mm:ss] Replacing MergeClass value to 0 for rows where DirTravel = 'B'
[Time: YYYY-MM-DD hh:mm:ss] Converting any multipart roads to singlepart
[Time: YYYY-MM-DD hh:mm:ss] Merging divided roads to NAVTEQ_2019_RdsIntDens using the MergeClass field and a merge distance of '30 Meters'. Only roads with the same value in the mergeField and within the mergeDistance will be merged. Roads with a MergeClass value equal to zero are locked and will not be merged. All non-merged roads are retained.
[Time: YYYY-MM-DD hh:mm:ss] Finished processing NAVTEQ_2019_RdsIntDens
Adding output(s) to Map view
Adding NAVTEQ_2019_RdsWalkable to Map view
Adding NAVTEQ_2019_RdsIntDens to Map view
Log file closed
Succeeded at Day, Month DD, YYYY hh:mm:ss AM/PM (Elapsed Time: ##.## units)

Tags

There are no tags for this item.

Credits

Use limitations

There are no access and use limitations for this item.


arrow_up Top of the page     |     arrow_left Process NHD for EnviroAtlas Analyses     |     arrow_right Land Cover Classification


Table of contents

Clone this wiki locally