同步镶嵌数据集 (数据管理)

描述

使镶嵌数据集保持最新状态。除同步数据外,还可更新概视图(如果基础影像发生更改)、生成新的概视图和缓存以及恢复镶嵌数据集项目的原始配置。您也可使用此工具移除源数据的路径。要修复路径,需使用修复镶嵌数据集路径工具。

同步是一个单向操作:可将源数据的更改同步到镶嵌数据集的属性表,从而更新镶嵌数据集的属性表。镶嵌数据集属性表的更改不会影响源数据。

警告:

同步时所做的更改无法撤消。如果对可能被覆盖的镶嵌数据进行修改,则可能需要创建备份副本。

使用方法

  • 可以将选择集用于此工具,用以限制待更新的栅格项目。如果进行选择或查询,则仅处理这些项目。

  • 同步可以添加新项目、更新现有项目或移除项目。

  • 过时项目是指自镶嵌数据集创建以来或上次同步镶嵌数据集后更改的源栅格。例如,可能已更新地理配准,或者可能已构建金字塔。

  • 由于栅格项目已重新构建,因此自上次构建以来对这些项目所做的任何修改(例如编辑属性表中的函数或内容)都会丢失。

  • 如果选择移除数据源已损坏的项目,请确保所有网络连接正常工作,因为此工具会移除无法访问的所有项目。

  • 此工具还可对源栅格构建金字塔和计算统计数据,并可为栅格项目创建缩略图和栅格缓存。

  • 此工具对于使镶嵌数据集保持最新状态特别有用。如果新的栅格数据集已添加至此镶嵌数据集访问的工作空间,则新的栅格数据集就可以添加到镶嵌数据集中。用外部托管数据库中的表填充的镶嵌数据集也可以使用此工具进行更新。

  • 在完成同步后,将执行镶嵌数据集选项中列出的操作。

  • 要使用刷新聚合信息参数,请取消选中更新现有项目参数。对于多维镶嵌数据集,此参数将基于镶嵌数据集的属性表中的内容来刷新镶嵌的多维属性。

  • 数据库碎片和频繁的数据操纵可显著增大镶嵌数据集的大小。如果由于恒定事务导致数据库膨胀,请运行数据库碎片整理工具。

语法

arcpy.management.SynchronizeMosaicDataset(in_mosaic_dataset, {where_clause}, {new_items}, {sync_only_stale}, {update_cellsize_ranges}, {update_boundary}, {update_overviews}, {build_pyramids}, {calculate_statistics}, {build_thumbnails}, {build_item_cache}, {rebuild_raster}, {update_fields}, {fields_to_update}, {existing_items}, {broken_items}, {skip_existing_items}, {refresh_aggregate_info}, estimate_statistics)
参数说明数据类型
in_mosaic_dataset

想要同步的镶嵌数据集。

Mosaic Layer
where_clause
(可选)

用于选择要同步的镶嵌数据集项目的 SQL 表达式。如果不提供表达式,将更新所有数据集项目。

SQL Expression
new_items
(可选)

选择同步时是否包含新项目,然后指定用于更新新项目的选项。

如果选择使用此选项,则将为新数据搜索项目的工作空间。当数据添加到镶嵌数据集后,其使用的栅格类型将与同一工作空间内的其他项目相同。

  • NO_NEW_ITEMS同步时不会添加新项目。这是默认设置。
  • UPDATE_WITH_NEW_ITEMS更新工作空间中包含新项目的镶嵌数据集。此外,您可使用 OVERWRITE_EXISTING_ITEMS 参数中的关键字 skip_existing_items 来修改现有项目。
Boolean
sync_only_stale
(可选)

选择是否更新基础栅格数据集已因同步发生更改的镶嵌数据集项目。例如,构建金字塔或更新栅格的地理配准将影响概视图的渲染方式。

  • SYNC_STALE仅更新基础栅格数据集已被修改的项目。这是默认设置。
  • SYNC_ALL更新镶嵌数据集中的所有项目。
Boolean
update_cellsize_ranges
(可选)

