title: how to read NASA .hgt binary files
body: <p>I'm sure this is really simple if you know anything about binary files, but I'm a newbie on that score.</p>
  
  <p>How would I extract the data from NASA .hgt files? Here is a description from www2.jpl.nasa.gov/srtm/faq.html:</p>
  
  <blockquote>
    <p><b>The SRTM data files have names like "N34W119.hgt".  What do the 
    letters and numbers refer to, and what is ".hgt" format?</b></p>
    
    <p>Each data file covers a one-degree-of-latitude by one-degree-of-longitude
    block of Earth's surface.  The first seven characters indicate the southwest
    corner of the block, with N, S, E, and W referring to north, south, east, 
    and west.  Thus, the "N34W119.hgt" file covers latitudes 34 to 35 North and 
    longitudes 118-119 West (this file includes downtown Los Angeles, 
    California).  The filename extension ".hgt" simply stands for the word 
    "height", meaning elevation.  It is NOT a format type.  These files are 
    in "raw" format (no headers and not compressed), 16-bit signed integers, 
    elevation measured in meters above sea level, in a "geographic" (latitude 
    and longitude array) projection, with data voids indicated by -32768.  
    International 3-arc-second files have 1201 columns and 1201 rows of data, 
    with a total filesize of 2,884,802 bytes ( = 1201 x 1201 x 2).  United 
    States 1-arc-second files have 3601 columns and 3601 rows of data, with a 
    total filesize of 25,934,402 bytes ( = 3601 x 3601 x 2).  For more 
    information read the text file "SRTM_Topo.txt" at 
    http://edcftp.cr.usgs.gov/pub/data/srtm/Readme.html</p>
  </blockquote>
  
  <p>Thanks for any help! I am going to use this data in a python script, so if you could not use any language-specific tricks for any other languages, that would be awesome.</p>