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

摘要

从地图或底图生成矢量切片,并将切片打包为单个 .vtpk 文件。

使用情况

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

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

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

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

参数

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

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

Map
输出文件

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

File
适用于 ArcGIS Online | Bing Maps | Google Maps 的包

确定是从现有地图服务生成切片方案还是根据 ArcGIS Online、Bing Maps 和 Google Maps 生成地图切片。

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

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

当未选中适用于 ArcGIS Online、Bing Maps 或 Google Maps 的包参数时,要使用的矢量切片服务或切片方案文件。 切片方案尺寸必须为 512 × 512 并具有 2 倍比率的连续缩放。

Map Server; File
切片格式
(可选)

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

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

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

Double
最大缓存比例
(可选)

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

Double
索引面
(可选)

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

Feature Layer
摘要
(可选)

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

String
标签
(可选)

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

String

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 Maps 和 Google Maps 生成地图切片。

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

service_type 参数设置为 EXISTING 时,要使用的矢量切片服务或切片方案文件。 切片方案尺寸必须为 512 × 512 并具有 2 倍比率的连续缩放。

Map Server; 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: 是

相关主题