Synchroniser une mosaïque (Gestion des données)
Récapitulatif
Cet outil permet de créer ou de mettre à jour chaque élément raster de la mosaïque et de mettre à jour les champs affectés de la table attributaire à l'aide du type de raster et des options utilisés lors de son ajout initial.
La synchronisation est une opération monodirectionnelle : les modifications des données source peuvent être synchronisées dans la table attributaire de la mosaïque, tandis que les modifications effectuées dans la table attributaire n'affectent pas les données source (mais elles peuvent être écrasées par la synchronisation).
Les modifications apportées lors de la synchronisation ne peuvent pas être annulées. Par conséquent, il est conseillé de créer une copie de sauvegarde si vous avez modifié des données de mosaïque pouvant être écrasées.
Utilisation
-
Vous pouvez utiliser un ensemble de sélection avec cet outil pour limiter les éléments raster mis à jour. Seuls ces éléments sont traités en cas de sélection ou de requête.
La synchronisation peut ajouter de nouveaux éléments, mettre à jour des éléments existants ou en supprimer.
Les éléments obsolètes concernent des rasters source qui ont été modifiés depuis la création de la mosaïque ou depuis sa dernière synchronisation. Il se peut, par exemple, que le géoréférencement ait été mis à jour ou que des pyramides aient été construites.
Etant donné que les éléments raster sont reconstruits, toutes les modifications qui leur ont été apportées depuis la dernière construction sont perdues, comme certaines fonctions ou certains contenus de mise à jour de la table attributaire.
Si vous choisissez de supprimer des éléments contenant des sources de données rompues, assurez-vous que toutes vos connexions réseau sont opérationnelles. Cet outil supprimera tout élément auquel il est impossible d'accéder.
En outre, vous pouvez créer des pyramides et calculer des statistiques sur les rasters source, ou encore créer des miniatures et un cache raster pour les éléments raster.
Cet outil est particulièrement utile pour garder les mosaïques à jour. Si de nouveaux jeux de données raster ont été ajoutés aux espaces de travail auxquels cette mosaïque accède, les nouveaux jeux de données raster peuvent être ajoutés à la mosaïque. Vous pouvez également mettre à jour les mosaïques alimentées par des tables résidant dans une base de données gérée en externe.
Une fois la synchronisation terminée, les opérations répertoriées dans Options de mosaïque sont exécutées.
Cet outil peut servir à générer le cache pour un élément de la mosaïque. Les éléments qui peuvent toujours être mis en cache sont créés à partir des données suivantes : fichiers LAS, jeu de données LAS et MNT. La fonction Raster en cache permet également de les mettre en cache.
Syntaxe
Paramètre | Explication | Type de données |
in_mosaic_dataset |
Chemin et nom de la mosaïque. | Mosaic Layer |
where_clause (Facultatif) |
A l'aide du SQL, vous pouvez définir une requête ou utiliser le Générateur de requêtes pour créer une requête. | SQL Expression |
new_items (Facultatif) | Choisissez s'il faut synchroniser votre mosaïque avec les éléments ajoutés récemment. Si vous choisissez cette option, la recherche porte sur les nouvelles données dans l'espace de travail de l'élément. Lorsque des données sont ajoutées à la mosaïque, le même type de raster que les autres éléments figurant dans le même espace de travail est utilisé. Si vous optez pour la mise à jour avec les nouveaux éléments, vous pouvez choisir de mettre à jour les plages de tailles de cellules, une limite ou des vues d'ensemble.
| Boolean |
sync_only_stale (Facultatif) |
Choisissez s'il faut mettre à jour tous les principaux éléments ou uniquement ceux qui sont obsolètes. Un élément est considéré comme obsolète si les fichiers source correspondants utilisés pour construire les valeurs raster sont modifiés après la création de l'élément. Il se peut, par exemple, que le géoréférencement ait été mis à jour ou que des pyramides aient été construites.
| Boolean |
update_cellsize_ranges (Facultatif) | Choisissez s'il faut mettre à jour les plages de tailles de cellules.
| Boolean |
update_boundary (Facultatif) | Choisissez s'il faut mettre à jour la limite.
| Boolean |
update_overviews (Facultatif) | Choisissez s'il faut mettre à jour les vues d'ensemble obsolètes. La vue d'ensemble devient obsolète si des rasters sous-jacents ont été modifiés.
| Boolean |
build_pyramids (Facultatif) |
Choisissez s'il faut construire des pyramides pour les éléments de mosaïque spécifiés. Les pyramides peuvent être construites pour chaque élément raster de la mosaïque. Les pyramides peuvent améliorer la vitesse à laquelle chaque raster est affiché.
Aucune pyramide n'est construite pour les nouveaux éléments qui sont ajoutés dans la même instance d'exécution de cet outil. | Boolean |
calculate_statistics (Facultatif) |
Choisissez s'il faut calculer les statistiques pour les éléments de mosaïque spécifiés. Des statistiques peuvent être calculées pour chaque élément raster de la mosaïque. Les statistiques sont obligatoires pour effectuer certaines tâches avec votre mosaïque, par exemple appliquer un étirement de contraste.
Aucune statistique n'est générée pour les nouveaux éléments qui sont ajoutés dans la même instance d'exécution de cet outil. | Boolean |
build_thumbnails (Facultatif) |
Choisissez s'il faut créer des miniatures pour les éléments de mosaïque spécifiés. Les miniatures sont de petites images fortement rééchantillonnées qui peuvent être créées pour chaque élément raster dans la définition de la mosaïque. Les miniatures sont disponibles lorsque vous accédez à la mosaïque en tant que service d'imagerie et s'affichent avec les métadonnées (Description d'élément).
Aucune miniature n'est créée pour les nouveaux éléments qui sont ajoutés dans la même instance d'exécution de cet outil. | Boolean |
build_item_cache (Facultatif) | Choisissez s'il faut construire un cache pour les éléments de mosaïque spécifiés. Vous pouvez créer un cache lorsque vous avez ajouté des données à l'aide des types de raster LAS, MNT ou Jeu de données LAS. La fonction Raster en cache permet également de les mettre en cache.
Aucun cache n'est généré pour les nouveaux éléments qui sont ajoutés dans la même instance d'exécution de cet outil. | Boolean |
rebuild_raster (Facultatif) | Choisissez s'il faut régénérer les éléments raster à partir de la source de données à l'aide du type de raster d'origine.
Cela ne concerne que les éléments qui seront synchronisés. Ce paramètre ne s'applique pas si UPDATE_WITH_NEW_ITEMS a été sélectionné. | Boolean |
update_fields (Facultatif) | Choisissez s'il faut mettre à jour les champs de la table. Cela ne concerne que les éléments qui seront synchronisés.
Si vous choisissez la mise à jour des champs, vous pouvez déterminer ceux que vous voulez mettre à jour en les sélectionnant dans le paramètre fields_to_update. Si vous avez mis certains champs à jour, vous pouvez les désélectionner dans le paramètre fields_to_update. | Boolean |
fields_to_update [field_to_update,...] (Facultatif) | Spécifiez les champs à mettre à jour. Ce paramètre est valide uniquement si le paramètre update_fields est défini sur UPDATE_FIELDS. Si vous avez mis certains champs à jour, assurez-vous qu'ils ne sont pas répertoriés dans la liste. La colonne RASTER peut être actualisée, même si le mot-clé REBUILD_RASTER n'est pas utilisé. Mais si REBUILD_RASTER est utilisé, la colonne RASTER est régénérée, même si ce champ n'est pas spécifié. | String |
existing_items (Facultatif) | Indiquez si vous souhaitez mettre à jour les éléments de votre mosaïque. Si vous choisissez cette option, vous pouvez ensuite spécifier les paramètres que vous souhaitez mettre à jour : sync_only_stale, build_pyramids, calculate_statistics, build_thumbnails, build_item_cache, update_raster, update_fields ou fields_to_update.
| Boolean |
broken_items (Facultatif) | Indiquez si vous souhaitez supprimer les liens rompus. Assurez-vous que toutes vos connexions réseau sont opérationnelles. Cet outil supprimera tout élément auquel il est impossible d'accéder.
| Boolean |
Exemple de code
Il s'agit d"un exemple en Python d'utilisation de l'outil 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", "#")
Il s'agit d"un exemple de script en Python d'utilisation de l'outil 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()