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

摘要

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

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

警告:

同步时所做的更改无法撤消。 如果您对不想被覆盖的数据进行了修改,请创建镶嵌数据集的备份。

使用情况

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

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

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

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

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

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

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

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

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

参数

标注说明数据类型
镶嵌数据集

将同步的镶嵌数据集。

Mosaic Layer
查询定义
(可选)

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

SQL Expression
使用新项目进行更新
(可选)

指定同步时是否包含新项目,以及在使用新项目进行更新选项子菜单下要使用的选项。 如果使用此选项,则将为新数据搜索项目的工作空间。 当数据添加到镶嵌数据集后,其使用的栅格类型将与同一工作空间内的其他项目相同。

  • 未选中 - 同步时不会添加新项目。 这是默认设置。
  • 选中 - 将更新工作空间中包含新项目的镶嵌数据集。 或者,通过不选中跳过现有项目参数来更改现有项目。
Boolean
仅同步过时的项目
(可选)

指定是否仅在基础栅格数据集已因同步而被修改时才更新镶嵌数据集项目。 例如,构建金字塔或更新栅格的地理配准将影响概视图的渲染方式。

  • 选中 - 仅更新已修改的基础栅格数据集的项目。 这是默认设置。
  • 未选中 - 镶嵌数据集中的所有项目都将被更新。
Boolean
更新像元大小范围
(可选)

指定是否重新计算镶嵌数据集的像元大小范围。

  • 选中 - 将重新计算整个镶嵌数据集的像元大小范围,但仅针对可见性无效的项目。 这是默认设置。
  • 未选中 - 不会重新计算像元大小范围。
Boolean
更新边界
(可选)

指定是否重建显示镶嵌数据集全图边界。 如果同步将更改镶嵌数据集的范围,则选中此参数。

  • 选中 - 同步镶嵌数据集后重新构建边界。 这是默认设置。
  • 未选中 - 不重新构建边界。
Boolean
更新概视图
(可选)

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

  • 未选中 - 不更新概视图。 这是默认设置。
  • 选中 - 同步镶嵌数据集后更新受影响的概视图。
Boolean
构建栅格金字塔
(可选)

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

  • 未选中 - 不构建金字塔。 这是默认设置。
  • 选中 - 将为因同步而更新的所有镶嵌栅格项目构建金字塔。

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

Boolean
计算统计数据
(可选)

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

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

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

Boolean
构建缩略图
(可选)

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

  • 未选中 - 不构建或更新缩略图。 这是默认设置。
  • 选中 - 为因同步而更新的所有栅格项目构建或更新缩略图。

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

Boolean
构建项目缓存
(可选)
  • 未选中 - 不会构建或更新缓存。 这是默认设置。
  • 选中 - 为指定的所有栅格项目生成或更新缓存。

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

Boolean
基于数据源重新构建栅格
(可选)

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

  • 选中 - 将从源数据重新构建栅格。 对镶嵌数据集执行的所有更改将会丢失。 这是默认设置。
  • 未选中 - 不重新构建栅格。 如果选中更新字段参数,则会重置其他主字段。

此操作仅影响要同步的项目。 如果选中使用新项目进行更新参数,则此参数不适用。

Boolean
更新字段
(可选)

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

  • 选中 - 将更新源文件中的字段。 这是默认设置。
  • 未选中 - 不会更新源文件中的字段。

如果更新字段,可以控制通过待更新字段参数更新哪些字段。 如果已编辑某些字段,则可以使用待更新字段参数对其取消选择。

Boolean
待更新字段
(可选)

将更新的字段。

此参数仅在选中更新字段参数时才有效。

如果已编辑某些字段,则可以对其取消选择。

即使取消选中基于数据源重新构建栅格参数,也可刷新 RASTER 字段。 但是,如果已选中基于数据源重新构建栅格,则即使取消选中RASTER待更新字段参数,也会重新构建 字段。

String
更新现有项目
(可选)

指定是否要在镶嵌数据集内更新现有项目。 如果选中此参数,则需要指定要在更新现有项目选项子菜单下将更新的选项。

  • 选中 - 使用选择更新的参数更新现有项目。 这是默认设置。
  • 未选中 - 不更新现有项目。
Boolean
移除数据源损坏的项目
(可选)

指定是否移除链接已损坏的项目。

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

  • 未选中 - 不会从镶嵌数据集移除链接已损坏的项目。 这是默认设置。
  • 选中 - 将从镶嵌数据集移除链接已损坏的项目。
Boolean
跳过现有项目
(可选)

指定是跳过现有镶嵌数据集项目,还是使用磁盘上的已修改文件进行更新。 要使用此参数,必须选中使用新项目进行更新参数。

  • 选中 - 添加新镶嵌数据集项目时,将跳过现有镶嵌数据集项目,不会对其进行更新。 这是默认设置。
  • 未选中 - 添加新镶嵌数据集项目时,将更新与磁盘上的已修改文件相对应的现有镶嵌数据集项目。
Boolean
刷新聚合信息
(可选)

指定是否包含已从镶嵌数据集中移除的数据。 要使用此参数,必须取消选中更新现有项目参数。

  • 未选中 - 同步时,将排除任何已从镶嵌数据集中移除的栅格。 这是默认设置。
  • 选中 - 同步时,包含已从镶嵌数据集中移除的栅格。
Boolean
估算镶嵌数据集统计数据

指定是否估算镶嵌数据集的统计数据。

  • 未选中 - 同步时不估算镶嵌数据集的统计数据。 这是默认设置。
  • 选中 - 同步时估算镶嵌数据集的统计数据。
Boolean

派生输出

标注说明数据类型
更新的镶嵌数据集

已更新的镶嵌数据集。

Mosaic Layer

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将更新工作空间中包含新项目的镶嵌数据集。 或者,通过将 skip_existing_items 参数设置为 OVERWRITE_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

  • 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
(可选)
  • 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,则即使未指定 fields_to_update 字段,也会重新构建 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
(可选)

指定是跳过现有镶嵌数据集项目,还是使用磁盘上的已修改文件进行更新。 要使用此参数,必须将 new_items 参数设置为 UPDATE_WITH_NEW_ITEMS

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

指定是否包含已从镶嵌数据集中移除的数据。 要使用此参数,必须将 existing_items 参数设置为 IGNORE_EXISTING_ITEMS

  • NO_REFRESH_INFO同步时,将排除任何已从镶嵌数据集中移除的栅格。 这是默认设置。
  • REFRESH_INFO同步时,包含已从镶嵌数据集中移除的栅格。
Boolean
estimate_statistics

指定是否估算镶嵌数据集的统计数据。

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

派生输出

名称说明数据类型
out_mosaic_dataset

已更新的镶嵌数据集。

Mosaic Layer

代码示例

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)