I am trying to perform a Viewshed analysis in ArcGIS, and after reviewing multiple questions on this forum involving the definitions of OFFSETA v OFFSETB I am confused as to which to use.
The accepted and upvoted answer to Viewsheds and Observer Points in ArcGIS Spatial analyst appears to state that OFFSETA is the height of the target point, (in this case a turbine of 50m) and OFFSETB is the eye level height above DEM (in this case 1.65m).
Whereas the accepted and upvoted answer to Viewshed Analysis for bridge polyline observer feature appears to state that OFFSETA is the eye level height above DEM, and OFFSETB is the height of the target point.
I think the confusion is coming from the way the ESRI help documentation is worded - they appear to explain a viewshed as calculating which areas of ground you can see from an observer point, rather than which areas of ground you can see a target point from? Both are applicable, it just makes the terminology confusing if you are using the opposite approach to their example.
Their definitions are:
There are two offset items, one defining the elevation to be added to the observer location and the other defining what will be added to each cell to be considered for visibility.
OFFSETA The OFFSETA item indicates a vertical distance in surface units to be added to the z-value of the observation point. If OFFSETA exists in the feature attribute table, its value is added to the SPOT elevation when present; otherwise, it is added to the interpolated surface z-value. The OFFSETA value must be positive. If the OFFSETA item does not exist, the default value is 1.
OFFSETB The OFFSETB item indicates a vertical distance in surface units to be added to the z-value of each cell as it is considered for visibility. If OFFSETB exists in the feature attribute table, its value is added to the surface z-value of each cell location when it is being analyzed for visibility. The value must be positive. If no OFFSETB item is found in the feature attribute table, it defaults to 0.*
For my own query, I have a shapefile containing target points, and a raster DEM of terrain data.
I want to see all the areas on my terrain data from which I would be able to see my points, if the points are sitting at ground height but my eye level across the terrain data is 2m.
I have used Extract Values To Points to make sure my points have ground level heights from the DEM, and I know I need to use OFFSETA or OFFSETB as an additional field in my points file to incorporate my eye level of 2m, which should add 2m to every cell of my terrain model in the visibility calc.
My understanding is I would use OFFSETB and set this to 2m, as will add 2m to each cell of my raster, rather than adding 2m to my points, which I want to keep at ground height.
Can anyone confirm or correct my understanding?
Answer
I believe that your confusion of what OFFSETA and OFFSETB represent is a result of the fact that two questions can be answered using viewshed tool. Classic viewshed answers question "What can observer see from location X?" - in this case OFFSETA represents eye level of observer and OFFSETB represents height of target (if there is any). The second question that can be answered by viewshed tool is the reversed variant of viewshed. "From which locations the observer can see location X?" Sometimes this viewshed is named "reverse (inverse) viewshed" to highlight the difference. In this case OFFSETA represents the height of target (object to be seen) and OFFSETB represents eye level of observer.
So yes, your understanding is correct. OFFSETB will be offset of observer in your case. However, I would suggest using at least small OFFSETA (0.1 meter or somethig like that) in order to avoid intersection of line-of-sight with the terrain closely to you points, which would most likely render your points invisible even in situations when it should be visibile.
No comments:
Post a Comment