[GRASS-user] Line of Sight/Viewshed help

Micha Silver micha at arava.co.il
Mon Oct 11 07:54:48 EDT 2010


Dan Connors wrote:

> A cell phone provider wants to install a cell tower in our neighborhood along
> a protected ridgeline.  I am working with some of the neighbors to see what
> options our town has to regulate the location of the tower.  I have been
> trying to learn the GRASS system and volunteered to produce a map that will
> show from where the proposed tower will be seen.  I know the proposed
> location (lat/long) and height of the tower.
>
> I have been running some of the examples in the GRASS book (Open Source
> GIS:AGrass GIS Approach, 3rd Edition) for line-of-sight calculations (eg,
> page 152) and can get the examples to work for the NC sample data and the
> spearfish data.  
>
> I downloaded elevation data from the USGS (1/3 arc second resolution), but I
> can't get r.los to work on this data because it is lat/long based and r.los
> requires XY data.  I see there is an add-on module, r.viewshed which can
> take lat/long coordinates as input.  I guess I could also re-project the
> elevation data.
>
> Can someone suggest what map data, what projection, and which module (r.los
> or r.viewshed) I should use?  My goal is to produce a map like that on page
> 152 showing the area in my neighborhood.  I think I understand the basic
> concepts but I need some guidance to pull the right pieces together.
>
>   
You'll probably want to choose whatever rectangular projection is used 
in your state. Or alternatively just go with UTM and the zone relevant 
to where you are.
The steps will be more or less:
- in the WGS84 location where you've input the USGS elevation data, set 
the region to your town/neighborhood with g.region.
- get this region as a vector rectangle with v.in.region
- Close GRASS and restart, but this time create a new LOCATION based on 
the CRS that you choose. I find it easiest to check for the EPSG code at 
spatialreference.org and use that to create the LOCATION.
- In the new LOCATION use v.proj to project the rectangle of the 
neighborhood region from the previous WGS84 LonLat LOCATION into this 
new LOCATION
- Set the current region to that rectangle with g.region vect=...
- Now project the USGS DEM from the Lon-Lat LOCATION to your projected 
CRS with r.proj
- You'll also have to get the X-Y coords of the tower into the new 
projection. The cs2cs utility can do that. Something like this:
cs2cs +init=epsg:4326 +to +init=epsg:2039 << EOF
 > 35d10'30.0" 30d30'45.0"
 > EOF
216623.71    491384.93 -19.90
On the first line you'll enter the EPSG code for the CRS you chose 
earlier.. The output should be the X-Y coords in the new CRS.
- Now you're ready for r.los in the new LOCATION....

Good luck...
> Thank you for your help.
>
> Dan
>
>
>   



More information about the grass-user mailing list