2

I'm working a set of 30meter DEMs (~40 DEMs) for New England. I've seen a lot of debate on whether to work with (A) the individual DEMs first, and then mosaic the final raster calculations together, or (B) mosaic the original DEMs and then run all other processing on the new mosaic. I'm trying to determine what the best approach is for my specific project.

My eventual goals are as follows:

  1. Calculate slope for all of New England
  2. Calculate hillshade for all of New England
  3. Calculate aspect for all of New England
  4. Compare slope, hillshade, and aspect with 3 other regional layers (not derived from DEMs)

Would it be best to calculate slope, hillshade, and aspect for each DEM and have separate rasters that then can be mosaicked?

Or mosaic first and calculate on one giant DEM mosaic?

Because the spatial reference of the original DEMs is in UTM, I'm also running into some projection issues (mostly resolved in previous question: mosaic dem with multiple coordinate systems). My data spreads across 2 zones; UTM 19N and UTM 18N.

I have a VERY basic understanding of GIS (using ArcGIS 10.2).


I've mosaicked first and run into some issues with changed values between the original DEM and mosaicked DEM. I just did a small mosaic (2 30m DEM tiles) to see what's happening with the Python code. The code is pasted below:

arcpy.MosaicToNewRaster_management(input_rasters="'F:/MyBook Backup/All Data Files/GIS Data/Geodatabases/Unprojected2.mdb/Pned30m41073';'F:/MyBook Backup/All Data Files/GIS Data/Geodatabases/Unprojected2.mdb/Pned30m41074'",output_location="F:/MyBook Backup/All Data Files/GIS Data/Geodatabases/Unprojected2.mdb",raster_dataset_name_with_extension="Pned41073n074",coordinate_system_for_the_raster="PROJCS['USA_Contiguous_Albers_Equal_Area_Conic_USGS_version',GEOGCS['GCS_North_American_1983',DATUM['D_North_American_1983',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Albers'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['central_meridian',-96.0],PARAMETER['Standard_Parallel_1',29.5],PARAMETER['Standard_Parallel_2',45.5],PARAMETER['latitude_of_origin',23.0],UNIT['Meter',1.0]]",pixel_type="32_BIT_FLOAT",cellsize="#",number_of_bands="1",mosaic_method="BLEND",mosaic_colormap_mode="MATCH")
  • First, try setting your colormap mode to FIRST and then try the mosaic again: webhelp.esri.com/ARCGISDESKTOP/9.3/… Also try fiddling with the mosaic method, trying Min, Max, or Mean as values. – Conor Jan 5 '15 at 21:39
4

You're better off mosaicing first. It will save you time and effort to do so.


  1. Setting up a batch process in general usually takes a bit more time than firing off a single calculation on a single raster. This is especially true in ArcGIS, whose batch tools aren't always user friendly and are sometimes completely separate geoprocessing tools from the single-use version.

  2. The scope of your calculations will only be at the extent of each raster that you feed into the function. For example, if you ran slope on each of your 40 DEM's, you wouldn't get an accurate slope measurement where DEM's intersected (the outer pixels of each DEM) without re running the calculation. More unnecessary work.

The end result will be the same using either method provided that your mosaic works with any reasonable accuracy. Why? You're doing the same set of calculations, but one method requires quite a few more iterations than the other.

One reason I can think of where you wouldn't want to mosaic first is when you would be dealing with very high resolution rasters (4+ inch) where you run into memory issues by attempting to process the entire mosaiced raster. Since you are talking about 30M (a pretty low resolution raster by today's standards) DEM's, this is almost certainly a non issue for you.

  • Thanks for the explanation. I'm running into 1 additional problem when I mosaic. Manny of the values from the original DEM do not match the same value in the mosaicked DEM. They're typically not off by a lot, but it's not a consistent change in values. I know this should happen around the edges, where DEMs overlap, but I can't figure out why it's happening in the middle of DEMs. Any thoughts? – KKL234 Jan 5 '15 at 15:52
  • 1
    It may be related to your mosaic execution. In ArcGIS, run the mosaic again. Then on top menu click on Geoprocessing -> Results, expand Current Session. You will see the mosaic operation you just ran. Right click and select "Copy as Python Snippet" and edit the paste into your question so that we can have a look at the function you are running. – Conor Jan 5 '15 at 16:13
2

Use mosaic datasets to manage your rasters and that will mosaic and calculate for you both at the same time. One mosaic dataset for the entire DEM and then one each for slope, aspect, etc. The latter are done via functions (e.g. the slope function) which process the data on the fly. There is much to say but better to get it from the source so here are two help articles to get you started:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.