I want to run a viewshed analysis on a site I am interested in. I have the relevant elevation raster (taken from the OS UK, which is in the ASCII format) and a point feature class from the lat/lon coordinates of the particular site (I have also converted both into the same coordinate system). However when I try to run a viewshed analysis in ArcGIS 10.1, it doesn't work and there is an error message saying that 'there is no valid observation points present'.

I was wondering whether anyone could tell me what I am doing wrong and how to correctly create observation points and run the viewshed analysis. I have looked at some books on the subject and have successfully followed their instructions on the data provided by them but I seem to be having trouble when I am using my own data! Any information would be massively appreciated!

I have used the Geographic Coordinate system for both: OSGB_1936. I have taken the DTM from OS UK website (which is called Panorama and it is in ASCII format). First I added both to ArcMap and created a Hillshade. Hillshade did work but there was a yellow exclamation mark and obviously I got the error message I mentioned earlier when I tried to do the viewshed.

Today I changed the coordinate system of the DTM to the British National Grid (that’s under Projected coordinate systems) but left the XY point the same: Geographic Coordinate system OSGB_1936. When I ran the Hillshade with this combination it worked properly i.e. there was no yellow exclamation mark.

Then I ran a viewshed and it seems like this time it worked but the only thing I did different was change the coordinate system for the DTM. I don’t understand why that would make such a difference and I was hoping whether you would be able to let me know if I have done the right thing here (I did try to attach printscreen shots to make the steps I have done clearer but it didn't work - so, sorry about that). I wanted to add 15m and run another viewshed. So I set a OFFSETA (which appeared on the attribute table of my XY point) and another viewshed was generated - indicating that the area of visibility had increased which seems to suggest that it worked. But I was wondering whether you might be able to tell me why changing the coordinate system may have had such an impact and whether I have missed any crucial steps along the way?

  • 2
    Did you project everything into a system with meters as the units (e.g. OSGB - EPSG:27700)? Also did you set OFFSETA for the point feature class. It defaults to 1m but that's rarely credible unless you're doing the viewshed from the perspective of a seated observer (in an ornithological hide for instance). Commented Jul 1, 2013 at 8:20
  • 3
    In order to get help with what you are doing wrong, please show us what you are doing! Precisely what steps are you following? In particular, because the viewshed analysis is driven by specific fields in the point feature table, please describe those fields and their values. Information about the coordinate systems may be important, too.
    – whuber
    Commented Jul 1, 2013 at 14:39

3 Answers 3


If you perform an viewshed analysis it is important to pay attention to the x,y units and z units: If you work with a geographic coordinate system your x,y-units are degree. But (in your case) the z units are meters.

If the x,y units and z units are in different units of measure, the z-factor must be set to the appropriate factor, or the results will be incorrect. It is easy to convert meters to feet. See parameter z_factor in ArcGIS help. But the z factor in your case depends on the latitude of your working area.

But it is easier to work with a projected coordinate system and use the same z units for height measure as x,y units from the projected coordinate system.

(If your raster and vector file has different coordinate systems: Spatial Analyst will use the coordinate system of the raster. See ArcGIS help.)


To run a viewshed in ArcGIS you will want to have all the data layers in a projected coordinate system. You will also want to have the elevation data as a raster layer (you will want to convert the ASCII to points, and then convert the points to a raster). With all the data layers in a projected coordinate system, you will be able to calculate the viewshed.

  • Thank you so much for your comments, one question: how do you convert the ASCII to points, and then convert the points to a raster?
    – user19622
    Commented Jul 4, 2013 at 23:58

To convert from ASCII to Point, and then Point to Raster, you will use two tools from the Toolbox. First use the ASCII 3D to Feature Class from 3D Analysis Tool - Conversion. The use the Point to Raster tool from Conversion Tools - To Raster (see attached graphic). When you are converting from Point to Raster you will want to know the point spacing. The point spacing will be used to identify the raster cell size. enter image description here

  • Hi Ryan, Thank you so much! I really appreciate it!
    – user19622
    Commented Jul 10, 2013 at 7:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.