how could I do the following steps with arcpy:

  1. right-click on the layer with the features
  2. Label Features
  3. Convert Labels to Annotations ...

The annotions should be saved in a new shapefile.

How could I do this in python?

  • The shapefile format does not support annotation. Are you looking to save them in a file geodatabase as annotations or in a point shapefile with text, angle, level, height, and symbol attributes?
    – PolyGeo
    Jul 24, 2011 at 23:06

3 Answers 3


You can use the Tiled Labels To Annotation Geoprocessing tool.

import arcpy

# Settings
scale = "30000"  
folder = "D:\Temp\LBL.gdb"  
arcpy.env.workspace = folder  

# Mapdocument
map = r"D:\Temp\MAP-LBL.mxd"  

# Local variables:
dataFrame = "Layer"  
grid = "Grid"  
group = "Group"  
suffix = "Anno"  
fid = "tile"  
link = "STANDARD"  # not linked = "STANDARD" / linked = "FEATURE_LINKED"   

# Process: Tiled Labels To Annotation
arcpy.TiledLabelsToAnnotation_cartography(map, dataFrame, grid, folder, group, suffix, scale, "", fid, "", "", link, unplace)

Below is a similar question to yours that was answered on this site.

Creating labels based on attribute field in shapefile with Arcpy?

  • 1
    There is nothing in this post about Annotation, only labeling features.
    – klewis
    Jun 26, 2014 at 21:36

You can enable labels through use of the LabelClass class in arcpy's mapping module, but I am not aware of a method for creating annotations in python. Hopefully this will be added as ESRI continues to improve arcpy functionality and integration.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.