3

I am trying to create a slope map in ArcMap out of a DEM. I used the Slope Tool (Spatial Analyst), selected my DEM as input and degrees as an output result. There I got the message that "The Z units of the output geographical spatial reference are undefined. A default Z factor of 1 was used". I pressed ok and I got this result: enter image description here

As I can understand (this is the first time I use the slope tool, I'm new to ArcGis Suite) almost all my values are within the range of 89.6 - 89.9 degrees something that is clearly wrong, as my study area is this one: enter image description here

I tried to create more classes in Symbology tab but I couldn't select more than three in Natural Breaks (Jenks) classification. I am able to create 32 classes at Equal Interval option but this also doesn't change anything. I tried my luck with Unique Values and I was asked to create them and I pressed ok but all the values are around 89.9. enter image description here

I got the DEMs from Nasa Reverb, I connected two of them with Mosaic to Raster, created a shapefile (I selected the same projection, WGS 84 for the shapefile) and clipped my study area. Then I played with classes and colors in order to be as naturally looking as possible. I created a break at 0 Value in order to color the sea blue. Right after that I used the slope tool.

enter image description here

Any ideas for the slope degree values to be calculated correctly?

9
  • 1
    Please edit the question to specify both the coordinate system of your DEM, and the units that the values represent. If the answers are decimal degrees and meters, the warning message that you dismissed was not insignificant.
    – Vince
    Commented Mar 11, 2016 at 14:30
  • 1
    I can't really edit my question now. My DEMs projection system is WGS 84. The units are degrees. The note ArcMap gives is: The inclination of slope will be calculated in degrees. Commented Mar 11, 2016 at 14:34
  • 1
    Slope calculations should really be done in a projected coordinate system. If your vertical units are meters, then that would explain the slope values, when an 0.000277778 X/Y delta results in a 1-100 Z delta
    – Vince
    Commented Mar 11, 2016 at 14:55
  • I changed the coordinate system to WGS 84 World Mercator and the Display Units on the General tab to meters if that makes any difference. Map units are in meters. Then I recalculated the slope and unfortunately I got the same result. s27.postimg.org/btbrjpljn/Untitled.png s30.postimg.org/8wk6zghk1/Untitled2.png Commented Mar 11, 2016 at 15:04
  • 2
    If you "change the coordinate system" you don't actually project the data, so no change in slope should be expected. blogs.esri.com/esri/supportcenter/2013/08/23/… Mercator is not a projection suitable to slope calculation.
    – Vince
    Commented Mar 11, 2016 at 15:16

2 Answers 2

4

The slope tool is not smart enough to know the vertical units of your DEM. By default, it assumes that the vertical units are the same as the horizontal units of your DEM raster, which is decimal degrees in this case. In order to correct this so that it properly assumes meters, you need to apply a z-factor, which is a ratio between the horizontal and vertical units. As described in the Applying a z-factor help page, for your study area near 40 degrees north latitude, you would want to use a z-factor of 0.00001171. This is because at this latitude, each meter is approximately 0.00001171 decimal degrees. Rerun the slope tool with this z-factor and your results should make much more sense.


As @Vince was saying in the comments, you should avoid performing this kind of raster processing when your raster is in a "geographic coordinate system," i.e. a plate carrée equirectangular projection. It would be better to project the DEM using the Project Raster tool. Changing the coordinate system in the data frame properties like you did only changes the visualization, it does not change the underyling data. Good projected coordinate systems for regional-scale analyses are UTM/Gauss-Kreuger or a national/regional conic projection. If both your horizontal and vertical units are in meters, you could then calculate slope with a z-factor of 1.

6
  • Thank you for your response. So what I did is: Use Project Raster Tool and used WGS 1984 World Mercator Projected coordinate system. s7.postimg.org/3w3wjcmp7/project.png A new black & white raster was created. Then I used Slope Tool (Spatial Analyst). I entered the new raster with the changed coordinate system as my input, I selected DEGREE as my output measurement and I put 0.00001171 as Z-Factor. s24.postimg.org/w24qr0q5x/Untitled.png The result is pretty much the same. s10.postimg.org/w0a32s33t/result.png with degree values ranging from 80 to 89 but no less. Commented Mar 11, 2016 at 17:28
  • No, that Z factor only applies to your data's latitude in decimal degrees. World Mercator is still an inappropriate projection (it grossly distorts distance, which you want to preserve for slope)
    – Vince
    Commented Mar 11, 2016 at 17:38
  • Does that mean that I have to edit the Values of the projection system itself in order to edit the z value? Where I can I find that option? Also, please direct me to the appropriate topic for the right projection system. Commented Mar 11, 2016 at 18:05
  • 3
    @GeorgiosAlevizos The 0.00001171 z-factor is a short term fix for your raster with the geographic coordinate system. Projecting your raster is a longer term fix and would require a different z-factor, as I explained in my answer. Mercator is a bad choice--better to use UTM, Gauss-Kreuger, or something more local. And reading through the Esri help page should clarify things.
    – dmahr
    Commented Mar 11, 2016 at 20:02
  • Dmahr, please excuse my, I guess irritating, ignorance. So I shouldn't use 0.00001171 as Z-Factor if I change the projection system is that right? I understand that this value is to be used when using Slope Tool if I don't want to change the unsuitable coordinate system that I have now. In this case, repeating the same process with this Z factor=0.00001171 didn't change the result. But I changed the projection to UMT and specifically to Datum_73_UMT_Zone_29N and we are getting somewhere. Is this fine for my area? I can't find that information. s13.postimg.org/5y5tjofpj/Untitled.png Commented Mar 12, 2016 at 9:19
0

You might want to check your DEM values and make sure they are correct. If you mosaic a group of DEMs and do not specify higher than an 8-BIT pixel processing, you will get those numbers (89.5). You've also got to get the file in the right projection too.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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