What format is your data? Is it a height map? or some other type? If it is a height map you can just find the normal of the cell you are standing in and use the plane equation to calculate the camera’s position.
As for steps and rocks, thats a little more complicated but nothing you couldn’t solve by looking at some of tutorials on www.flipcode.com Check out the tutorials on Collision Detection, these will also help if your not using height maps.
Hope that helps but trust me when I say that Collision detection is not an easy subject.