描述
基于现有切片方案创建新面要素类。
此工具使用与现有地图服务缓存切片方案相同的比例对数据框范围进行细分,并在较大区域上创建切片或创建超级切片。 由于超级切片范围大于方案中所定义的实际切片,切片标注转注记工具使用切片作为输入,一次可在更大区域上将标注转换为注记。 此过程将各切片间注记重复的可能性降至最低。
使用方法
可以使用几种不同的方法来加载现有切片方案:
- 加载来自在线地图服务(如 ArcGIS Online、Google Maps、Bing Maps 或 Yahoo 等等)的切片方案。 这些切片方案将保存在 ArcGIS Desktop 安装目录下的 TilingSchemes 文件夹中。
- 加载来自现有地图服务缓存的切片方案文件。 所有地图缓存在缓存目录中都有一个切片方案文件 conf.xml(例如 C:\arcgisserver\arcgiscache\MyService\MyDataFrame\conf.xml)。
- 创建自定义切片方案文件。 有关详细信息,请参阅 ArcGIS Server 帮助中的可用的地图缓存属性。
此工具的输出要素类可用作切片标注转注记工具的输入。
对于在坐标系视域内裁剪切片参数,坐标系视域是特定地理坐标系或投影坐标系的有效使用区域。
语法
arcpy.cartography.MapServerCacheTilingSchemeToPolygons(map_document, data_frame, tiling_scheme, output_feature_class, use_map_extent, clip_to_horizon, {antialiasing}, {levels})
参数 | 说明 | 数据类型 |
map_document | 源地图文档。 | ArcMap Document |
data_frame | 源地图文档中的数据框。 | String |
tiling_scheme | 预定义切片方案 .xml 文件。 | File |
output_feature_class | 输出面要素类。 | Feature Class |
use_map_extent | 指定是要为切片方案的整个范围创建面要素还是仅生成与数据框整个范围相交的切片。
| Boolean |
clip_to_horizon | 指定是否将面限制到数据框的地理坐标系或投影坐标系的有效使用区域内。
| Boolean |
antialiasing (可选) | 指定是否生成与启用了抗锯齿功能的地图服务缓存相匹配的面。 启用抗锯齿功能的地图服务缓存超级切片为 2048 x 2048 像素,而未启用抗锯齿功能的超级切片为 4096 x 4096 像素。 要查看现有缓存中是否启用了抗锯齿功能,请打开切片方案文件 conf.xml 并查看 <Antialiasing> 标记是否已设置为 true。
| Boolean |
levels [level,...] (可选) | 创建面时使用的比例级别。 要使用切片方案中包含的所有比例级别创建面,请将此参数留空。 可以使用切片方案中所包含的全部或部分比例级别来创建面。 要添加更多比例级别,必须修改切片方案文件或创建新的切片方案文件。 | Double |
代码示例
MapServerCacheTilingSchemeToPolygons 示例 1(Python 窗口)
以下独立脚本演示了如何使用 MapServerCacheTilingSchemeToPolygons 函数。
import arcpy
import os
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.MapServerCacheTilingSchemeToPolygons_cartography(
"C:/data/Annotation.mxd", "Layers",
os.path.join(arcpy.GetInstallInfo()['InstallDir'],
'TilingSchemes\\ArcGIS_Online_Bing_Maps_Google_Maps.xml')
"Tiles", "USE_MAP_EXTENT", "CLIP_TO_HORIZON", "NONE")
MapServerCacheTilingSchemeToPolygons 示例 2(工作流脚本)
以下脚本演示了使用 MapServerCacheTilingSchemeToPolygons 函数和 TiledLabelsToAnnotation 函数的工作流。
# 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
# Set environment settings
arcpy.env.workspace = "C:/data/data.gdb"
# Set local variables
inMapDocument = "C:/data/Annotation.mxd"
inDataFrame = "Layers"
# Change path below to match your system
inTilingScheme = os.path.join(arcpy.GetInstallInfo()['InstallDir'],
'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, inDataFrame, inTilingScheme, outFeatureClass,
inTileExtent, inClipping, inAntialiasing, inScales)
# Set local variables
inMapDocument = "C:/data/Annotation.mxd"
inDataFrame = "Layers"
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, inDataFrame, inPolygonIndexLayer, inOutGeodatabase,
outOutLayer, inAnnoSuffix, inRefScaleValue, inRefScaleField,
inTileIDField, inCoordSysField, inMapRotationField,inFeatureLinked,
inGenerateUnplaced)
环境
此工具不使用任何地理处理环境。
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是