Select to view content in your preferred language

Calculating uphill/downhill areas on a raster map

4232
10
01-17-2012 07:53 AM
MikeTotti
Deactivated User
Hi folks,
I need to determine uphill or downhill areas along a road section on a raster map. I know MapCal program can do this but it only accepts maps in 100x100 pixels but my study area is too big to run this program (1500 x 1500). I was wondering if there is a way to do this in ArcGIS.

Thanks in advance.

-Mike
0 Kudos
10 Replies
JoeBorgione
MVP Emeritus
Hi folks,
I need to determine uphill or downhill areas along a road section on a raster map. I know MapCal program can do this but it only accepts maps in 100x100 pixels but my study area is too big to run this program (1500 x 1500). I was wondering if there is a way to do this in ArcGIS.

Thanks in advance.

-Mike


Hmmm.  You and I are in two cars traveling towards each other on the same road and we are in an area that is hilly. Which one of us is going down hill and which one of us is going uphill?  My point is for every uphill lane typically there is a corresponding down hill lane, unless we are talking about a very well divided highway, or extra climbing lanes right?

What is your objective here?
That should just about do it....
0 Kudos
DarrenWiens2
MVP Alum
Can you define "uphill area"? Are you talking about sloped sections of highway (use the Slope tool)? Or are you talking about land adjacent to roads being uphill or downhill from the road (seems like you should be able to apply a flow direction type analysis)?
0 Kudos
MikeTotti
Deactivated User
Hmmm.  You and I are in two cars traveling towards each other on the same road and we are in an area that is hilly. Which one of us is going down hill and which one of us is going uphill?  My point is for every uphill lane typically there is a corresponding down hill lane, unless we are talking about a very well divided highway, or extra climbing lanes right?

What is your objective here?


Hi there,
Here is my objective: I am working on forest fire prevention. I have DEM and forest road network for the study area. Lets say that (hypothetically) a fire truck can extend its hose up to 100m for uphill areas while extending its hose up to 200m for downhill areas to fight against forest fires. Based on this assumption, I would like to find out whether current road network covers the whole area or not. As you pointed out the uphill and downhill are direction dependent. From point A to point B left side of the road is uphill and right side of the road is downhill but from point B to point A left side of the road is downhill while right side of the road becomes uphill. I was just wondering how I could do this in ArcGIS.
0 Kudos
DarrenWiens2
MVP Alum
Here's one way (I spend 99% in the vector world, so there's probably a raster way that I don't know about):

1.) Make a raster that filters out everything > 200m from any road (Euclidean Distance, max. distance = 200)
2.) Convert that raster to points (Raster to Point). There will be a point for every cell < 200m from a road.
3.) Convert your roads to a raster (Polyline to Raster)
4.) Convert the roads raster to points (Raster to Point). There will be a string of points running down the roads.
5.) Assign elevation from your DEM to each distance point (Extract Values to Points)
6.) Assign elevation from your DEM to each road point (Extract Values to Points)
7.) Associate each distance point, with elevation, to the nearest road point, with elevation (Spatial Join)
8.) Calculate the elevation difference between each point and the nearest point on the road (Calculate Field)
9.) Delete any points < 100m from the road and a negative elevation.
10.) Convert those points back to a raster (Point to Raster)
0 Kudos
MikeTotti
Deactivated User
Here's one way (I spend 99% in the vector world, so there's probably a raster way that I don't know about):

1.) Make a raster that filters out everything > 200m from any road (Euclidean Distance, max. distance = 200)
2.) Convert that raster to points (Raster to Point). There will be a point for every cell < 200m from a road.
3.) Convert your roads to a raster (Polyline to Raster)
4.) Convert the roads raster to points (Raster to Point). There will be a string of points running down the roads.
5.) Assign elevation from your DEM to each distance point (Extract Values to Points)
6.) Assign elevation from your DEM to each road point (Extract Values to Points)
7.) Associate each distance point, with elevation, to the nearest road point, with elevation (Spatial Join)
8.) Calculate the elevation difference between each point and the nearest point on the road (Calculate Field)
9.) Delete any points < 100m from the road and a negative elevation.
10.) Convert those points back to a raster (Point to Raster)


Thank you, dkwiens, for your reply,
I'll let you know the results after I give it a try 🙂
0 Kudos
MikeTotti
Deactivated User
Thanks Darren, it worked fine. I know it's been a while but just got time to give it a try. I do appreciate your help.
0 Kudos
AndreaLeoni
New Contributor
Here's one way (I spend 99% in the vector world, so there's probably a raster way that I don't know about):

1.) Make a raster that filters out everything > 200m from any road (Euclidean Distance, max. distance = 200)
2.) Convert that raster to points (Raster to Point). There will be a point for every cell < 200m from a road.
3.) Convert your roads to a raster (Polyline to Raster)
4.) Convert the roads raster to points (Raster to Point). There will be a string of points running down the roads.
5.) Assign elevation from your DEM to each distance point (Extract Values to Points)
6.) Assign elevation from your DEM to each road point (Extract Values to Points)
7.) Associate each distance point, with elevation, to the nearest road point, with elevation (Spatial Join)
8.) Calculate the elevation difference between each point and the nearest point on the road (Calculate Field)
9.) Delete any points < 100m from the road and a negative elevation.
10.) Convert those points back to a raster (Point to Raster)


I'm using this post to make my question.
I have a raster of mountain region.
I need to calculate the uphill side as txcowboy35 but I need to extend the calculation for the whole uphill side, from the lowest part of the road untill to the pick of mountains (the highest points). So, there isn't a fixed distance but it will change from the position of the roads and from the altitude of mountains.
Is it possible to make it?

Thank you in advance for your help
0 Kudos
MarkBoucher
Honored Contributor
Seems like you are looking for the watershed boundary uphill of the road. Could you use hydrology tools to do define the watershed boundary (ridege line) and then use the road to slice the watershed and define only the uphill side of the road.
0 Kudos
AndreaLeoni
New Contributor
The principle is similar (to calculate untill the ridge line), but probably the boundary will be a triangle and I don't want it.
I need to define the uphill side because I have a rockfall hazard map and I need to filter the real areas makes damages to the roads. Further the rocks fall not as the same rule as a water flow and for this reason I don't want a triangular boundary.
0 Kudos