Skip to content

colincadams/height-map-vis

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Height vis will determinate line of sight visibility information for an object on the earth's surface, using SRTM topography data.

Dependencies

  • numpy
  • libtiff
  • matplotlib
  • opencv2

Setup

  1. Install the dependencies (see "Dependencies" above). You may want to setup a virtualenv for this.
  2. Run setup.py install to build and install the extension module.
  3. Download SRTM tile for the area you're interested in, using the SRTM tile grabber.
  4. Optional: Obtain 1:250 000 OS map data from the OS website. Skip this step if you're not mapping an area in Britain, or you don't want a map to be overlaid.

Running

Here's a sample invocation that plots visibility of the Shard from the area surrounding Newbury.

python heightvis.py 
    -i data/srtm/srtm_36_02.tif -w data/srtm/srtm_36_02.tfw # SRTM data files,
    -e '51.5045 -0.0865 306'                                # Latitude/longitude/height of the target
    -o data/ras250_gb.zip                                   # 1:250 000 OS map data
    -c '51.397849 -1.343434' -s 0.3                         # Coordinates of view centre, and view size in degrees.

(For more options run python heightvis.py --help.)

The calculation will take a few minutes to complete, after which you'll be presented with an interactive display. The left hand side is a plot of visibility information: Grey areas are where the target is not visible:

Clicking on a point on the left hand side will update the right hand side with a cross-sectional profile view:

In this case a visible (ie. not grey) point on the image was clicked. It shows three lines:

  • Blue line: Elevation of the terrain on the line between the clicked piece of terrain and the target.
  • Red line: Sight line from the terrain to the target. (If this intersects with the blue line, then the view is blocked.)
  • Green line: Earth curvature on the line between the clicked piece of terrain and the target. This is the offset applied to the raw height data to account for curvature of the earth.

About

Program to calculate line-of-sight visibility given height map data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 90.6%
  • C 9.4%