Derived Mosaic Display Order

5752
8
06-04-2015 08:31 AM
LorneDmitruk
New Contributor III

Hi,

I'm putting together a derived mosaic with multiple years of imagery and I have set up additional fields of metadata according to the Imagery Management guide so each source mosaic has the year is was obtained as a field. In the source mosaics I also set the year property for the overviews. In in the derived mosaic I set up mosaic properties to be by attribute only on the year field with a base order of 3000 as recommended in the guide.

AllowedMosaicMethod.png

For the data properties my default sort order is descending with the default operator set to first.

DatasetProperties.png

What I am encountering is unexpected behaviour with the display of the mosaics. In some cases the older imagery is being drawn over top the newer imagery at small scales.

OlderOverNewer1.png

Zoom in a bit and I get the expected display of the newer over the older.

OlderOverNewer2.png

Or the exact opposite in this case the newer displays over the older imagery as expected.

NewerOverOlder1.png

Zoom in and the older now displays over the newer imagery.

olderOverNewer3.png

Any suggestions as to why this is happening?

Cheers!

0 Kudos
8 Replies
GeraldThornberry
New Contributor

What happens when you change "By Attribute" to "None" in the Allowed Mosaic Methods dialog?  Does it change the behavior?

0 Kudos
LorneDmitruk
New Contributor III

Setting Allowed methods to "None" results in the oldest imagery displaying over top the newest imagery.

0 Kudos
JamesPierce
Occasional Contributor II

Do this:

Use a column like "SOrder" or another one you created to rank images in the mosaic numerically.  The display will show the images layered in the order of the ranking. 

I used to use "1" and "0" or "1" "2" and "3".  Each time I got new imagery, (Monthly), I would go into the table after adding the images to the mosaic, and change the last most recent to "0" and make the newest imagery "1".  I just made it part of my process to do this.

The latest imagery would always display on top.

0 Kudos
BlakeTerhune
MVP Regular Contributor

I'm having a similar issue and no combination of mosaic method settings seems to work. I read this Esri blog post and edited the attribute table to make the ZOrder value different on the image I want on top thinking that using the By Attribute method would work, but no. I've tried seemingly all combinations of

  • Setting all ZOrder to null or zero and using a positive or negative value on the one image
  • Ascending and descending sort order
  • Generate seamlines and use the Seamline method

I have also generated overviews, but I don't think that would make a difference. Anyone have any suggestions for me?

0 Kudos
PeterBecker
Esri Regular Contributor

A detailed explanation of the logic used in the Mosaic Method is defined in

Understanding the mosaicking rules for a mosaic dataset—Help | ArcGIS for Desktop

Specifically check the section on 'Rule orders'

The issue you are having I believe is related to CellSize Tolerance.

The default value is 1.8, but you may find you need to increase the value and then do a recompute cellsizes on the derived mosaic dataset.

What I think is happening here is that you have imagery that has different resolutions.Part of the ordering algorithm tries to ensure that only imagery that is not fuzzy is shown. Part of this process is to group together imagery (into levels) that has similar resolutions and select imagery that is in the appropriate level. The levels computed can be seen by right clicking on the MosaicDataset in the Legend and selecting Open, Levels Table. You will see that the imagery is split into level defined by Min and Max Cellsizes. You want to ensure that all the imagery that has similar resolution is in the same level. If you increase the CellSize Tolerance and recompute cellsizes you will see that the size of these groups increase. Its best not to go too fast up with the values, else multiple levels of the overviews end up in the same level which it not optimal.

Also note that the mosaic dataset property defined on the mosaic dataset it the default used by the mosaic dataset and image services. The actual method used is defined by the client application such as in the Layer properties in Desktop or through properties of the layer in a WebMap.

BlakeTerhune
MVP Regular Contributor

You were absolutely right, Peter Becker​. The tile I wanted to display on top had a much larger cell size than the rest of the imagery in the mosaic dataset. I removed the tile, resampled it to the same cell size, then added it back to the mosaic dataset with the option to rebuild overviews. Tossed the mosaic dataset into ArcMap and it looks perfect. Thank you!

0 Kudos
PeterBecker
Esri Regular Contributor

Glad it worked. Note it may not be necessary to resample the image. I typically raise caution whenever imagery is resampled as it affects quality or increases size. In this case you can just change the LoPS value in the MosaicDataset table. (Use the editor or just select the records and run calculate). Note the LoPS and HighPS values are used only to determine the appropriate scales to show rasters at. Changing the value will not affect the scale that they are drawn at. A common workflow is to reset the values to a fixed value in cases where the LoPS for a collection of rasters is different, but should actually be the same (eg OnTheFly orthorectification of aerial or satellite imagery)

0 Kudos
BlakeTerhune
MVP Regular Contributor

Good point on the resampling. In this case, I am actually creating a "censored" image to cover something on the original tile, so the quality and file size were of no concern. My process was export a small clipped extent of the original tile, resample it larger so it's pixelated, resample it again smaller so it matches the pixel size of the original tile, then add it to a mosaic dataset with the rest of the tiles and set up the mosaic method. I may try your suggestion with changing the LowPS value in the mosaic dataset table next time as that might be easier.

0 Kudos