Contour Annotation (Cartography)
Summary
Creates annotation for contour features.
The tool creates an annotation feature class with corresponding mask polygons based on input contour features.
Usage
The output of this tool is a group layer. The group layer will contain the input contour features, the annotation layer, and the mask polygons.
An existing group layer will be overwritten if the same layer name is specified and if you explicitly state that overwriting outputs is allowed.
-
When working in ArcCatalog or ModelBuilder, you can use the Save_To_Layer_File tool to write the output group layer to a layer file. When using ArcMap, the tool adds the group layer to the display if this option is checked in the geoprocessing options. The group layer that is created is temporary and will not persist after the session ends unless the document is saved.
Group layers created in ArcCatalog cannot be used in ArcMap unless they are saved to a layer file using the Save_To_Layer_File tool.
Annotation feature classes will not be overwritten if the tool is run multiple times on a single contour feature class. In this case, a number will be added to the annotation feature class (e.g., ContourAnno, ContourAnno_1, and so on).
Each mask will be created with a two-point margin around the annotation feature and a mask type of exact simplified, meaning that the mask will be a generalized polygon representing the exact shape of the annotation.
There are three choices for the color of the contour layer and output annotation: black, brown, and blue.
Contours that have been created using the Contour With Barriers tool contain a Type field. The Type field contains one or more of the following values:
1 for contours 2 for indexed contours 3 for explicit contours
This Type field can be used as input for the Contour Type Field parameter. A separate annotation class will be created for annotation of each type.
Syntax
Parameter | Explanation | Data Type |
in_features | The contour line feature class for which the annotation will be created. | Feature Layer |
out_geodatabase |
The workspace where the output feature classes will be saved. The workspace can be an existing geodatabase or an existing feature dataset. | Workspace; Feature Dataset |
contour_label_field |
The field in the input layer attribute table upon which the annotation text will be based. | Field |
reference_scale_value |
Enter the scale to use as a reference for the annotation. This sets the scale to which all symbol and text sizes in the annotation will be based. | Double |
out_layer |
The group layer that will contain the contour layer, the annotation, and the mask layer. When working in ArcCatalog, you can use the Save To Layer File tool to write the output group layer to a layer file. When using ArcMap, the tool adds the group layer to the display if this option is checked in the geoprocessing options. The group layer that is created is temporary and will not persist after the session ends unless the document is saved. | Group Layer |
contour_color |
The color of the output contour layer and annotation features.
| String |
contour_type_field (Optional) |
The field in the input layer attribute table containing a value for the type of contour feature. An annotation class will be created for each type value. | Field |
contour_alignment (Optional) |
The annotation can be aligned to the contour elevations so that the top of the text is always placed uphill. This option allows the annotation to be placed upside down. The contour annotation can also be aligned to the page, ensuring that the text is never placed upside down.
| String |
enable_laddering (Optional) | Placing annotation in ladders will place the text so it appears to step up and step down the contours in a straight path. These ladders will run from the top of a hill to the bottom, will not cross each other, will belong to a single slope, and will not cross any other slope.
| Boolean |
Code Sample
The following stand-alone script demonstrates how to use the ContourAnnotation function.
import arcpy
from arcpy import env
env.workspace = "C:/data/data.gdb"
arcpy.ContourAnnotation_cartography("Contours", "C:/data/data.gdb", "Contour", 50000, "ContourGroupLayer", "BLACK",
"", "PAGE", "")
This sample executes the ContourWithBarriers command and uses the output from that tool as input into the ContourAnnotation tool.
# Name: ContourAnnotation_Example2.py
# Description: Create a contour with barriers feature class and then create annotation for the contours.
# Requirements: ArcGIS Spatial Analyst extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/data/data.gdb"
# Set local variables
inRaster = "elevation"
inBarrier = "ridges"
inTextFile = ""
explicitValues = "NO_EXPLICIT_VALUES_ONLY"
contourInterval = 200
indexInterval = 1000
contourList = [1500, 3000]
baseContour = 0
outContours = "C:/data/data.gdb/outcontourwithbarriers"
# Check out the ArcGIS ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ContourWithBarriers
arcpy.sa.ContourWithBarriers(inRaster, outContours, inBarrier, "POLYLINES", inTextFile,
explicitValues, baseContour, contourInterval, indexInterval, contourList, "")
# Set local variables
inFeatures = "C:/data/data.gdb/outcontourwithbarriers"
inWorkspace = "C:/data/data.gdb"
LabelField = "Contour"
RefScaleValue = 50000
outLayer = "Contours"
Color = "BROWN"
TypeField = "Type"
Alignment = "PAGE"
Laddering = "NOT_ENABLE_LADDERING"
# Execute ContourAnnotation
arcpy.ContourAnnotation_cartography(inFeatures, inWorkspace, LabelField, RefScaleValue, outLayer, Color,
TypeField, Alignment, Laddering)