Синхронизировать набор данных мозаики (Synchronize Mosaic Dataset) (Управление данными)
Резюме
Перестраивает или обновляет все элементы растра в наборе данных мозаики и обновляет доступные поля в таблице атрибутов, используя тип растра и опции, которые применялись исходно при добавлении.
Синхронизация протекает в одном направлении – изменения в исходных данных могут отражаться в таблице атрибутов набора данных мозаики, но изменения в таблице атрибутов не отразятся на исходных данных (однако, исходные данные могут быть перезаписаны при синхронизации).
Изменения, выполненные во время синхронизации, отменить нельзя. Рекомендуется создать резервную копию, если изменения внесены в данные мозаики, которые могут быть перезаписаны.
Использование
-
Вместе с этим инструментом можно использовать выборку, чтобы ограничить обновляемые элементы растра. При наличии выборки или запроса обрабатываются только эти элементы.
При синхронизации может выполняться добавление новых, а также обновление или удаление существующих элементов.
Устаревшими элементами называются исходные растры, которые были изменены с момента создания набора данных мозаики или его последней синхронизации. Например, может быть выполнено обновление пространственной привязки или построение пирамид.
Поскольку растровые элементы перестраиваются, все изменения, сделанные для этих элементов с последнего раза их построения, будут потеряны (например, функции редактирования или содержимое в таблице атрибутов).
Если вы решили удалить элементы, содержащие поврежденные источники данных, следует убедиться в том, что все сетевые соединения работают корректно, так как этот инструмент удаляет все элементы, доступ к которым невозможен.
Этот инструмент также может выполнять построение пирамидных слоев и вычисление статистики на исходные растры данных и создание образцов и кэша растра для растровых элементов.
Этот инструмент особенно полезен для поддержания наборов данных мозаики в актуальном состоянии. Если новые наборы растровых данных были добавлены в рабочие области так, что набор данных мозаики имеет к ним доступ, то новые наборы растровых данных могут быть добавлены в набор данных мозаики. Наборы данных мозаики, заполняющиеся с использованием таблиц, которые находятся в управляемой из вне базе данных, также можно обновить с помощью этого инструмента.
По завершении синхронизации будут выполнены все перечисленные операции в списке Параметры набора данных мозаики (Mosaic Dataset Options).
Этот инструмент можно использовать для создания кэша элемента в наборе данных мозаики. Элементы, которые кэшируются всегда, создаются на основе следующих данных: файлы и наборы данных LAS, а также наборы данных terrain. Кэширование файлов также может выполняться с помощью функции Кэширование растра (Cached Raster).
Синтаксис
Параметр | Объяснение | Тип данных |
in_mosaic_dataset |
Путь и имя набора данных мозаики. | Mosaic Layer |
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. Кэширование файлов также может выполняться с помощью функции Кэширование растра (Cached Raster).
Построение кэша не выполняется для вновь добавленных элементов, если они добавлялись в том же экземпляре этого инструмента. | Boolean |
rebuild_raster (дополнительно) | Укажите, следует ли выполнять перестроение элемента растра из источника данных с помощью исходного типа растра.
Это влияет на только на те элементы, для которых выполняется синхронизация. Этот параметр неприменим в том случае, если выбран параметр UPDATE_WITH_NEW_ITEMS. | Boolean |
update_fields (дополнительно) | Укажите, следует ли обновлять поля в таблице. Это влияет на только на те элементы, для которых выполняется синхронизация.
При выборе обновления полей можно определить поля для обновления, выбрав их в параметре fields_to_update). Если в какие-либо поля внесены правки, рекомендуется отменить их выбор в параметре fields_to_update. | Boolean |
fields_to_update [field_to_update,...] (дополнительно) | Выберите, какие поля будут обновлены. Этот параметр доступен, только если для параметра update_fields задано значение UPDATE_FIELDS. Если в какие-либо поля внесены правки, рекомендуется убедиться в том, чтобы они не были включены в список. Столбец RASTER можно обновить даже в том случае, если не используется ключевое слово REBUILD_RASTER. Однако, при использовании ключевого слова REBUILD_RASTER выполняется перестроение столбца RASTER даже в том случае, когда это поле не задано. | String |
existing_items (дополнительно) | Укажите, следует ли обновлять существующие элементы в наборе данных мозаики. При выборе этого параметра можно также выбрать существующие параметры для обновления: sync_only_stale, build_pyramids, calculate_statistics, build_thumbnails, build_item_cache, update_raster, update_fields или fields_to_update.
| Boolean |
broken_items (дополнительно) | Укажите, следует ли удалять поврежденные ссылки. Убедитесь в том, что все сетевые соединения работают корректно, так как этот инструмент удаляет все элементы, доступ к которым невозможен.
| Boolean |
Пример кода
Это пример Python для инструмента Синхронизировать набор данных мозаики (Synchronize Mosaic Dataset).
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", "#")
Это пример скрипта Python для инструмента Синхронизировать набор данных мозаики (Synchronize Mosaic Dataset).
#============================
#Synchronize Mosaic Dataset
'''Usage: SynchronizeMosaicDataset_management(in_mosaic_dataset, {where_clause}, {NO_NEW_ITEMS |
UPDATE_WITH_NEW_ITEMS}, {SYNC_STALE | SYNC_ALL},
{UPDATE_CELL_SIZES | NO_CELL_SIZES}, {UPDATE_BOUNDARY |
NO_BOUNDARY}, {NO_OVERVIEWS | UPDATE_OVERVIEWS},
{NO_PYRAMIDS | BUILD_PYRAMIDS}, {NO_STATISTICS |
CALCULATE_STATISTICS}, {NO_THUMBNAILS |
BUILD_THUMBNAILS}, {NO_ITEM_CACHE | BUILD_ITEM_CACHE},
{UPDATE_RASTER | NO_RASTER}, {UPDATE_FIELDS | NO_FIELDS},
{fields_to_update;fields_to_update...},
{UPDATE_EXISTING_ITEMS | IGNORE_EXISTING_ITEMS},
{IGNORE_BROKEN_ITEMS | REMOVE_BROKEN_ITEMS})
'''
try:
import arcpy
arcpy.env.workspace = r"C:/Workspace"
# Synchronize source and add new data
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)
# Synchronize data item after Year 1999
# Add new data if available from the source
# Do not update fields from source raster
mdname = "syncmd.gdb/md"
query = "Year>1999"
updatenew = "NO_NEW_ITEMS"
syncstale = "SYNC_STALE"
updatecs = "#"
updatebnd = "#"
updateovr = "#"
buildpy = "#"
calcstats = "#"
buildthumb = "BUILD_THUMBNAILS"
buildcache = "#"
updateras = "NO_RASTER"
updatefield = "NO_FIELDS"
fields = "#"
arcpy.SynchronizeMosaicDataset_management(mdname, query, updatenew, syncstale,
updatecs, updatebnd, updateovr, buildpy,
calcstats, buildthumb, buildcache,
updateras, updatefield, fields)
# Synchronize LAS mosaic dataset and build cache
# Rebuild raster item from source data and do not update Point Spacing
mdname = "syncmd.gdb/lasmd"
query = "#"
updatenew = "NO_NEW_ITEMS"
syncstale = "SYNC_ALL"
updatecs = "#"
updatebnd = "#"
updateovr = "#"
buildpy = "#"
calcstats = "#"
buildthumb = "BUILD_THUMBNAILS"
buildcache = "BUILD_ITEM_CACHE"
updateras = "UPDATE_RASTER"
updatefield = "UPDATE_FIELDS"
fields = "PointCount;Version;ZMax;ZMin"
arcpy.SynchronizeMosaicDataset_management(mdname, query, updatenew, syncstale,
updatecs, updatebnd, updateovr, buildpy,
calcstats, buildthumb, buildcache,
updateras, updatefield, fields)
# Remove broken items from mosaic dataset
mdname = "syncmd.gdb/mdbroken"
query = "#"
updatenew = "NO_NEW_ITEMS"
syncstale = "SYNC_STALE"
updatecs = "#"
updatebnd = "#"
updateovr = "#"
buildpy = "#"
calcstats = "#"
buildthumb = "#"
buildcache = "#"
updateras = "#"
updatefield = "#"
fields = "#"
updateexist = "IGNORE_EXISTING_ITEMS"
removebroken = "REMOVE_BROKEN_ITEMS"
arcpy.SynchronizeMosaicDataset_management(mdname, query, updatenew, syncstale,
updatecs, updatebnd, updateovr, buildpy,
calcstats, buildthumb, buildcache,
updateras, updatefield, fields, updateexist,
removebroken)
except:
print "Synchronize Mosaic Dataset example failed."
print arcpy.GetMessages()