Summary
Creates a new polygon feature class from an existing tiling scheme.
This tool subdivides a map extent using the same scales as an existing map service cache tiling scheme and creates tiles over a large area, or supertile. Since the supertile extent is larger than the actual tiles defined in the scheme, tiles used as input into the Tiled Labels To Annotation tool can convert labels to annotation over a larger area at a time. This process minimizes annotation duplication across tiles.
Usage
There are several options for loading an existing tiling scheme:
- Load a tiling scheme from an online mapping service such as ArcGIS Online, Google Maps, Bing Maps, or Yahoo. These tiling schemes are located under the installation directory of ArcGIS Pro in the Resources\TilingSchemes folder.
- Load a tiling scheme file from an existing map service cache. All map caches have a tiling scheme file, conf.xml, in the cache directory (for example, C:\arcgisserver\arcgiscache\MyService\MyDataFrame\conf.xml).
- Create your own tiling scheme file. For more information, see Available map cache properties in the ArcGIS Server help.
The output feature class from this tool may be used as input in the Tiled Labels To Annotation tool.
For the Clip tiles at the coordinate system horizon parameter, the coordinate system horizon is the valid area of use for a particular geographic or projected coordinate system.
Syntax
arcpy.cartography.MapServerCacheTilingSchemeToPolygons(input_map, tiling_scheme, output_feature_class, use_map_extent, clip_to_horizon, {antialiasing}, {levels})
Parameter | Explanation | Data Type |
input_map | The current map to be used. | Map |
tiling_scheme | Path to a predefined tiling scheme .xml file. | File |
output_feature_class | The output polygon feature class. | Feature Class |
use_map_extent |
Choose whether to produce tiles for the entire extent of the tiling scheme or only tiles that intersect the full extent of the map.
| Boolean |
clip_to_horizon |
Choose whether to constrain the polygons to the valid area of use for the geographic or projected coordinate system of the map.
| Boolean |
antialiasing (Optional) | Choose whether to generate polygons that match map service caches with anti-aliasing enabled. A map service cache supertile is 2048 x 2048 pixels with antialiasing or 4096 x 4096 pixels without. To see if antialiasing was used in an existing cache, open the tiling scheme file, conf.xml, and check to see if the <Antialiasing> tag is set to true.
| Boolean |
levels [level,...] (Optional) | The scale levels at which you will create polygons. To create polygons for all scale levels included in a tiling scheme, leave this parameter blank. You may choose to create polygons for all or only some of the scale levels that are included in your tiling scheme. To add additional scale levels, however, you will need to modify your tiling scheme file or create a new one. | Double |
Code sample
The following stand-alone script demonstrates how to use the MapServerCacheTilingSchemeToPolygons function.
import arcpy
import os
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.MapServerCacheTilingSchemeToPolygons_cartography(
"C:/data/Annotation.mxd", os.path.join(arcpy.GetInstallInfo()['InstallDir'],
'Resources\\TilingSchemes\\WGS84_Geographic_Coordinate_System_V2.xml'),
"Tiles", "USE_MAP_EXTENT", "CLIP_TO_HORIZON", "NONE")
The following script demonstrates a workflow using the MapServerCacheTilingSchemeToPolygons and the TiledLabelsToAnnotation functions.
# Name: MapServerCacheTilingSchemeToPolygons_Example2.py
# Description: Create a tile feature class and use those tiles to create annotation.
# Requirements: ArcGIS Desktop Advanced license
# Import system modules
import arcpy
import os
# Set environment settings
arcpy.env.workspace = "C:/data/data.gdb"
# Set local variables
inMapDocument = "C:/data/Annotation.mxd"
# Change path below to match your system
inTilingScheme = os.path.join(arcpy.GetInstallInfo()['InstallDir'],
'Resources\\TilingSchemes\\ArcGIS_Online_Bing_Maps_Google_Maps.xml'),
outFeatureClass = "C:/data/data.gdb/Tiles"
inTileExtent = "USE_MAP_EXTENT"
inClipping = "CLIP_TO_HORIZON"
inAntialiasing = "NONE"
inScales = ""
# Execute MapServerCacheTilingSchemeToPolygons
arcpy.MapServerCacheTilingSchemeToPolygons_cartography(
inMapDocument, inTilingScheme, outFeatureClass,
inTileExtent, inClipping, inAntialiasing, inScales)
# Set local variables
inMapDocument = "C:/data/Annotation.mxd"
inPolygonIndexLayer = "Tiles"
inOutGeodatabase = "C:/data/data.gdb"
outOutLayer = "GroupAnno"
inAnnoSuffix = "Anno"
inRefScaleValue = ""
inRefScaleField = "Tile_Scale"
inTileIDField = "OID"
inCoordSysField = ""
inMapRotationField = ""
inFeatureLinked = "STANDARD"
inGenerateUnplaced = "GENERATE_UNPLACED_ANNOTATION"
# Execute TiledLabelsToAnnotation
arcpy.TiledLabelsToAnnotation_cartography(
inMapDocument, inPolygonIndexLayer, inOutGeodatabase,
outOutLayer, inAnnoSuffix, inRefScaleValue, inRefScaleField,
inTileIDField, inCoordSysField, inMapRotationField,inFeatureLinked,
inGenerateUnplaced)
Environments
Licensing information
- Basic: Yes
- Standard: Yes
- Advanced: Yes