Currently I'm tasked with publishing an image service from drone imagery and I've been trying to learn more about managing the mosaic dataset object, and also understand if I'm publishing the best image service possible (overall purpose is to serve custom basemaps at street-level scale).
I'm using an Arc Image Server to publish the image service, which is then used to create a custom basemap item in AGOL.
Here's a breakdown -
- Drone team notifies me that the image service needs to be republished, meaning they have finalized adding or removing rasters in the mosaic dataset. They use SiteScan, then create a georeferenced orhtomosaic that is loaded into one large mosaic dataset (stored on a registered cloud store).
- I review the MD , analyze it, and attempt to republish an updated service.When analyzing the mosaic dataset, I come across several critical errors (see screenshot). Now, I'm trying to come up with a workflow to update the MD. My goal is to identify the necessary geoprocessing tools to best optimize the mosaic dataset and resulting image service.
Updating Mosaic Data Steps: Everything is green has yet to run. Just trying to plan ahead...- Remove Rasters from MD - Ran this to remove "orphaned overviews" (error - The overview mosaic dataset item may not have any participating raster datasets). This process took 36 hours to run... I figured this was fairly critical error to address because they may have removed some rasters from the MD.
- Calculate Statistics - also seems like this will take a while…
- Build Footprints (refine footprints and NoData)
- Generate Seamlines
- Build Overviews (necessary for service side caching on large collection, bolstering performance)
Here's how the image service configured currently -
- Service references source data directly from cloud store. I know this isn't ideal but given the size of the mosaic dataset, generating caching to serve imagery would require too much storage (estimated 22 TB at needed scales).
- I assumed building overviews on a mosaic dataset served a similar purpose as caching on the object's side. Overviews are built on the MD, generating a fairly large amount of data also (albeit manageable).
- I also considered separating the collection into several mosaic datasets for more efficient processing... As mentioned above, many of the processes above are taking a really long time to execute (running on a new server).
Any general guidance or feedback would be helpful and appreciated. I feel like there's a lot I could improve on here to get the best image service. Thank you.