I am trying to figure out how to create a elevation raster from a known location (3D polygon) that projects at a specified slope (1%) for a specified distance(1-2 km).
Does anyone have any idea how to do this?
Multiply the polygon's Euclidean distance grid by 1/100. This slope will increase away from the polygon. To make the slope decrease downwards from the polygon, multiply by -1/100 rather than +1/100. An illustration (for a polyline rather than a polygon, but the method is identical) is given in another thread at https://gis.stackexchange.com/a/17805.
To obtain the specified limiting distance, you will get a lot of control by creating a mask for the Euclidean Distance calculation. For instance, use a 2000 m buffer of the polygon as the mask.
To place the polygon at a fixed elevation, add that elevation to the previous result. Thus, for example, a Map Algebra expression might look like
Slope = 300 - (1/100) * [Euclidean distance to polygon]
When the polygon boundary is at varying elevations, convert those elevations to a categorical (integer) grid if necessary. (Reduce the discretization effect by rounding to the nearest 1/10 or 1/100 of a meter if you like.)
As before, compute the Euclidean distance grid.
Also compute the Euclidean allocation grid for the boundary: the values in this grid give the elevations of the nearest polygon cell.
Now perform the same subtraction as before, as in
Slope = [Euclidean allocation] - (1/100) * [Euclidean distance]
(The color breakpoints have changed slightly to accommodate the greater range of elevations in the resulting grid.)
You can see the problems with a varying elevation along the boundary. They are akin to what is observed in a complicated sloping roof: although the roof may have constant slope everywhere, the ridges and valleys have lower slopes. Therefore you cannot (usually) obtain a surface of constant slope emanating from the original polygon (unless that polygon's boundary behaves like the intersection of a cone of the desired slope and a right prism based on the polygon).