Thin Spot Heights (Topographic Production)


Generalizes spot heights for a given area of interest in accordance with product specifications.


  • The input features for this tool are typically outputs of the Generate Spot Heights tool. Use this tool when Generate Spot Heights generates more spot heights than desired for cartographic purposes.

  • This tool does not generate new output. It assigns values in the Invisibility Field of the input feature class to identify extraneous features for removal from a view. The result will be a simplified, representative collection of spot heights.

  • The input must have an Invisibility Field that will be updated by this tool.

  • The input must have an elevation field that accurately represents the elevation of the spot heights. The elevation field must exist so that the tool can determine the high and low spots. The measurement unit of elevation is not required for this tool.


ThinSpotHeights(in_features, area_of_interest, elevation_field, invisibility_field, {high_low_spots}, {search_distance}, {max_spots}, {input_contours}, {contour_code_field}, {depression_code_value})
ParameterExplanationData Type

A point feature layer or feature class representing the spot heights for a given area of interest.

Feature Layer

The selected feature in the area of interest (AOI) that is used to identify input features to process. There should be one and only one selected AOI.


The elevation field in Input Features to use for the spot height.


The field where the visibility attribute will be written.


The field that will be used to identify the highest and lowest spots.


The minimum distance between spot heights. For example, if the search distance is 3,000 meters, there will be at least 3,000 meters between a chosen spot height and the next chosen spot height. The default value will be 1,300 meters, as this is the optimal value for 50K sheets.

Linear Unit

The number of spot heights will not exceed this number.


Input contours used to identify if point features are in depressions or tops.

Feature Layer

The field in the database that contains the domain value for index contour, intermediate contour, depression contour, and depression intermediate contour. It is a string value of the field, such as HQC.


Used to identify depression code values. A depression refers to an elevation completely surrounded by higher-elevation contour lines.


Derived Output

NameExplanationData Type

Features that have been thinned based on input criteria.

Feature Layer

Code sample

ThinSpotHeights example (stand-alone script)

The following code sample uses the ThinSpotHeights tool to thin the spot heights that have been created for cartographic display.

# Name:
# Description: This tool is thinning the spot heights that have been created for cartographic display

# Import System Modules
import arcpy
import os

# Check Out Extensions

# Setting the environment
arcpy.env.overwriteOutput = True

# Setting Local Variables
input_database =r'C:\Data\MGCP_TRD_4_4.gdb'
input_elevation_features = os.path.join(input_database, r'MGCP_Delta\ElevP')
input_contour_features = os.path.join(input_database, r'MGCP_Delta\ContourL')
index = r'C:\Data\MapIndex.gdb\MapIndex\TM50_Index'

# Making a feature layer from the Area of Interest features, and selecting a single feature based on the NRN field, 'AOI_Index')'AOI_Index', 'NEW_SELECTION', "NRN = 'V795X16573'")

# Calling the Thin Spot Heights to thin the spots for cartographic display
arcpy.topographic.ThinSpotHeights(input_elevation_features, "AOI_Index", "ZVH", "IS_VISIBLE", "TXT", "1300 Meters", None, input_contour_features, "HQC", "5;6;22")

# Getting all messages, warnings, and errors from the tool run and printing the results back to the user
messages = arcpy.GetMessages(0)
warnings = arcpy.GetMessages(1)
errors = arcpy.GetMessages(2)
arcpy.AddMessage('Tool Messages: {messages}\nTool Warnings: {warnings}\nTool Errors{errors}\n')

# Check In Extensions


This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: No
  • Advanced: Requires Production Mapping

Related topics