[GIS] Calculating slope/gradient from longitude and latitude

coordinateserosionslope

I've recently got some field erosion data. The only geographic data I have is the (lon, lat) (in degrees).

I need to plot the erosion against the slope, however, I do not have the slope yet.

Is it possible to calculate the slope from (lon, lat) coordinates?
If so, how?

Best Answer

Short Answer

No. It is not possible to calculate slope from only latitude and longitude coordinates (or from only any other form of XY coordinates or horizontal-only data).

Additional Information

Calculating slope requires both horizonatal and vertical coordinates. The vertical coordinate is often referred to as the 'Z' coordinate (and 'X' is the easting or longitude and 'Y' is the northing or latitude). You need X, Y and Z to calculate slope. It is not possible with X and Y alone.

(Technically, you need horizontal distance, and vertical difference. Horizontal distance is usually calculated from X & Y coordinates, and vertical difference from Z coordiantes. Hence the requirement for X, Y & Z coordinates.)

As @BERA suggested, a DEM (digital elevation model) is often used to generate slope data. A DEM is a raster dataset (think of it as an image) where each XY cell (pixel) is represented by a Z value for elevation. Most GIS applications include tools to generate slope data from a DEM (either steepness and/or direction of slope). You may be able to find a free DEM for your area, eg from your government, however free ones are often of a low resolution and may not be good enough for your purposes.