Mosaik-Dataset synchronisieren (Data Management)
Zusammenfassung
Erstellt jedes Raster-Element im Mosaik-Dataset neu bzw. aktualisiert es und aktualisiert die zugehörigen Felder in der Attributtabelle mithilfe des Raster-Typs und der Optionen, die beim ursprünglichen Hinzufügen verwendet wurden.
Die Synchronisierung ist ein unidirektionaler Vorgang, in dem Änderungen an den Quelldaten mit der Attributtabelle des Mosaik-Datasets synchronisiert werden können. Änderungen an der Attributtabelle wirken sich aber nicht auf die Quelldaten aus (können jedoch durch die Synchronisierung überschrieben werden).
Änderungen, die durch die Synchronisierung vorgenommen werden, können nicht mehr rückgängig gemacht werden. Sie sollten eventuell eine Sicherungskopie erstellen, wenn Sie Änderungen an Ihren Mosaik-Daten vorgenommen haben, die überschrieben werden könnten.
Verwendung
-
Sie können einen Auswahlsatz bei diesem Werkzeug verwenden, um die Raster-Elemente einzubegrenzen, die aktualisiert werden. Wenn eine Auswahl oder Abfrage vorhanden ist, werden nur die entsprechenden Elemente verarbeitet.
Durch die Synchronisierung können neue Elemente hinzufügt, vorhandene Elemente aktualisiert oder Elemente entfernt werden.
Veraltete Elemente beziehen sich auf Quell-Raster, die seit dem Erstellen des Mosaik-Datasets oder der letzten Synchronisierung des Mosaik-Datasets geändert wurden. So kann beispielsweise die Georeferenzierung aktualisiert worden sein oder die Pyramiden können erstellt worden sein.
Da die Raster-Elemente neu erstellt werden, gehen sämtliche seit ihrer Erstellung an diesen Elementen vorgenommenen Änderungen verloren, beispielsweise die Bearbeitungsfunktionen oder Inhalte in der Attributtabelle.
Wenn Sie entscheiden, Elemente zu entfernen, deren Datenquellen ungültig ist, stellen Sie sicher, dass alle Ihre Netzwerkverbindungen ordnungsgemäß funktionieren, da durch dieses Werkzeug alle Elemente entfernt werden, auf die nicht zugegriffen werden kann.
Sie können dieses Werkzeug auch verwenden, um Pyramiden und Statistiken für die Quell-Raster zu berechnen, und um Miniaturansichten und Raster-Cache für die Raster-Elemente zu erstellen.
Das Werkzeug eignet sich insbesondere dazu, Mosaik-Datasets auf dem neuesten Stand zu halten. Wenn dem Workspace, auf den dieses Mosaik-Dataset zugreift, neue Raster-Datasets hinzugefügt wurden, können die neuen Raster-Datasets dem Mosaik-Dataset hinzugefügt werden. Auch Mosaik-Datasets, die mithilfe von Tabellen aus extern verwalteten Datenbanken ausgefüllt werden, lassen sich mit diesem Werkzeug aktualisieren.
Nachdem die Synchronisierung abgeschlossen ist, werden die unter Mosaik-Dataset-Optionen aufgelisteten Vorgänge ausgeführt.
Dieses Werkzeug kann verwendet werden, um den Cache für ein Element im Mosaik-Dataset zu generieren. Elemente, die immer gecacht werden können, werden aus den folgenden Daten erstellt: LAS-Dateien, LAS-Datasets und Terrains. Elemente können auch mithilfe der Funktion "Gecachte Raster" gecacht werden.
Syntax
Parameter | Erläuterung | Datentyp |
in_mosaic_dataset |
Der Pfad und der Name des Mosaik-Datasets. | Mosaic Layer |
where_clause (optional) |
Mit SQL können Sie eine Abfrage definieren oder den Abfrage-Generator verwenden, um eine Abfrage zu erstellen. | SQL Expression |
new_items (optional) | Wählen Sie aus, ob das Mosaik-Dataset mit neu hinzugefügten Elementen synchronisiert werden soll. Wenn Sie diese Option verwenden, wird der Workspace des Elements nach neuen Daten durchsucht. Wenn Daten zum Mosaik-Dataset hinzugefügt werden, verwenden diese den gleichen Raster-Typ wie die anderen Elemente im gleichen Workspace. Soll eine Aktualisierung stattfinden, können Sie optional wählen, ob die Zellengrößenbereiche, die Grenze oder die Übersichten aktualisiert werden sollen.
| Boolean |
sync_only_stale (optional) |
Wählen Sie, ob alle primären Elemente oder nur veraltete primäre Elemente aktualisiert werden sollen. Ein Element wird als veraltet betrachtet, wenn die entsprechenden Quelldateien, die zum Erstellen der Raster-Werte verwendet werden, nach dem Erstellen des Elements geändert werden. So kann beispielsweise die Georeferenzierung aktualisiert worden sein oder die Pyramiden können erstellt worden sein.
| Boolean |
update_cellsize_ranges (optional) | Wählen Sie aus, ob die Zellengrößenbereiche aktualisiert werden sollen.
| Boolean |
update_boundary (optional) | Wählen Sie aus, ob die Grenze aktualisiert werden soll.
| Boolean |
update_overviews (optional) | Wählen Sie aus, ob veraltete Übersichten aktualisiert werden sollen. Die Übersicht ist veraltet, nachdem zugrunde liegende Raster geändert wurden.
| Boolean |
build_pyramids (optional) |
Legen Sie fest, ob Pyramiden für die angegebenen Mosaik-Dataset-Elemente berechnet werden sollen. Für jedes Rasterelement im Mosaik-Dataset können Pyramiden erstellt werden. Mit ihnen lässt sich die Geschwindigkeit steigern, mit der die einzelnen Raster angezeigt werden.
Für neu hinzugefügte Elemente werden keine Pyramiden erstellt, wenn die Elemente in derselben Instanz hinzugefügt werden, in der dieses Werkzeug ausgeführt wird. | Boolean |
calculate_statistics (optional) |
Legen Sie fest, ob Statistiken für die angegebenen Mosaik-Dataset-Elemente berechnet werden sollen. Für jedes Rasterelement im Mosaik-Dataset können Statistikwerte berechnet werden. Statistikwerte sind erforderlich, damit das Mosaik-Dataset bestimmte Tasks ausführen kann, wie beispielsweise eine Kontraststreckung.
Für neu hinzugefügte Elemente werden keine Statistiken erstellt, wenn die Elemente in derselben Instanz hinzugefügt werden, in der dieses Werkzeug ausgeführt wird. | Boolean |
build_thumbnails (optional) |
Wählen Sie, ob Miniaturansichten für die angegebenen Mosaik-Dataset-Elemente erstellt werden sollen. Miniaturansichten sind kleine Bilder und können für jedes Rasterelement in der Mosaikdefinition erstellt werden. Miniaturansichten stehen beim Zugriff auf ein Mosaik-Dataset als Image-Service zur Verfügung und werden als Teil der Metadaten (Elementbeschreibung) angezeigt.
Für neu hinzugefügte Elemente werden keine Miniaturansichten erstellt, wenn die Elemente in derselben Instanz hinzugefügt werden, in der dieses Werkzeug ausgeführt wird. | Boolean |
build_item_cache (optional) | Legen Sie fest, ob ein Cache für die angegebenen Mosaik-Dataset-Elemente erstellt werden soll. Ein Cache kann erstellt werden, wenn Sie Daten mithilfe der Raster-Typen LAS, Terrain oder LAS-Dataset hinzugefügt haben. Elemente können auch mithilfe der Funktion "Gecachte Raster" gecacht werden.
Für neu hinzugefügte Elemente wird kein Cache erstellt, wenn die Elemente in derselben Instanz hinzugefügt werden, in der dieses Werkzeug ausgeführt wird. | Boolean |
rebuild_raster (optional) | Wählen Sie, ob die Raster-Elemente mithilfe des ursprünglichen Raster-Typs aus der Datenquelle neu aufgebaut werden sollen.
Dies wirkt sich nur auf Elemente aus, die synchronisiert werden. Dieser Parameter ist nicht anwendbar, wenn UPDATE_WITH_NEW_ITEMS gewählt wurde. | Boolean |
update_fields (optional) | Wählen Sie, ob die Felder in der Tabelle aktualisiert werden sollen. Dies wirkt sich nur auf Elemente aus, die synchronisiert werden.
Soll eine Aktualisierung der Felder stattfinden, können Sie kontrollieren, welche Felder aktualisiert werden, indem sie diese im Parameter FIELDS_TO_UPDATE auswählen. Wenn Sie einige der Felder bearbeitet haben, sollten Sie die Auswahl dieser Felder im Parameter FIELDS_TO_UPDATE aufheben. | Boolean |
fields_to_update [field_to_update,...] (optional) | Geben Sie die Felder an, die aktualisiert werden sollen. Dieser Parameter ist nur gültig, wenn als Option für den Parameter update_fields "UPDATE_FIELDS" angegeben ist. Wenn Sie einige der Felder bearbeitet haben, sollten Sie sicherstellen, dass diese nicht aufgelistet werden. Die Spalte RASTER kann aktualisiert werden, auch wenn das Schlüsselwort REBUILD_RASTER nicht verwendet wird. Wird jedoch REBUILD_RASTER verwendet, so wird die Spalte RASTER neu aufgebaut, auch wenn das Feld nicht angegeben ist. | String |
existing_items (optional) | Wählen Sie aus, ob Sie vorhandene Elemente im Mosaik-Dataset aktualisieren möchten. Wenn Sie diese Option auswählen, können Sie anschließend festlegen, welche vorhandenen Parameter Sie aktualisieren möchten: sync_only_stale, build_pyramids, calculate_statistics, build_thumbnails, build_item_cache, update_raster, update_fields oder fields_to_update.
| Boolean |
broken_items (optional) | Wählen Sie, ob ungültige Verweise entfernt werden sollen. Stellen Sie sicher, dass alle Ihre Netzwerkverbindungen ordnungsgemäß funktionieren, da durch dieses Werkzeug alle Elemente entfernt werden, auf die nicht zugegriffen werden kann.
| Boolean |
Codebeispiel
Dies ist ein Python-Beispiel für "SynchronizeMosaicDataset".
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", "#")
Dies ist ein Python-Skriptbeispiel für "SynchronizeMosaicDataset".
#============================
#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()