摘要
使镶嵌数据集保持最新状态。除同步数据外,还可更新概视图(如果基础影像发生更改)、生成新的概视图和缓存以及恢复镶嵌数据集项目的原始配置。您也可使用此工具移除源数据的路径。要修复路径,需使用修复镶嵌数据集路径工具。
同步是一个单向操作:可将源数据的更改同步到镶嵌数据集的属性表,从而更新镶嵌数据集的属性表。镶嵌数据集属性表的更改不会影响源数据。
用法
可以将选择集用于此工具,用以限制待更新的栅格项目。如果进行选择或查询,则仅处理这些项目。
同步可以添加新项目、更新现有项目或移除项目。
过时项目是指自镶嵌数据集创建以来或上次同步镶嵌数据集后更改的源栅格。例如,可能已更新地理配准,或者可能已构建金字塔。
由于栅格项目已重新构建,因此自上次构建以来对这些项目所做的任何修改(例如编辑属性表中的函数或内容)都会丢失。
如果选择移除数据源已损坏的项目,请确保所有网络连接正常工作,因为此工具会移除无法访问的所有项目。
此工具还可对源栅格构建金字塔和计算统计数据,并可为栅格项目创建缩略图和栅格缓存。
此工具对于使镶嵌数据集保持最新状态特别有用。如果新的栅格数据集已添加至此镶嵌数据集访问的工作空间,则新的栅格数据集就可以添加到镶嵌数据集中。用外部托管数据库中的表填充的镶嵌数据集也可以使用此工具进行更新。
在完成同步后,将执行镶嵌数据集选项中列出的操作(Python 中的 update_cellsize_ranges、update_boundary 和 update_overviews 参数)。
此工具可用于为镶嵌数据集中的项目生成缓存。始终可以进行缓存的项目可使用以下数据进行创建:LAS 文件、LAS 数据集和 terrain。项目也可以使用缓存栅格函数进行缓存。
数据库碎片和频繁的数据操纵可能会显著增大镶嵌数据集的大小。如果由于恒定事务导致数据库膨胀,则应运行数据库碎片整理工具。
语法
SynchronizeMosaicDataset_management (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})
参数 | 说明 | 数据类型 |
in_mosaic_dataset | 想要同步的镶嵌数据集。 | Image Service; Mosaic Layer; String |
where_clause (可选) | 用于选择要同步的镶嵌数据集项目的 SQL 表达式。如果不提供表达式,将更新所有数据集项目。 | SQL Expression |
new_items (可选) | 选择同步时是否包含新项目,然后指定用于更新新项目的选项。 如果选择使用此选项,则将为新数据搜索项目的工作空间。当数据添加到镶嵌数据集后,其使用的栅格类型将与同一工作空间内的其他项目相同。
| Boolean |
sync_only_stale (可选) | 选择是否更新基础栅格数据集已因同步发生更改的镶嵌数据集项目。例如,构建金字塔或更新栅格的地理配准将影响概视图的渲染方式。
| Boolean |
update_cellsize_ranges (可选) | 选择是否更新像元大小范围。
| Boolean |
update_boundary (可选) | 选择是否更新边界。
| Boolean |
update_overviews (可选) | 选择是否更新所有废弃的概视图。如果有任何基础栅格因同步而发生更改,概视图则会被废弃。
| Boolean |
build_pyramids (可选) | 选择是否为指定的镶嵌数据集项构建金字塔。可以为镶嵌数据集中的每个栅格项目构建金字塔。金字塔可以提高每个栅格的显示速度。
不会为因同步而添加的项目构建金字塔。 | Boolean |
calculate_statistics (可选) | 选择是否为指定的镶嵌数据集项计算统计数据。在执行某些任务时(如应用对比度拉伸),需要对镶嵌数据集进行统计。
不会为因同步而添加的项目生成统计数据。 | Boolean |
build_thumbnails (可选) | 选择是否为指定的镶嵌数据集项构建缩略图。缩略图是可为镶嵌定义中的每个栅格项目创建的较小的高度重采样图像。可在以影像服务形式访问镶嵌数据集时访问缩略图,缩略图将显示为项目描述的一部分。
不会为因同步而添加的项目构建缩略图。 | Boolean |
build_item_cache (可选) | 选择是否为指定的镶嵌数据集项构建缓存。在使用 LAS、Terrain 或 LAS 数据集栅格类型添加数据时,可以创建缓存。项目还可使用“缓存栅格函数”进行缓存。
不会为因同步而添加的项目构建缓存。 | Boolean |
rebuild_raster (可选) | 选择是否使用原始栅格类型从数据源重新构建栅格项目。
此操作仅影响要同步的项目。如果将 new_items 参数设置为 UPDATE_WITH_NEW_ITEMS,则此参数不适用。 | Boolean |
update_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_stale、build_pyramids、calculate_statistics、build_thumbnails、build_item_cache、update_fields 或 fields_to_update。
| Boolean |
broken_items (可选) | 选择是否要移除所有损坏的链接。 请确保所有网络连接正常工作,因为此工具会移除无法访问的所有项目。
| Boolean |
skip_existing_items (可选) | 如果在 new_items 参数中指定了 UPDATE_WITH_NEW_ITEMS,您还可选择是跳过现有镶嵌数据集项目,还是使用磁盘上的已修改文件对这些现有项目进行更新。
| Boolean |
refresh_aggregate_info (可选) | 选择是否重新包含已从镶嵌数据集中移除的数据。
| Boolean |
代码实例
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)