<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi,</div><div> Could someone please tell me how I can set vtkImageReader2 to read in 1201x1201 array of data elements from the NASA SRTM *.hgt file? The file has no header or trailer. All the elevation data is stored as 16-bit signed integers. </div><div><br></div><div>Here is what I've come up with so far...</div><div><br></div><div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">vtkImageReader2 reader</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"> reader SetFileName "/Users/elvis/Repository/Data/NASASRTM/version2/SRTM3/Eurasia/N25E070.hgt"</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"> reader SetHeaderSize 0</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"> reader SetDataByteOrderToBigEndian</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"> reader FileLowerLeftOn</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"> reader SetDataScalarTypeToInt</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"> reader SetFileDimensionality 2</span></font></div></div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">So, the first line and first column entry corresponds to array [0][0], located on the lower left corner and the corresponding pixel co-ordinates will be x=0, y=0, z=the scalar height field value read from array location [0][0] say +100 as an example.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">similarily, </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><span class="Apple-tab-span" style="white-space:pre">        </span>the first line and second column entry corresponds to array [0][1], x=0, y=1, z= +120</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><span class="Apple-tab-span" style="white-space:pre">        </span>the first line and last column entry corresponds to array [0][1200], x=0, y=1200, z= +110</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><span class="Apple-tab-span" style="white-space:pre">        </span>the last line and first column entry corresponds to array [1200][0], x=1200, y=0, z= +110</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><span class="Apple-tab-span" style="white-space:pre">        </span>the last line and last column entry corresponds to array [1200][1200], x=1200, y=1200, z= +120</div><div><br></div><div>Could someone please help me set this up and display a raster image?</div></div><div><br></div><div>Best regards,</div><div><br></div><div>Elvis Dowson</div><br><div><div>On Oct 13, 2008, at 1:31 AM, Elvis Dowson wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi,<div> I've been doing a bit of reading, so in essence, SRTM data is nothing but raster data, stored using 16-bit signed integer. Depending upon the arc length, you will have either 1201x1201 or 3601x3601 data elements. So, all I have to do is to import each value, taking take to perform byte swapping, since I am using a Mac Book Pro with an Intel processor, and read in two bytes of data, corresponding to a pixel element value, that can later be used to create a raster image of height field data. </div><div><br></div><div>I guess the next step is to create a vtkSRTMReader class for VTK, and construct a vtkImageData object as output, which can then be used to render a height field.<br></div><div><br></div><div>Any help or pointers to some examples would be greatly appreciated, since it will help me build this class quickly. :-) !</div><div><br></div><div>Best regards,</div><div><br></div><div>Elvis Dowson</div><div><br><div><div>On Oct 12, 2008, at 11:36 PM, Elvis Dowson wrote:</div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Times; ">DEM File (.HGT)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Times; ">The DEM is provided as 16-bit signed integer data in a simple binary raster. There are no header</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Times; ">or trailer bytes embedded in the file. The data are stored in row major order (all the data for row</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Times; ">1, followed by all the data for row 2, etc.).</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Times; ">All elevations are in meters referenced to the WGS84/EGM96 geoid as documented at http://</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Times; "><a href="http://www.NGA.mil/GandG/wgsegm/">www.NGA.mil/GandG/wgsegm/</a>.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Times; ">Byte order is Motorola ("big-endian") standard with the most significant byte first. Since they are</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Times; ">signed integers elevations can range from -32767 to 32767 meters, encompassing the range of</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Times; ">elevation to be found on the Earth.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Times; ">These data also contain occassional voids from a number of causes such as shadowing, phase</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Times; ">unwrapping anomalies, or other radar-specific causes. Voids are flagged with the value -32768.</div></div></div></blockquote></div><br></div></div></blockquote></div><br></body></html>