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})
Parameter | Explanation | Data 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.
| 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.
| 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
Name | Explanation | Data Type |
out_feature_dataset | The feature dataset with updated EGB feature classes. | Feature Dataset |
Code sample
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
Licensing information
- Basic: No
- Standard: No
- Advanced: Requires Production Mapping and ArcGIS Spatial Analyst extension