地图服务器缓存切片方案转换为面 (制图)

摘要

基于现有切片方案创建面要素类。

此工具使用与现有地图服务缓存切片方案相同的比例对地图范围进行细分,并在较大区域上创建切片或创建超级切片。 由于超级切片范围大于切片方案中所定义的实际切片,分块标注转注记工具使用切片作为输入,一次可在更大区域上将标注转换为注记。 此过程将各切片间注记重复的可能性降至最低。

使用情况

  • 以下选项可用于加载现有切片方案:

    • 加载来自在线地图服务(如 ArcGIS OnlineGoogle MapsBing Maps 或 Yahoo 等等)的切片方案。 这些切片方案将保存在 ArcGIS Pro 安装目录下的 Resources\TilingSchemes 文件夹中。
    • 加载来自现有地图服务缓存的切片方案文件。 所有地图缓存在缓存目录(例如 C:\arcgisserver\arcgiscache\MyService\MyDataFrame\conf.xml)中都有一个切片方案文件(例如 conf.xml)。
    • 也可使用生成地图服务器缓存切片方案工具创建一个切片方案文件。

  • 此工具的输出要素类可用作分块标注转注记工具的输入。

  • 对于在坐标系视域内裁剪切片参数,坐标系视域是特定地理坐标系或投影坐标系的有效使用区域。

参数

标注说明数据类型
输入地图

当前地图以及将使用的范围。

Map
切片方案

预定义切片方案 .xml 文件。

File
输出要素类

输出面要素类。

Feature Class
生成与地图范围相交的面

指定是要为切片方案的整个范围创建面要素还是仅生成与地图全图范围相交的切片。

  • 选中 - 将为地图的全图范围创建面要素。 这是默认设置。
  • 未选中 - 将为切片方案的全图范围创建面要素。
Boolean
按照坐标系视域裁剪切片

指定是否将面限制到地图的地理坐标系或投影坐标系的有效使用区域内。

  • 选中 - 仅在地图的地理坐标系或投影坐标系的有效使用区域内创建面要素。 位于切片方案范围内但位于坐标系视域范围外的切片将被裁剪。 这是默认设置。
  • 未选中 - 将为切片方案的全图范围创建面要素。 在每个比例级别内,面将具有相同的大小,且不会在坐标系视域中被裁剪。 这可能会在地理坐标系或投影坐标系的有效使用区域之外创建数据。 如果使用切片方案中的某一比例将生成大于要素类的空间域的切片,则将为该要素创建空几何。
Boolean
生成与启用了抗锯齿功能的地图服务缓存相匹配的面。
(可选)

指定是否生成与启用了抗锯齿功能的地图服务缓存相匹配的面。 启用抗锯齿功能的地图服务缓存超级切片为 2048 x 2048 像素,而未启用抗锯齿功能的超级切片为 4096 x 4096 像素。 要确认现有缓存中是否启用了抗锯齿功能,请打开切片方案文件 conf.xml 并查看 <Antialiasing> 标记是否已设置为 true。

  • 选中 - 将生成与启用了抗锯齿功能的地图服务缓存的超级切片范围相匹配的面切片。
  • 未选中 - 将生成与未启用抗锯齿功能的地图服务缓存的超级切片范围相匹配的面切片。 这是默认设置。
Boolean
比例
(可选)

创建面时使用的比例级别。 这些比例级别将根据输入切片方案中的比例级别自动进行填充。 可以使用切片方案中所包含的全部或部分比例级别来创建面。 但是,由于此工具的添加值按钮不可用,要添加更多比例级别,必须修改切片方案文件或创建新的切片方案文件。

Double

arcpy.cartography.MapServerCacheTilingSchemeToPolygons(input_map, tiling_scheme, output_feature_class, use_map_extent, clip_to_horizon, {antialiasing}, {levels})
名称说明数据类型
input_map

当前地图以及将使用的范围。

Map
tiling_scheme

预定义切片方案 .xml 文件。

File
output_feature_class

输出面要素类。

Feature Class
use_map_extent

指定是要为切片方案的整个范围创建面要素还是仅生成与地图全图范围相交的切片。

  • USE_MAP_EXTENT将为地图的全图范围创建面要素。 这是默认设置。
  • FULL_TILING_SCHEME为切片方案的全图范围创建面要素。
Boolean
clip_to_horizon

指定是否将面限制到地图的地理坐标系或投影坐标系的有效使用区域内。

  • CLIP_TO_HORIZON仅在地图的地理坐标系或投影坐标系的有效使用区域内创建面要素。 位于切片方案范围内但位于坐标系视域范围外的切片将被裁剪。 这是默认设置。
  • UNIFORM_TILE_SIZE为切片方案的全图范围创建面要素。 在每个比例级别内,面将具有相同的大小,且不会在坐标系视域中被裁剪。 这可能会在地理坐标系或投影坐标系的有效使用区域之外创建数据。 如果使用切片方案中的某一比例将生成大于要素类的空间域的切片,则将为该要素创建空几何。
Boolean
antialiasing
(可选)

指定是否生成与启用了抗锯齿功能的地图服务缓存相匹配的面。 启用抗锯齿功能的地图服务缓存超级切片为 2048 x 2048 像素,而未启用抗锯齿功能的超级切片为 4096 x 4096 像素。 要确认现有缓存中是否启用了抗锯齿功能,请打开切片方案文件 conf.xml 并查看 <Antialiasing> 标记是否已设置为 true。

  • ANTIALIASING将生成与启用了抗锯齿功能的地图服务缓存的超级切片范围相匹配的面切片。
  • NONE将生成与未启用抗锯齿功能的地图服务缓存的超级切片范围相匹配的面切片。 这是默认设置。
Boolean
levels
[level,...]
(可选)

创建面时使用的比例级别。 要使用切片方案中包含的所有比例级别创建面,请将此参数留空。 可以使用切片方案中所包含的全部或部分比例级别来创建面。 要添加更多比例级别,必须修改切片方案文件或创建新的切片方案文件。

Double

代码示例

MapServerCacheTilingSchemeToPolygons 示例 1(Python 窗口)

以下独立脚本演示了如何使用 MapServerCacheTilingSchemeToPolygons 函数。


import arcpy
import os

arcpy.env.workspace = "C:/data/data.gdb"
arcpy.cartography.MapServerCacheTilingSchemeToPolygons(
      "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")
MapServerCacheTilingSchemeToPolygons 示例 2(工作流脚本)

以下脚本演示了使用 MapServerCacheTilingSchemeToPolygons 函数和 TiledLabelsToAnnotation 函数的工作流。

# Name: MapServerCacheTilingSchemeToPolygons_Example2.py
# Description: Create a tile feature class and use those tiles to create annotation.

# 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 = ""

# Run MapServerCacheTilingSchemeToPolygons
arcpy.cartography.MapServerCacheTilingSchemeToPolygons(
    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"

# Run TiledLabelsToAnnotation
arcpy.cartography.TiledLabelsToAnnotation(
    inMapDocument, inPolygonIndexLayer, inOutGeodatabase, 
    outOutLayer, inAnnoSuffix, inRefScaleValue, inRefScaleField, 
    inTileIDField, inCoordSysField, inMapRotationField,inFeatureLinked, 
    inGenerateUnplaced)

环境

此工具不使用任何地理处理环境。

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题