Generate Elevation Guide Features (Topographic Production)

Summary

Creates data required for an elevation guide diagram surround element as required by various supported map product specifications. This tool leverages existing banding and thinning tools to generate output elevation band features, spot height features, and hydrology features.

Usage

  • The tool will create, at a minimum, the following feature classes in the target feature dataset:

    • EGB_BANDS_A
    • EGB_BANDS_L
    • EGB_COAST_L

    If input hydrology line or input hydrology area features are provided, the tool will create the EGB_HYDRO_A and EGB_HYDRO_L feature classes as required with a selection of thinned hydro features as determined by the Minimum Hydro Length and Minimum Hydro Area parameters.

    If input spot height features are provided, the tool will also create the EGB_SPOTS_P feature class and will populate this feature class with a selection of thinned spot heights based on the provided search distance.

    These feature classes will manage elevations bands and coastlines in a common format that can be used by product templates to preconfigure layers and required symbology for the elevation guide diagram.

  • The symbology for the elevation band features is intended to be separated between the band areas and lines to better support elevation band line masking requirements for overlapping spot height annotation.

  • The coastline features will only be generated if a set of hydro exclusion features are available when processing the elevation bands. Without these features, no hydro features will be created by the banding tools to identify the coastline as the AOI will be assumed to be 100 percent land.

  • If more than one input raster is used, all input rasters must have the same cell size, band count, and pixel type. All input rasters should also use the same elevation units (meters or feet).

Syntax

arcpy.topographic.GenerateElevationGuideFeatures(in_feature_dataset, area_of_interest, in_rasters, {hydro_exclusion_features}, {spot_height_features}, {hydro_line_features}, {hydro_area_features}, {contour_interval}, {bands_minarea}, {smooth_tolerance}, {number_of_bands}, {height_field}, {search_distance}, {hydroline_minlength}, {hydroline_minspacing}, {hydroarea_minlength}, {hydroarea_minwidth})
ParameterExplanationData Type
in_feature_dataset

An existing feature dataset that will contain the EGB feature classes. Data created for the elevation guide box is maintained in these feature classes in this feature dataset.

Feature Dataset
area_of_interest

A feature layer with a single selected feature that defines a processing extent for banding operations and a clipping extent for spot heights, input hydro areas, and lines.

Layer
in_rasters
[in_rasters,...]

One or more rasters used to create elevation bands and supply elevation values to features created by the tool.

Raster Layer; Mosaic Layer
hydro_exclusion_features
(Optional)

A feature layer that defines a large water body area to exclude from the elevation band area computation.

Feature Layer
spot_height_features
(Optional)

Feature layer or class that contains spot heights.

Feature Layer
hydro_line_features
[hydro_line_features,...]
(Optional)

Hydrology line features used to generate the output of a thinned hydrology dataset. Only the output features are generalized through this thinning process.

Feature Layer
hydro_area_features
[hydro_area_features,...]
(Optional)

Hydrology area features used to generate the thinned hydrology dataset. Only the output features are generalized through this thinning process.

Feature Layer
contour_interval
(Optional)

The contour interval used to determine the closest available contour when calculating the elevation band area. Elevation bands are created with their limits aligned to the chosen contour interval, except low and high values, which will represent their actual calculated values.

  • 10A contour interval of 10.
  • 20A contour interval of 20. This is the default.
  • 40A contour interval of 40.
  • 80A contour interval of 80.
Long
bands_minarea
(Optional)

The minimum area for output polygons. Features smaller than this value will be removed. The default is 0.00016 square decimal degrees.

Note:

If you are creating an output dataset with a projected coordinate system, this value should reflect the square units of that coordinate system—for example, square meters for a UTM dataset. Otherwise, the default value may result in an empty output dataset.

Double
smooth_tolerance
(Optional)

The tolerance used by the smoothing algorithm. The larger the value, the more generalized the output band features. The default is 0.002 decimal degrees.

Linear Unit
number_of_bands
(Optional)

The number of elevation bands generated by the tool.

  • 1One elevation band will be generated.
  • 2Two elevation bands will be generated.
  • 3Three elevation bands will be generated.
  • 4Four elevation bands will be generated.
Long
height_field
(Optional)

The field that identifies the elevation values of the spot height features. It is these values that will be evaluated during the thinning process.

