Generate Annotation Masks (Nautical)
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 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.
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.
The annotation layer from which masks will be created.
Masks are generated for annotations that intersect features in these layers.
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.
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.
Scale used to calculate masking geometry.
The output feature class that will contain the mask features. The tool creates this feature class.
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 for Maritime: Charting # create a feature layer for the annotation features inAnno = "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 = "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="c:/data/nautical.gdb/annoMasks" # execute the GenerateAnnotationMasks tool arcpy.GenerateAnnotationMasks_nautical(inAnnoLayer,intersectLayers,margin,calculationCoordSystem,referenceScale,outputMaskLayer) print 'Successfully created annotation masks in ' + outputMaskLayer