标注 | 说明 | 数据类型 |
输入地图 | 输入地图的要素分布和折点密度指定输出面的大小和排列。 输入地图是随后使用创建矢量切片包工具创建矢量切片时需要用到的典型地图。 | Map |
输出切片要素类 | 每个细节层次的索引切片的输出面要素类。 每个切片包括的输入折点数量应易于管理,该数量不超过最大折点计数参数指定的数量。 | Feature Class |
适用于 ArcGIS Online | Bing Maps | Google Maps 的包 | 指定是从现有地图服务还是为 ArcGIS Online、Bing Maps 和 Google Maps 生成切片方案。
| Boolean |
切片方案 (可选) |
当未选中适用于 ArcGIS Online、Bing Maps 或 Google Maps 的包参数时,要使用的矢量切片服务或切片方案文件。 切片方案尺寸必须为 512 × 512 并具有 2 倍比率的连续缩放。 | Map Server; File |
最大折点计数 (可选) | 输出要素类中每个面包括的理想折点数(来自所有可见图层)。 默认值为推荐的 10,000 折点数。 | Long |
摘要
创建矢量切片包的同时创建多比例面格网,可将该格网用作索引面。
插图
使用情况
生成的面格网为多比例格网,可按照输入地图中的定义表示不同的细节层次。 需要对细节面最高级别的大小进行设置,使其所包括的输入地图中要素折点计数不超过指定的值,该值根据其创建矢量切片时出现的密度、分布和固有制图综合而定。 生成面的最高细节层次将不超过 16。
每个面中的 PTS 字段值表示源数据中每个面包含的折点数量。 在整个索引面中,检查此字段中的较高值,以查找折点计数较高以及会造成执行矢量切片性能较差的区域。
每个面中的 LOD 字段值表示细节层次 (LOD)。 对字段值进行排序,以查找地图的最大 LOD。 由索引面表示的最大 LOD 可能与切片方案中指定的最大 LOD 不匹配。 由于矢量切片图层支持轻量且高效的切片解决方案,因此最大 LOD 应该足够。 矢量切片图层使用过采样来查看超出最大 LOD 的细节。
每个面中的 LEAF 字段值会表示在您渲染矢量切片图层时切片是否会放大。 LEAF 字段值如下:
- LEAF = 0 指示切片不会放大
- LEAF = 1 指示当缩放超过其 LOD 值时,切片将放大
在使用索引切片结构时,输出要素类适合用作输入索引面,与创建矢量切片包工具一起使用。 创建矢量切片包工具可使用上述面创建切片,该切片针对创建的多个细节层次的要素密度进行了优化。
要了解有关创建矢量切片的详细信息,请参阅为创建矢量切片创作地图。
参数
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 Maps 和 Google Maps 生成切片方案。
| Boolean |
tiling_scheme (可选) |
若将 service_type 参数设置为 EXISTING,则将使用矢量切片服务或切片方案文件。 切片方案尺寸必须为 512 × 512 并具有 2 倍比率的连续缩放。 | Map Server; File |
vertex_count (可选) | 输出要素类中每个面包括的理想折点数(来自所有可见图层)。 默认值为推荐的 10,000 折点数。 | Long |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 CreateVectorTileIndex 函数。
import arcpy
arcpy.env.workspace = "C:/data/cartography.gdb/transportation"
arcpy.CreateVectorTileIndex_management("CURRENT", "tiles", "ONLINE", "", 10000)
此独立脚本显示的是使用 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: 是