viewshed visibility classes - way too complicated

2669
2
05-18-2013 02:41 PM
jensvoltert
New Contributor
Hello,
I am trying to calculate a viewshed which shows different classes of visibility depending on its distance from a point (turbine). The outcome should be a shapefile which catagorizes the visibility of wind power stations into different visibility classes. To do so I tried different approaches, which appear to be long-winded and complicated. Right now I'm working with rather small data sets to get a better understanding of the processes. Later on I will have to find a way to automatize these processes in order to work with the real data.

So here is what I have so far.
Approach 1:
1 testturbine in a pointshape (turbine.shp)
1 dem

1)Calculate 4 serperate viewsheds with Radius2 of 1000m , 5000m, 7.500m and 15.000m from turbine.shp
2)convert all 4 rasters into polygons
3)dissolve all 4 rasters (dissolve field : gridcode)
4)manually remove the dissolved polygon with gridcode 0
5)create rings by erasing polgon3 (10.000m radius) from polygon4(15.000m radius) --> the same with polygon3-polygon2 & polygon2 - polygon1
6)add a field with a textvalue into each new polygon(-ring)
7)union all four polygons
Now I have a polygon which looks something like the picture I attached

Approach 2:
1 turbine in a pointshape (turbine.shp)
1 dem

1) Calculate 4 rings by using the multiple ring buffer tool
2) assign a specific text value to each ring to be able to use the split tool to create seperate shapes of rings
3) calculate the viewshed with the radius2 of 15.000m
4) convert raster to polygon
5) dissolve with field gridcode
6) intersect each ring with the 15.000m viewshed
7) union all four new polygons
Again I (after adding unique values) I have whats shown on the attached picture

I know that these approaches are probably way too complicated for achieving what I want. Which is why I signed up here to ask for help.

As I said before the methods I used work fine for small datasets, but later I will have like 800-1000 turbines and therefore wont be able to do the steps manually. I researched some python scripts which until now do the job with bigger datasets, but I guess there is a (much) easier way.

Again what I want to do is I want to modify the viewshed of a wind turbine, so that its visibility is catagorized by distance (radius) from the origin
Later on this has to be done to at least 800 other wind turbines, creating 800 more catagorized viewsheds which then will be "unioned" to one final polygone. In its attribute table will then be enough data to classify each polygon in viewing range of the turbine with a "level of visual disturbance".

I really hope you understand what I want to do here and can give me some helpfull advice. I have to apologize for my bad english, it's clearly not my native language.
0 Kudos
2 Replies
jensvoltert
New Contributor
I totally forgot to mention: I am working with Arcgis 9.3

I read here http://www.rqgg.net/topic/ntxrx-run-viewshed-on-only-one-feature-at-a-time-in-a-shapefile.html that it is possible to create individual viewsheds by somehow running through the lines of a table of a feature class. If I could somehow do this and thereby create like 800 viewsheds of points from one layer this would be a huge help. Would it be possible to somehow instruct arcmap to select those polygons from the viewshed which match for example the distance 1000m from origin and automatically add a value like a string that says "zone1" in a field? If this was possible I could cut all the ring creating.
0 Kudos
jensvoltert
New Contributor
ok. Even though I hate commenting my own post, there is some news. I understand now that the previous mentioned link explains a method only suitable for arcgis 10. Anyway there is a script that automatically does this, but it simply automates the splitting of the pointshape and then runs individual viewsheds. I couldn't quite get it working, somehow my viewsheds are all screwed up. When dragging the point shape in the mask of the script it states an error, however I browse to the file and force it working. The attribute table must be alright though, because it works finde doing viewsheds manually with it. Eventhough it wasn't doing it for me, here is the link: http://arcscripts.esri.com/details.asp?dbid=14687

The selecting thing  (previous post) does not work for me, because it selects also polygons, that have just a tiny part within the distance of for example 5000m and a rather large part outside of that distance...

In addition I discovered a problem with erasing a small viewshed from a bigger one. Even though I was using exactly the same feature class (only with a changed RADIUS2 value) the viewsheds do not cover eachother a hundret percent (in the intersecting area). In the zoom you can see blue pixels from the Viewshed with Radius2=15.000m not covered by the green pixels from the smaller viewshed with Radius2= 7500m   [ATTACH=CONFIG]24505[/ATTACH]

so as I see it I'm pretty much stuck with the most complicated and time consuming approach: The one with the multiple buffer rings...
0 Kudos