创建矢量切片索引 (数据管理)

描述

创建矢量切片包的同时创建多比例面格网,可将该格网用作索引面。

插图

覆盖澳大利亚和新西兰的矢量切片索引面的多比例格网
将显示覆盖澳大利亚和新西兰的矢量切片索引面的多比例格网

使用方法

  • 生成的面格网为多比例格网,可按照输入地图中的定义表示不同的细节层次。需要对细节面最高级别的大小进行设置,使其所包括的输入地图中要素折点计数不超过指定的值,该值根据其创建矢量切片时出现的密度、分布和固有制图综合而定。生成面的最高细节层次将不超过 16。

  • 每个面中的 PTS 字段值表示源数据中每个面包含的折点数量。在整个索引面中,检查此字段中的较高值,以查找折点计数较高以及会造成执行矢量切片性能较差的区域。

  • 每个面中的 LOD 字段值表示细节层次 (LOD)。对字段值进行排序,以查找地图的最大 LOD。由索引面表示的最大 LOD 可能与切片方案中指定的最大 LOD 不匹配。由于矢量切片图层支持轻量且高效的切片解决方案,因此最大 LOD 应该足够。矢量切片图层使用过采样来查看超出最大 LOD 的细节。

  • 每个面中的 LEAF 字段值会表示在您渲染矢量切片图层时切片是否会放大。LEAF 字段值如下所示:

    • LEAF = 0 指示切片不会放大
    • LEAF = 1 指示当缩放超过其 LOD 值时,切片将放大
    例如,如果地图的最大 LOD 为 10,则矢量切片图层会允许将细节以激进的方式缩放到超过 LOD 10。当您放大到超过 LOD 10 的更大比例时,切片将继续渲染适合那些比例的要素。对于被认为是连续数据的地图,输出到栅格切片可能会更好地维护适当的细节。

  • 在使用索引切片结构时,输出要素类适合用作输入索引面,与创建矢量切片包工具一起使用。创建矢量切片包工具可使用上述面创建切片,该切片针对创建的多个细节层次的要素密度进行了优化。

  • 有关创建矢量切片的详细信息,请参阅为创建矢量切片制作地图

语法

arcpy.management.CreateVectorTileIndex(in_map, out_featureclass, service_type, {tiling_scheme}, {vertex_count})
参数说明数据类型
in_map

输入地图的要素分布和折点密度指定输出面的大小和排列。输入地图是随后使用创建矢量切片包工具创建矢量切片时需要用到的典型地图。

Map
out_featureclass

每个细节层次的索引切片的输出面要素类。每个切片包括的输入折点数量应易于管理,该数量不超过 vertex_count 参数指定的数量。

Feature Class
service_type

指定是从现有地图服务还是为 ArcGIS Online、Bing 地图和 Google 地图生成切片方案。

  • ONLINE将使用 ArcGIS Online/Bing 地图/Google 地图切片方案。ArcGIS Online/Bing 地图/Google 地图切片方案可用于将您的缓存切片与这些在线地图服务的切片进行叠加。加载切片方案时,ArcGIS Pro 以内置选项形式包括此切片方案。选择此切片方案时,源地图的数据框必须使用 WGS 1984 Web Mercator(辅助球体)投影坐标系。这是默认设置。
  • EXISTING将使用现有矢量切片服务的切片方案。仅支持不同等级间的比例逐渐加倍且有 512 × 512 切片尺寸的切片方案。必须在 tiling_scheme 参数中指定矢量切片服务或切片方案文件。
Boolean
tiling_scheme
(可选)

若将 service_type 参数设置为 EXISTING,则将使用矢量切片服务或切片方案文件。切片方案尺寸必须为 512 × 512,并且连续缩放比例为 2。

MapServer; File
vertex_count
(可选)

输出要素类中每个面包括的理想折点数(来自所有可见图层)。默认值为推荐的 10,000 个折点数。

Long

代码示例

CreateVectorTileIndex 示例(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 CreateVectorTileIndex 工具。

import arcpy
arcpy.env.workspace = "C:/data/cartography.gdb/transportation"
arcpy.CreateVectorTileIndex_management("CURRENT", "tiles", "ONLINE", "", 10000)
CreateVectorTileIndex 工具示例 2(独立脚本)

此独立脚本显示的是使用 CreateVectorTileIndex 工具的示例。

# Name: CreateVectorTileIndex.py
# Description: Find all the maps in the project and
#   create vector tile index polygon feature class for each map

# import system modules
import os
import arcpy

#set environment settings
arcpy.env.overwriteOutput = True
outputPath = "C://Tilepackages//"

# Loop through the project, find all the maps, and
#   creates vector tile index polygon for each map,
#   using the same name as the map

p = arcpy.mp.ArcGISProject("c:\\temp\\myproject.aprx")for m in p.listMaps():
      print("Creating Vector Tile Index for: " + m.name)
      arcpy.CreateVectorTileIndex_management(m, outputPath + m.name + '.shp', "ONLINE", "", 10000)

环境

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

许可信息

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

相关主题