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

描述

从地图或底图生成矢量切片,并将切片进行打包从而创建单个 .vtpk 文件。

使用方法

  • 输入地图必须具有相应的描述和标签,此工具才能执行。要添加描述和标签,请右键单击内容窗格中的地图名称,然后单击属性。在元数据选项卡上输入描述和一些标签,作为对地图的说明。

    某些符号系统无法在切片创建过程中解析。符号化图层时应避免使用 影线或渐变填充沿线或面轮廓标记,或大部分符号效果。带有复杂短划线样式的笔划符号图层将被解析为输出切片中的开合短划线。移动效果(通常用于模拟建筑物要素上的下拉阴影效果)是一种受支持的符号效果。

  • 如果生成的切片包小于 2 GB,您可以在浏览器中直接将其上传至 ArcGIS OnlineArcGIS Enterprise。否则,可使用共享包工具将其上传至 ArcGIS OnlineArcGIS Enterprise

  • 有关创建和符号化矢量切片的详细信息,请参阅为创建矢量切片制作地图矢量切片中的符号系统

语法

arcpy.management.CreateVectorTilePackage(in_map, output_file, service_type, {tiling_scheme}, {tile_structure}, {min_cached_scale}, {max_cached_scale}, {index_polygons}, {summary}, {tags})
参数说明数据类型
in_map

用于生成切片并对其进行打包的地图。输入地图必须具有元数据描述和标签。

Map
output_file

输出矢量切片包。包的文件扩展名为 .vtpk

File
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
tile_structure
(可选)

请指定是使用索引结构对切片生成结构进行优化,还是在所有细节层次上将其优化为所有切片的平面数组。经优化的索引结构为默认设置,其产生的缓存较小。

  • INDEXED根据优化切片生成和文件大小的要素密度索引生成切片。这是默认设置。
  • FLAT在不考虑要素密度的情况下,针对各个细节层次生成常规切片。其缓存要大于使用索引结构所生成的切片所占的缓存。
String
min_cached_scale
(可选)

生成切片的最小比例。这不必是您的切片方案中的最小比例。由最小缓存比例决定生成缓存时将使用哪个比例。

Double
max_cached_scale
(可选)

生成切片的最大比例。这不必是您的切片方案中的最大比例。由最大缓存比例决定生成缓存时将使用哪个比例。

Double
index_polygons
(可选)

依照要素密度指定预生成切片索引,仅在 tile_structure 参数为 INDEXED 时可用。使用创建矢量切片索引工具创建索引面。如果此参数中未指定索引面,则处理过程中将生成优化的索引面,以辅助切片的创建,但这些索引面不会保存或输出。

Feature Layer
summary
(可选)

将摘要信息添加到输出矢量切片包的属性中。

String
tags
(可选)

将标签信息添加到输出矢量切片包的属性中。用逗号或分号将多个标签隔开。

String

代码示例

CreateVectorTilePackage 示例 1(Python 窗口)

以下脚本显示了如何在 Python 窗口中使用 CreateVectorTilePackage 工具为工程中的第一个地图创建矢量切片包。

import arcpy
arcpy.env.workspace = "C:/TilePackageExample"
aprx = arcpy.mp.ArcGISProject("CURRENT")
map = aprx.listMaps()[0]
arcpy.CreateVectorTilePackage_management(map, 'Example.vtpk', "ONLINE", "", "INDEXED", 295828763.795777, 564.248588)
CreateVectorTilePackage 工具示例 2(独立脚本)

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

# Name: CreateVectorTilePackage.py
# Description: Find all the maps in the project and
#   create a vector tile package 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
#   create a vector tile package for each map,
#   using the same name as the map
p = arcpy.mp.ArcGISProject("c:\\temp\\myproject.aprx")
for m in p.listMaps():
    print("Packaging " + m.name)
    arcpy.CreateVectorTilePackage_management(m, outputPath + m.name + '.vtpk', "ONLINE", "", "INDEXED", 295828763.795777, 564.248588)

环境

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

许可信息

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

相关主题