Good afternoon. I am helping out our UAS coordinator who flies all of our missions. He is currently using Site Scan to process all the flights. My task is to take the true ortho images and lay them on top of our current aerial.
Our current setup is as follows:
2024 Aerial was flown leaf off in Spring of 2024 by a aerial imagery company. I created a mosaic dataset with overviews and published an imagery service onto our Imager Server within ArcGIS Enterprise 11.3. Our aerial is now over a year old and our UAS coordinator has lots of flights around the city in areas of growth. We'd like to take those true ortho images and integrate them into the current aerial service.
I have the general process figured out with adding the rasters, but I can't get the new image to lay on top of the old one.
Any help with this would be greatly appreciated.
Thank you,
Matt
What we've done is add an <AquisitionDate> field to the mosaic dataset, field calculate those values, and then set the default mosaic method to By Attribute sorted by AquisitionDate. That should let the latest image display on top.
Thanks for the reply. I had a similar workflow, but it didn't appear to work as neatly as I thought it might. I'll go back and test again.
I assume you calculated the values for the Overviews as well in the attribute table?
Actually, good question. I'm not currently using overviews, so I don't know how that works. I would think the overviews should inherit the time settings or be exempt from the time settings since they should display by default at the set scales. I would be interested to hear what you experience with that - it seems others have had similar issues.
issue-with-time-enabled-mosaic-dataset-overviews
https://pro.arcgis.com/en/pro-app/latest/help/data/imagery/time-in-a-mosaic-dataset-pro-.htm
It's difficult to advise without seeing your configuration, but here are some suggestions:
1) if you aren't familiar with https://esriurl.com/imageryWorkflows , that site provides a depth of knowledge I advise for anyone working with imagery in ArcGIS
2) I'd recommend you implement the Source/Derived mosaic dataset model to maintain your imagery over the long term. The base layer of 2024 aerials would be in one source MD, and you can add new drone flights into a "drone update" MD. If you have multitemporal drone flights over the same site it would take additional configuration advice, but if you want all the drone flights in the "new/on top" layer it should work well.
3) If you'll be doing ongoing updates I'd strongly encourage you to use the configurable scripts to (semi)automate this process. That would enable you to rebuild your mosaics easily if anything got corrupted or misconfigured.
4) I'd recommend that you add a new field into the MD's to define which you want on top - in the ImageryWorkflows we talk about a "best" field but you may choose a different field name. You'd use Mosaic Method = By Attribute and point to that ("best") field in the Derived mosaic, then ensure that your "best" field values are calculated to ensure lower numbers for images to appear on top. In simplest terms, the base layer aerials could be "best=2" and drone layer "best=1" but if you want to order everything by date, you could calculate "best = (January 1, 2999) - acquisition_date" to ensure newer datasets have lower values. (This may be confusing - in this last statement I'm assuming you'd have a different "best" value for every record in the drone mosaic)
One other comment - although the mosaic dataset and image service are a dynamic data structure (can change which image is on top) remember the overviews are static - they show the state of the mosaic (at the scales they cover) when you create them. Thus overviews are appropriate on the source MD for the base aerials layer, and depending on the size of your individual drone mosaics you may want to rebuild overviews on the drone mosaic layer each time you add a new drone flight, then just ensure the drone mosaic has a "best" value lower than the base aerials mosaic as referenced within the Derived MD.
If any of that isn't clear, let me know. Note the "Source/Derived mosaic dataset model" is a specific configuration with important methods - if you're not familiar with it, review the workflows site before proceeding.
Cody
Cody,
Thank you for the input on this. I've just started to read through this method and it looks very promising. I'm hoping to carve out some time today to get back to solving this problem. I'll report back once I have something working or if I have more questions.
Again, I appreciate the feedback!
Matt
Cody,
I was able to play around with creating the two MDs. One with my 2024 Aerials and one for our drone flights. I'm just using a small subset of the data while I get comfortable with this workflow. One question I had was do I need do do anything with overviews for the derived MD or just create the overviews on the two source MDs?
I'm experiencing some funky behavior though when zooming in on certain areas. My source 2024 MD with overviews displays everything like normal at all zoom levels. My source drone MD currently doesn't have overviews and also displays fine unless you zoom out to 1:36,112. At which point, it disappears. When I add both of those MDs into my derived MD everything displays fine at a smaller zoom scale. However, when I zoom in to 1:141 or 1:282(Web Mercator scales), I'll have parts of the 2024 images disappear within a certain footprint and the same happens with the source drone MD. This behavior doesn't happen with the source MDs on their own.
I did notice that is appears the MD doesn't support a Date Only field, so I switched to a regular Date Field for doing the By Attribute Mosaic Method. I'm using Last for the Mosaic operator so it grabs the latest date to be on top.
Thoughts?
Thanks,
Matt
hello Matt
1) re: the "source/derived" model, be SURE you use the "Table" raster type when merging source MDs into the Derived. If you use "raster dataset" it can cause performance problems.
2) re: overviews, there's no single answer (depends on # datasets, display scales etc.) but in your case I would probably recommend overviews on the source MDs but not on the derived. That is, unless you're sure your users *always* want to see the drone imagery on top, in which case you could also create overviews on the derived MD. You'd need to rebuild them every time you add a new drone mosaic to the drone MD - that would be true for the drone MD as well as the derived composite mosaic, if you *do* want them on the derived MD.
3) when you said "My source drone MD currently doesn't have overviews and also displays fine unless you zoom out to 1:36,112. At which point, it disappears", creating overviews on that source MD should fix that.
4) You may already know, but the MinPS and MaxPS fields in the MD control when the associated layer is made visible. https://pro.arcgis.com/en/pro-app/latest/help/data/imagery/mosaic-dataset-attribute-table-pro-.htm and if you read the section on "Cell Sizes" in this doc https://pro.arcgis.com/en/pro-app/latest/help/data/imagery/source-derived-and-referenced-mosaic-data... you'll find some advice. Note that with mosaic datasets of mixed sources and resolutions, the automated tool (Calculate Cell Size Ranges) isn't always able to make the right decisions, so you may have to manually decide the desired visibility of each drone mosaic (? all the same?) and set them manually in the Source MD. If you use the Table raster type, the MinMax PS should be copied over.
5) Last, if you want to use the MDCS scripts to make this automated and repeatable (recommended), the "Preprocessed orthos" example fits your situation. See https://www.esriurl.com/preprocessedorthos and look for the Try It Out tab
Cody
Cody,
Thank you for the excellent response. I'm hoping to play around with this workflow further today. I have some other stuff I need to finish up first.
After I published my test derived MD as an Image Service, I brought it into Pro and Portal Map Viewer. I had to manually adjust the connection settings on the service for the By Attribute Mosaic Method to take effect. After I did that, the drone images were always on top. I'm assuming once I'm ready to publish a production service from my derived MD I can make the necessary adjustments and create a basemap so I won't have to do that again unless I bring the service in manually.
I'll keep playing around with the min/max fields and I see if I can resolve the odd issue of the derived images disappearing when they don't experience that behavior in the source MD.
Thanks for all the help on this. I will mark it as solved with a solution once I'm able to do a little more testing just in case I have a few more questions pop up.
Matt