选择是否更新像元大小范围。

  • UPDATE_CELL_SIZES重新计算整个镶嵌数据集的像元大小范围,但仅限可见性无效的项目。这是默认设置。
  • NO_CELL_SIZES 不重新计算像元大小范围。
Boolean
update_boundary
(可选)

选择是否更新边界。

  • UPDATE_BOUNDARY 同步镶嵌数据集后重新构建边界。如果同步将更改镶嵌数据集的范围,则使用此选项。这是默认设置。
  • NO_BOUNDARY 不重新构建边界。
Boolean
update_overviews
(可选)

选择是否更新所有废弃的概视图。如果有任何基础栅格因同步而发生更改,概视图则会被废弃。

  • NO_OVERVIEWS 不重新构建概视图。这是默认设置。
  • UPDATE_OVERVIEWS 同步镶嵌数据集后重新构建受影响的概视图。
Boolean
build_pyramids
(可选)

选择是否为指定的镶嵌数据集项构建金字塔。可以为镶嵌数据集中的每个栅格项目构建金字塔。金字塔可以提高每个栅格的显示速度。

  • NO_PYRAMIDS不生成金字塔。这是默认设置。
  • BUILD_PYRAMIDS 将为因同步而更新的所有栅格项目生成金字塔。

不会为因同步而添加的项目构建金字塔。

Boolean
calculate_statistics
(可选)

选择是否为指定的镶嵌数据集项计算统计数据。在执行某些任务时(如应用对比度拉伸),需要对镶嵌数据集进行统计。

  • NO_STATISTICS不计算统计数据。这是默认设置。
  • CALCULATE_STATISTICS 为因同步而更新的镶嵌数据集项目计算统计数据。

不会为因同步而添加的项目计算统计数据。

Boolean
build_thumbnails
(可选)

选择是否为指定的镶嵌数据集项构建缩略图。缩略图是可为镶嵌定义中的每个栅格项目创建的较小的高度重采样图像。可在以影像服务形式访问镶嵌数据集时访问缩略图,缩略图将显示为项目描述的一部分。

  • NO_THUMBNAILS不创建或更新任何缩略图。这是默认设置。
  • BUILD_THUMBNAILS为因同步而更新的所有栅格项目生成或更新缩略图。

不会为因同步而添加的项目构建缩略图。

Boolean
build_item_cache
(可选)

选择是否为指定的镶嵌数据集项构建缓存。在使用 LAS、Terrain 或 LAS 数据集栅格类型添加数据时,可以创建缓存。项目还可使用“缓存栅格函数”进行缓存。

  • NO_ITEM_CACHE不创建或更新任何缓存。这是默认设置。
  • BUILD_ITEM_CACHE为因同步而更新的所有栅格项目生成或更新缓存。

不会为因同步而添加的项目构建缓存。

Boolean
rebuild_raster
(可选)

选择是否使用原始栅格类型从数据源重新构建栅格项目。

  • REBUILD_RASTER从源数据重新构建栅格。您将失去对镶嵌数据集中的所选项目执行的所有更改。这是默认设置。
  • NO_RASTER不重新构建栅格。如果将 update_fields 参数设为 UPDATE_FIELDS,则会重置其他主字段。

此操作仅影响要同步的项目。如果将 new_items 参数设置为 UPDATE_WITH_NEW_ITEMS,则此参数不适用。

Boolean
update_fields
(可选)

选择是否更新表中的字段。此操作仅影响要同步的项目。

  • UPDATE_FIELDS更新源文件中的字段。这是默认设置。
  • NO_FIELDS不重置源文件中表内的字段。

如果选择更新字段,则可在 fields_to_update 参数中指定要更新的字段。如果已编辑某些字段,则可能需要在 fields_to_update 参数中将其移除。

Boolean
fields_to_update
[field_to_update,...]
(可选)

指定应更新的字段。

仅当 update_fields 参数的选项被设为 UPDATE_FIELDS 时,此参数才有效。

如果已编辑某些字段,则可能需要确保不列出它们。

