Hi everyone,
I'm running into an issue with duplicate rasters appearing in a derived mosaic dataset, and I’m hoping to get some guidance on best practices, specifically around the Synchronize Mosaic Dataset tool settings.
Environment / Setup
- Enterprise GDB (SQL Server)
- Orthomosaics (COG) stored in S3
- ArcGIS Pro 3.5.4 / ArcGIS Enterprise 11.5
- Daily ingestion python script
Mosaic Structure
- 3 source mosaic datasets, split by year (2024, 2025, 2026).
- Each source mosaic dataset grows to ~15,000–20,000 rasters.
- New orthomosaics are added daily.
- A derived mosaic dataset combines the three source mosaics using:
- Raster Type: Table
- (following ESRI recommendations for scaling large collections)
Workflow
I have a script that:
- Checks S3 for new orthos
- Loads them into the appropriate source mosaic dataset
- Runs Synchronize Mosaic Dataset on the derived mosaic dataset
The goal is simple:
- Add any new rasters to the Derived MDS that were just delivered to the Source MDS. My Derived MDS should just be an identical, combined version of my 3 Source MDSs.
Problem
The derived mosaic dataset is accumulating duplicate rasters over time.
- There are no duplicate rasters in the source mosaics.
- This suggests that something in the synchronize process is reintroducing or duplicating items rather than strictly appending new ones.
What I've Observed
- Earlier, I had trouble getting the Synchronize Mosaic Dataset tool to detect new rasters at all.
- After adjusting parameters, it now detects them, but I’m now seeing duplication issues.
- Some parameters make the process take 8+ hours to complete - also not feasible.
- When testing on a smaller subset of mosaics (~10-20), I can't reproduce the issue.
- Here's what's running currently:
arcpy.management.SynchronizeMosaicDataset(
in_mosaic_dataset=pDMDS,
new_items="UPDATE_WITH_NEW_ITEMS",
sync_only_stale="SYNC_STALE",
update_cellsize_ranges="NO_CELL_SIZES",
update_boundary="NO_BOUNDARY",
update_overviews="NO_OVERVIEWS",
build_pyramids="NO_PYRAMIDS",
calculate_statistics="NO_STATISTICS",
rebuild_raster="NO_RASTER",
update_fields="UPDATE_FIELDS",
fields_to_update="AquisitionDate;CenterX;CenterY;GroupName;ProductName;Raster;Shape;Tag;ZOrder",
existing_items="IGNORE_EXISTING_ITEMS",
broken_items="REMOVE_BROKEN_ITEMS",
skip_existing_items="SKIP_EXISTING_ITEMS",
estimate_statistics="NO_STATISTICS"
)
Question
For this workflow, where I only want to:
- Detect and add new rasters only to an existing derived mosaic dataset.
- Not reprocess or duplicate existing rasters.
What Synchronize Mosaic Dataset parameters should I be using?
Otherwise:
- Is there anything specific to using derived mosaic datasets with the Table raster type that could cause re-indexing or duplication of referenced items?
Any guidance, examples of working configurations, or gotchas around Synchronize Mosaic Dataset in this type of architecture (Source MDS --> Derived MDS via Table Raster type) would be greatly appreciated.
Thanks in advance!