Field
search_distance
(Optional)

The minimum distance between spot heights. The default is 0 Meters.

Linear Unit
hydroline_minlength
(Optional)

The minimum length used to eliminate hydrographic features. The tool will thin hydro features that have a length less than this number. This value is used when generalizing Input Hydro Lines and Areas.

Linear Unit
hydroline_minspacing
(Optional)

Indicates the shortest distance between a hydrographic segment that is sensible to display at the output scale. If the spacing between two parallel trending features is smaller than this value, one of the features will be set as invisible. It defines a sense of the density of the resulting thinned hydrography. It should correspond to the distance between two parallel trending features that is visually significant to include at the final scale. When the density of features is too high (that is, the features are too closely spaced), at least one feature will be hidden. This can result in important features or features longer than the hydroline_minlength being hidden.

Linear Unit
hydroarea_minlength
(Optional)

The length used to split and classify hydrographic polygons as short or long. Polygons will be split at any location where the edge-to-edge distance is equal to the hydroarea_minlength.

Linear Unit
hydroarea_minwidth
(Optional)

The width used to split and classify hydrographic polygons as narrow or wide. Polygons will be split at any location where the edge-to-edge distance is equal to the hydroarea_minwidth.

Linear Unit

Derived Output

NameExplanationData Type
out_feature_dataset

The feature dataset with updated EGB feature classes.

Feature Dataset

Code sample

GenerateElevationGuideFeatures example (stand-alone script)

This Python stand-alone sample creates a dataset in a file geodatabase and also creates the Elevation Guide Data features in the dataset.

# Name: GenerateElevationGuideFeatures_sample.py
# Description: Creating a dataset in a file geodatabase, and creating the Elevation Guide Data features in that dataset

# Import System Modules
import arcpy

# Check Out Extensions
arcpy.CheckOutExtension('Foundation')
arcpy.CheckOutExtension('Spatial')

# Setting the environment
arcpy.env.overwriteOutput = True

# Setting Local Variables
input_database = r'C:\ProProjects\Random\ElevationGuideData.gdb'
aoi = r'C:\Data\MapIndex.gdb\MapIndex\TLM50_Index'
raster = r'C:\Data\Rasters\Monterey.dt2'
hydro_exclusion = r'C:\Data\MGCP_TRD_4_4.gdb\MGCP\CoastA'
spot_features = r'C:\Data\MGCP_TRD_4_4.gdb\MGCP_Delta\ElevP'
hydro_lines = r'C:\Data\MGCP_TRD_4_4.gdb\MGCP\WatrcrsL'
hydro_areas = r'C:\Data\MGCP_TRD_4_4.gdb\MGCP\WatrcrsA'

# Getting spatial reference from spot features database
desc = arcpy.Describe(spot_features)
sr = desc.spatialReference

# Creating a dataset in the input database
input_dataset = arcpy.management.CreateFeatureDataset(input_database, 'CARTO', sr).getOutput(0)

# Making a feature layer from the Area of Interest features, and selecting a single feature based on the NRN field
arcpy.management.MakeFeatureLayer(aoi, 'AOI_Index')
arcpy.management.SelectLayerByAttribute('AOI_Index', 'NEW_SELECTION', "NRN = 'V795X16573'")

# Creating feature layers for spot and hydro features
arcpy.management. MakeFeatureLayer(hydro_exclusion, 'CoastA')
arcpy.management.MakeFeatureLayer(spot_features, 'ElevP')
arcpy.management.MakeFeatureLayer(hydro_lines, 'WatrcrsL')
arcpy.management.MakeFeatureLayer(hydro_areas, 'WatrcrsA')

# Calling the Generate Elevation Guide Features tool to create the elevation guide data over Monterey
arcpy.topographic.GenerateElevationGuideFeatures(input_dataset, 'AOI_Index', raster, 'CoastA', 'ElevP', 'WatrcrsL',
                                                 'WatrcrsA', '20', '#', '#', '#', 'zvh', '600 METERS',
                                                 '50 METERS', '50 METERS', '50 METERS', '50 METERS')

# Check In Extensions
arcpy.CheckInExtension('Foundation')
arcpy.CheckInExtension('Spatial')

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: No
  • Advanced: Requires Production Mapping and ArcGIS Spatial Analyst extension

Related topics