Generate Annotation Masks (Nautical)
Summary
Generates polygon masks for annotation features that intersect other polygon 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) can be polygons or polylines from the ArcGIS for Maritime: Charting 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
Parameter | Explanation | Data 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
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: Esri Nautical Solution
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