即使未指定 REBUILD_RASTER,也可刷新 RASTER 字段。但是,如果已指定 REBUILD_RASTER,那么即使未指定 RASTER 字段,也会重新构建此字段。

String
existing_items
(可选)

选择是否要在镶嵌数据集内更新现有项目。

如果选择此选项,则随后可选择要更新的现有参数:sync_only_stalebuild_pyramidscalculate_statisticsbuild_thumbnailsbuild_item_cacheupdate_fieldsfields_to_update

  • UPDATE_EXISTING_ITEMS使用选择更新的参数更新现有项目。这是默认设置。
  • IGNORE_EXISTING_ITEMS不更新现有项目。
Boolean
broken_items
(可选)

选择是否要移除所有损坏的链接。

请确保所有网络连接正常工作,因为此工具会移除无法访问的所有项目。

  • IGNORE_BROKEN_ITEMS不会从镶嵌数据集移除链接已损坏的项目。这是默认设置。
  • REMOVE_BROKEN_ITEMS将从镶嵌数据集移除链接已损坏的项目。
Boolean
skip_existing_items
(可选)

如果在 UPDATE_WITH_NEW_ITEMS 参数中指定了 new_items,您还可选择是跳过现有镶嵌数据集项目,还是使用磁盘上的已修改文件对这些现有项目进行更新。

  • SKIP_EXISTING_ITEMS添加新镶嵌数据集项目时,此工具将不更新现有镶嵌数据集项目。这是默认设置。
  • OVERWRITE_EXISTING_ITEMS添加新镶嵌数据集项目时,此工具将更新与磁盘上的已修改文件相对应的镶嵌数据集项目。
Boolean
refresh_aggregate_info
(可选)

选择是否包含已从镶嵌数据集中移除的数据。

  • NO_REFRESH_INFO同步时,不包含任何已从镶嵌数据集中移除的栅格。这是默认设置。
  • REFRESH_INFO同步时,包含已从镶嵌数据集中移除的栅格。要使用 refresh_aggregate_info 参数,必须将 existing_items 参数设置为 IGNORE_EXISTING_ITEMS
Boolean
estimate_statistics

选择是否估算镶嵌数据集的统计数据。

  • NO_STATISTICS同步时,不估算镶嵌数据集的统计数据。这是默认设置。
  • ESTIMATE_STATISTICS同步时,估算镶嵌数据集的统计数据。
Boolean

派生输出

名称说明数据类型
out_mosaic_dataset

已更新的镶嵌数据集。

镶嵌图层

代码示例

SynchronizeMosaicDataset 示例 1(Python 窗口)

这是 SynchronizeMosaicDataset 工具的 Python 示例。

import arcpy
arcpy.SynchronizeMosaicDataset_management(
    "c:/data/syncmd.gdb/md", "Year>1999", "NO_NEW_ITEMS", "SYNC_STALE",
    "#", "#", "#", "NO_PYRAMIDS", "NO_STATISTICS", "NO_THUMBNAILS", 
    "NO_ITEM_CACHE", "NO_RASTER", "NO_FIELDS", "#", "#")
SynchronizeMosaicDataset 示例 2(独立脚本)

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

# Synchronize source and add new data

import arcpy
arcpy.env.workspace = "C:/Workspace"

mdname = "syncmd.gdb/mdnew"
query = "#"
updatenew = "UPDATE_WITH_NEW_ITEMS"
syncstale = "SYNC_STALE"
updatecs = "#"
updatebnd = "#"
updateovr = "#"
buildpy = "NO_PYRAMIDS"
calcstats = "NO_STATISTICS"
buildthumb = "NO_THUMBNAILS"
buildcache = "NO_ITEM_CACHE"
updateras = "NO_RASTER"
updatefield = "NO_FIELDS"
fields = "#"

arcpy.SynchronizeMosaicDataset_management(
    mdname, query, updatenew, syncstale, updatecs, updatebnd, 
    updateovr, buildpy, calcstats, buildthumb, buildcache,
    updateras, updatefield, fields)

许可信息

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

相关主题