ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Help
  • Sign Out
ArcGIS Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS Desktop

A complete professional GIS

ArcGIS Enterprise

GIS in your enterprise

ArcGIS Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

ArcMap

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • Extensions

Generate Annotation Masks

  • Summary
  • Usage
  • Syntax
  • Code sample
  • Environments
  • Licensing information

Summary

Generates polygon masks for annotation features that intersect other polyline features. This tool supports nautical cartographic workflows that require masking based on geographic coincidence to specified input features. The specified input features (those that intersect the input annotation features) are polylines from the ArcGIS Maritime data model or other sources.

This tool is a model that increases productivity in creating and updating cartographic data for digital and hard-copy nautical charts.

Usage

  • Each layer in Intersecting Layers is used to select intersecting annotation features in Input Annotation Layer. Polygon masks are generated around the selected annotation features.

  • If no features in Input Annotation Layer are selected, Output Mask Layer will be empty.

  • Use a positive number in the Margin parameter. A negative number will create smaller masks in Output Mask Layer. This will diminish the cartographic effect of the mask on your chart.

  • The objectid value of each Input Annotation Layer feature is written to Output Mask Layer.

Syntax

arcpy.nautical.GenerateAnnotationMasks(Input_Annotation_Layer, Intersecting_Layers, Margin, Calculation_coordinate_system, Reference_Scale, Output_Mask_Layer)
ParameterExplanationData Type
Input_Annotation_Layer

The annotation layer from which masks will be created.

Feature Layer
Intersecting_Layers
[Intersecting_Layers,...]

Masks are generated for annotations that intersect features in these layers.

Feature Layer
Margin

Specifies a space, in page units, that surrounds the Input Annotation Layer features used to create the mask polygons. The default value is 1 point.

Linear Unit
Calculation_coordinate_system

The spatial reference of the map in which the masking polygons will be used. This spatial reference is not assigned to the Output Mask Layer.

Spatial Reference
Reference_Scale

Scale used to calculate masking geometry.

Double
Output_Mask_Layer

The output feature class that will contain the mask features. The tool creates this feature class.

Feature Class

Code sample

GenerateAnnotationMasks example (stand-alone script)

The following stand-alone script demonstrates how to use the GenerateAnnotationMasks tool.

# Name: GenerateAnnoMasks_Example.py
# Description: Creates annotation masks around anno features that intersect input polygons.
# Requirements: ArcGIS Maritime

import arcpy

# create a feature layer for the annotation features
inAnno = r'c:\data\nautical.sde\Micklefirth.DBO.Nautical\Micklefirth.DBO.AidsToNavigationPAnno'
res = arcpy.MakeFeatureLayer_management(inAnno,'inAnno')
inAnnoLayer = res.getOutput(0)

# create a list of intersecting layers
intersectLayers = r'c:\data\nautical.sde\Micklefirth.DBO.Nautical\Micklefirth.DBO.DepthsA'

# masking size
margin = "2 points"

# map coordinate system & reference scale
calculationCoordSystem = "GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]];60.8820986300001 -32.55081202 9.90206032915961E+16;-100000 10000;-100000 10000;8.98315284119522E-09;0.001;0.001;IsHighPrecision"
referenceScale=25000

# output Masking layer
outputMaskLayer=r'c:\data\nautical.gdb\annoMasks'

# import the toolbox
arcpy.ImportToolbox(r'C:\Program Files (x86)\ArcGIS\EsriNautical\Desktop10.1\ArcToolbox\Toolboxes\Nautical Tools.tbx')

# execute the GenerateAnnotationMasks tool
arcpy.GenerateAnnotationMasks_nautical(inAnnoLayer,intersectLayers,margin,calculationCoordSystem,referenceScale,outputMaskLayer)

print 'Successfully created annotation masks in ' + outputMaskLayer

Environments

  • Current Workspace

Licensing information

  • Basic: No
  • Standard: No
  • Advanced: Requires ArcGIS Maritime

Related topics

  • An overview of the Cartography toolset

ArcGIS Desktop

  • Home
  • Documentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Tell us what you think.
Copyright © 2021 Esri. | Privacy | Legal