管理切片缓存 (数据管理)

描述

创建切片缓存或在现有的切片缓存中更新切片。此工具用于创建新切片、替换缺失切片、覆盖过时切片以及删除切片。

使用方法

  • 使用管理切片缓存工具创建切片缓存时,如果尚未定义感兴趣区,则将通过源栅格或镶嵌数据集的全图范围或者地图文件的当前范围创建缓存。

  • 存在生成的缓存范围大于感兴趣区的情况。如果出现这种情况,管理切片缓存工具会将数据划分为几个大区域(称为超级切片),之后再将其剪切为所需大小的切片。如果输入数据源使用抗锯齿,则超级切片为 2,048 x 2,048 像素;否则为 4,096 x 4,096。如果已定义的感兴趣区要素与超级切片的边界相交,则将创建整个超级切片。这意味着,在通过要素类进行缓存能够在节省时间和磁盘空间方面获得实际效果之前,可能需要进行放大。如果您拥有许多感兴趣区且其覆盖大部分输入数据源,则由于大部分要素都将与超级切片相交,因此通过要素类进行缓存可能并不会给您带来多大好处。

  • 要在自定义切片方案中创建缓存,请确保在使用此工具前已为源数据集定义了切片方案。可使用生成切片缓存切片方案工具创建切片方案。

  • 要在 ArcGIS Online 切片方案中创建缓存,可以为输入切片方案参数(在 Python 中将 tiling_scheme 设置为 ARCGISONLINE_SCHEME)指定使用 ArcGIS Online 方案

  • 对于涉及较大地理范围或较大比例的缓存,此工具可能会需要较长的运行时间。如果取消此工具,将停止切片创建,但不删除现有切片。这意味着您可以随时取消工具,但如果稍候要在同一缓存上重新运行,则需为管理模式参数指定重新创建空切片,而后工具将从中断位置继续运行(在 Python 中将 manage_mode 设置为 RECREATE_EMPTY_TILES)。

  • 该工具支持“并行处理”环境设置。

语法

arcpy.management.ManageTileCache(in_cache_location, manage_mode, {in_cache_name}, {in_datasource}, {tiling_scheme}, {import_tiling_scheme}, {scales}, {area_of_interest}, {max_cell_size}, {min_cached_scale}, {max_cached_scale})
参数说明数据类型
in_cache_location

创建缓存数据集所在的文件夹或现有切片缓存的路径。

Folder; Raster Layer
manage_mode

缓存的管理模式。

  • RECREATE_ALL_TILES如果范围发生改变或将图层添加到多图层缓存,则需要更换现有切片并添加新切片。
  • RECREATE_EMPTY_TILES只对空的切片重新创建。现有切片将保持不变。
  • DELETE_TILES将从缓存中删除切片。缓存文件夹结构不会删除。
String
in_cache_name
(可选)

在缓存位置中待创建的缓存数据集的名称。

String
in_datasource
(可选)

栅格数据集、镶嵌数据集或地图文件。

如果已在 DELETE_TILES 参数中指定 manage_mode,则不需要此参数。

地图文件 (.mapx) 不能包含地图服务或图像服务。

Mosaic Layer; Raster Layer; Map
tiling_scheme
(可选)

用于指定切片方案的可选参数。

  • ARCGISONLINE_SCHEME使用默认 ArcGIS Online 切片方案。
  • IMPORT_SCHEME导入现有的切片方案。
  • ARCGISONLINE_ELEVATION_SCHEME使用此高程服务切片方案。
  • WGS84_V2_SCHEME使用此基于 WGS84 版本 2 的切片方案。
  • WGS84_V2_ELEVATION_SCHEME 使用此基于 WGS84 版本 2 的切片方案来构建高程数据的切片缓存。
String
import_tiling_scheme
(可选)

现有方案文件 (.xml) 的路径或从现有影像服务或地图服务中导入的路径。

Image Service; MapServer; File
scales
[scale,...]
(可选)

一系列比例级别,运行此工具时将在这些比例级别上创建或删除切片,具体取决于 manage_mode 参数的值。像素大小是根据切片方案的空间参考表示的。

  • 默认情况下,生成缓存时将仅使用 min_cached_scalemax_cached_scale 范围内的比例。
  • 更改 min_cached_scalemax_cached_scale 参数的值将更改生成缓存时所使用的比例。
  • 生成缓存时将忽略不在 min_cached_scalemax_cached_scale 范围之内的现有比例。
Double
area_of_interest
(可选)

定义感兴趣区以对将创建或删除的切片进行约束。

它可能是一个要素类,也可能是以交互方式定义的要素集。

该参数用于为形状不规则的区域管理切片。它对您要对某些区域进行预缓存或让较少访问的区域保持未缓存的状态等情形也同样有用。

Feature Set
max_cell_size
(可选)

用于定义生成了缓存的数据源的可见性的值。默认情况下,该值为空。

如果该值为空

  • 对于数据源可见性范围内的缓存级别,缓存是由数据源生成的。
  • 对于超出数据源可见性范围的缓存级别,缓存是由前一级缓存生成的。

如果该值大于零

  • 对于像元大小小于等于最大源像元大小 (max_cell_size) 的级别,缓存是由数据源生成的。
  • 对于源像元大小大于最大源像元大小 (max_cell_size) 的级别,缓存是由前一级缓存生成的。

最大源像元大小值的单位应与源数据集的像元大小单位相同。

Double
min_cached_scale
(可选)

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

Double
max_cached_scale
(可选)

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

Double

派生输出

名称说明数据类型
out_cache_location

将在输出缓存位置中创建的缓存数据集。

栅格数据集

代码示例

ManageTileCache 示例 1(Python 窗口)

这是 ManageTileCache 工具的 Python 示例。

import arcpy
            
arcpy.ManageTileCache_management(
      "C:/CacheDatasets/Manage", "RECREATE_ALL_TILES", "Test",
      "C:/Data/Cache.gdb/Md", "IMPORT_SCHEME", "C:/Data/Cache.gdb/Md",
      "#", "#", "#", "40000", "2000")
ManageTileCache 示例 2(独立脚本)

这是 ManageTileCache 工具的 Python 脚本示例。

#Generate tile cache for 3 out of 5 levels defined in tiling scheme

import arcpy

folder = "C:/Workspace/CacheDatasets/Manage"
mode = "RECREATE_ALL_TILES"
cacheName = "Test"
dataSource = "C:/Workspace/Cache.gdb/md"
method = "IMPORT_SCHEME"
tilingScheme = "C:/Workspace/Schemes/Tilingscheme.xml"
scales = "16000;8000;4000;2000;1000"
areaofinterest = "#"
maxcellsize = "#"
mincachedscale = "8000"
maxcachedscale = "2000"

arcpy.ManageTileCache_management(
       folder, mode, cacheName, dataSource, method, tilingScheme,
       scales, areaofinterest, maxcellsize, mincachedscale, maxcachedscale)

环境

并行处理因子

如果“并行处理因子”值为空,该工具会以默认值 50%(可用核的一半)运行。

许可信息

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

相关主题