1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374
|
<!DOCTYPE html>
<title>TerrainTool Documentation</title>
<link type="text/css" rel="stylesheet" href="screenstyle.css" media="screen">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="robots" content="robots.txt" />
<meta name="Copyright" content="Copyright (c) 2008 - 2024 Mike McCombe" />
<meta name="Rating" content="General" />
<body>
<div id="content">
<h1>TerrainTool</h1>
<p>
TerrainTool was written to create surface topographic data for the cave survey packages <a href="http://survex.com" target="_blank">Survex</a>
and <a href="http://therion.speleo.sk" target="_blank">Therion</a>
using the results of the <a href="https://www2.jpl.nasa.gov/srtm/" target="_blank">Shuttle Radar Topography Mission</a> (SRTM)
in which the shuttle <i>Endeavour</i> mapped the height of
the Earth's surface between the latitudes 60 degrees North and 56 degrees South - about 80% of the Earth's land mass in 2000.
Published resolution was 1 arc-second for the US and its territories
and 3 arc-seconds elsewhere. The latter corresponds to about 90m at the equator. In due course, NASA released all of the data at the full
1 arc-second resolution. The resulting data is royalty-free and, for many countries, may be the only data publicly available.
</p>
<p>
Because the SRTM radar imaging worked by using an oblique scan of the earth's surface, it had problems with shadowing
where, despite multiple passes, areas remained hidden, resulting in
voids in the data. This is particularly noticeable in mountainous areas. A subsequent project <a href="https://asterweb.jpl.nasa.gov/gdem.asp" target ="none">Advanced Spaceborne Thermal
Emission and Reflection Radiometer (ASTER)</a> used infra-red nadir-viewing camera (i.e. directly downward) which, in post-processing over multiple orbits created stereo images from which
height could be derived. This overcame the shadowing problem but the view could be obstructed by cloud and vegetation cover and suffered from "artefacts" - spurious features which are by-products
of the imaging process. On it's own, the ASTER Digital Elevation Model (DEM) is quite unsuitable for cave surveying.
</p>
<p>
Finally complete in February 2020, NASA released a new DEM by re-processing "global" 1 arc-second SRTM data and carefully filling in the voids with re-processed ASTER data.
The result, NASADEM, is thus the highest resolution void-free near-global DEM that we have available. The disadvantages are
</p>
<ul>
<li>The tiles are typically 9 times the size of the 3 arc-second SRTM data, so they take longer to download and
process and occupy more disk space</li>
<li>You need to be logged into an Earthdata account to download the data. Unfortunately, TerrainTool cannot to do this for you so the auto-download capability of
earlier versions of TerrainTool has had to be removed.
However, signing up for an Earthdata account is quick and easy at <a href="https://urs.earthdata.nasa.gov/users/new/" target="_blank">https://urs.earthdata.nasa.gov/users/new/</a>
</li>
</ul>
<p>
With the completion of NASADEM, this release of TerrainTool uses it as its only source of data.</p>
<p>Having logged in to your Earthdata account, you can find the NASADEM dataset by going to <a href="https://lpdaac.usgs.gov/products/nasadem_hgtv001/" target="_blank">
https://lpdaac.usgs.gov/products/nasadem_hgtv001/ </a>) selecting "Access Data" and "Download Data" next to "Data Pool" and clicking on the directory link will
take you to a huge page containing all of the tiles, currently at <a href="https://e4ftl01.cr.usgs.gov/MEASURES/NASADEM_HGT.001/2000.02.11/" target="_blank">
https://e4ftl01.cr.usgs.gov/MEASURES/NASADEM_HGT.001/2000.02.11/</a> Please note that this URL might be subject to change without notice. The
page can take several minutes to download so don't panic if your browser freezes! Tile files are the ones ending ".zip" and preceded by the relevant lat/long
e.g. NASADEM_HGT_n52w003.zip You can download tiles with a browser. Do NOT try unpacking the zip files - TerrainTool reads them in zipped form.
</p>
<p>
TerrainTool does the following:-
</p>
<ul>
<li>
Converts between the spherical (Lat/Lon) coordinates used in the tiles and a variety of map coordinates used by cave surveyors so that the surface mesh and cave survey
can be combined in a single model based on the local map coordinate system. Coordinate systems currently supported include British (OSGB) grid, Irish grid,
UTM, French (Lambert conical projections), Austrian grids, Slovenian Grid and New Zealand's NZMG and NZTM2000. The internal design is intended to allow additional
coordinate systems to be added easily.
</li>
<li>
Re-samples the data using biaxial Lagrangian cubic interpolation to create a rectangular mesh of user-specified spacing.
The interpolation method ensures an exact fit at original data points
</li>
<li>
Displays a coloured topographic map of the mesh.
</li>
<li>
Adds a user-specified offset (3-D) to the coordinates to align with coordinates used for the underground survey.
</li>
<li>
Saves the mesh as surface data in Survex (.svx), Therion (.th) or comma-separated variable (.csv) format.
</li>
</ul>
<p>
The programme, written in Java, provides a conventional GUI-style interface and will run under Windows, Solaris, macOS and Linux operating systems. This version is built
to run with JDK 21 which can be downloaded free of charge from <a href="https://www.oracle.com/uk/java/technologies/downloads/" target="_blank" >Oracle</a>
or <a href="https://jdk.java.net/21/" target="_blank">The Open JDK Project</a>. Sorry this will require existing users to upgrade their Java installation
but this Java version is flagged for Long-Term Support and is the most up to date for production use.
</p>
<p>
"TerrainTool" was written by Mike McCombe who is very grateful to UBSS for giving it a home. Please feel free to contact Mike with feedback or requests for help at
mike<at>mikemccombe.co.uk or via the <a href="http://survex.com/maillist.html" target="_blank">Survex list</a>.
</p>
<h2>Installation</h2>
<p>
Sorry, there's no fancy package installer but as there's only one file it should be pretty straightforward.
</p>
<ol>
<li>
If you don't already have JDK 21 installed, do it now! Windows users will need to set the system PATH variable to point to the jdk-21\bin directory
and remove references to any earlier Java releases
</li>
<li>
<a href="TerrainTool.jar" download>Download the TerrainTool "jar"</a>. Depending on your browser you may find that the file that arrives is called TerrainTool.zip. If this happens,
just rename it to be TerrainTool.jar. Do not try unpacking the ZIP file!
</li>
<li>
Double-clicking the jar file should start the programme. If you need to start it from a command line interface, try "java -jar TerrainTool.jar".
</li>
</ol>
<p>
Thanks to Wookey, TerrainTool has been available in Debian and Ubuntu since 2012 (7/'Wheezy' and 12.04/'Precise Pangolin' respectively). To install it select 'terraintool' in your favourite package manager (Upgrade Center, Synaptic, Aptitude) and install it.
On the command line do
</p>
<p>
sudo apt-get install terraintool
</p>
<h2>Driving Instructions</h2>
<p>
TerrainTool is a conventional GUI-based application with a menu bar and dialog boxes to gather user-information. To get started, do the following:
</p>
<ol>
<li>If you already know which tiles you will need from the NASADEM dataset, download them now and save them in the
data directory for later re-use if necessary. On Windows this will be in a directory called ".terraintool" in the
user's top-level directory on the system drive e.g. <code>c:\users\mike\.terraintool</code> and on unix or linux
at <code>~/.local/share/terraintool/</code> Otherwise,when you try to create the mesh, TerrainTool will provide
an error message to say which tile it needs and where to store it.
</li>
<li>
Select the required <a href="#coordinates">coordinate system</a> using the Options menu.
</li>
<li>
Go to <a href="#create">Create</a> on the File menu to specify the size, location and resolution of the mesh.
</li>
<li>
<a href="#save_as">Save</a> the results as in Survex (.svx) or Therion (.th) format
</li>
<li>
Use Survex to process the file and Aven to view the results in 3D. Remember to enable viewing of surface legs in Aven!
</li>
<li>
Use the Offset command in the Options menu to fully align the terrain data with the coordinates used in your survey.
</li>
<li>
When generating surface data in Therion format, Therion needs to be told the coordinate system used for the surface data in a form that it recognises (e.g. EPSG:27700).
See the description of the surface command in the Therion Book for more details. </li>
<li>
Incorporate the terrain data into your survey project.
</li>
</ol>
<h3>File Menu</h3>
<h4 id="create">
Create
</h4>
<p>This is used to calculate the terrain mesh. A dialog box is used to gather the following:-</p>
<table class="ubsstable">
<tr>
<th>
Item
</th>
<th>
Meaning
</th>
</tr>
<tr>
<td>
Grid Reference
</td>
<td>
The grid reference for the mesh, expressed in the current coordinate type. This point can be at the centre of the mesh, any of the corners or the mid-point of any of the sides
(see below). An example in the correct format is shown below the text field.
</td>
</tr>
<tr class="altRow">
<td>
E-W Range
</td>
<td>
The distance (in metres) between the East and West edges of the mesh.
</td>
</tr>
<tr>
<td>
N-S Range
</td>
<td>
The distance (in metres) between the North and South edges of the mesh.
</td>
</tr>
<tr class="altRow">
<td>
Spacing
</td>
<td>
The distance (in metres) between adjacent cells in the mesh.
</td>
</tr>
<tr>
<td>
Grid ref is at
</td>
<td>
Specifies where current point (see "Grid Reference" above) lies in relation to the boundaries of the mesh.
</td>
</tr>
</table>
<p>
Pressing OK starts the calculation of the mesh points. The NASADEM tiles are
stored in the data directory for later re-use if necessary. On Windows this will be in a directory called ".terraintool"
in the user's top-level directory on the system drive e.g. C:\Users\mike\.terraintool and on Unix/linux at ~/.local/share/terraintool/
</p>
<p>
At the end of the calculation, results are displayed as a simple coloured relief map. The mouse position is displayed (in current coordinates) in the message bar on the
bottom edge of the frame.
</p>
<h4>Lat/Long</h4>
<p>
This provides a means of defining the current point in terms of latitude and longitude, rather than as a grid reference. If the point can be represented
as a valid grid reference in the current coordinate system, it is used to initialise the "Grid Reference" field of the "Create..." dialog box.
</p>
<p>
Latitude and longitude values can be expressed as either
</p>
<ul>
<li>
real values in degrees (e.g. 46.25), where negative values are West / South, or
</li>
<li>
values in degrees, minutes and seconds (e.g. 46 N 15' 22.6")
</li>
</ul>
<p>
Latitude and Longitude are usually based on the WGS-84/GRS-80 datum and ellipsoid. The user may select alternatives, which will cause the lat and long values to be
re-calculated.
</p>
<p>
<h4 id="save_as">Save as</h4>
<p>
Once a mesh has been calculated, the "Save as..." command can be used to save the terrain data in Survex (.svx) or Therion (.th) format or as a
Comma Separated Variable (.csv) file that can be loaded into a spreadsheet.
</p>
<p>
Height values are defined for each point in the mesh. Easting and Northing values are those of the current coordinate system.
</p>
<h3>
Options Menu
</h3>
<h4 id="coordinates">Coordinates</h4>
<p>
This is used to select the type of coordinates to use. The following are currently supported:
</p>
<table class="ubsstable">
<tr>
<th>
Coordinate System
</th>
<th> </th>
</tr>
<tr>
<td>
Austrian
</td>
<td>
The Austrian (BMN) coordinate system, in three zones
</td>
</tr>
<tr class="altRow">
<td>
Irish Grid
</td>
<td>
The Irish grid system, used in both Northern Ireland and the Republic of Ireland.
</td>
</tr>
<tr>
<td>
Lambert 93
</td>
<td>
The Lambert 93 coordinate system. A conformal conical projection occasionally used in France.
</td>
</tr>
<tr class="altRow">
<td>
Lambert (5 zones)
</td>
<td>
The coordinate system most commonly used in France. Three zones (I, II and III) cover North, Central and Southern France. Zone IV is used in Corsica. A fifth zone (II-extended)
covers the whole of France, at the expense of greater distortion.
</td>
</tr>
<tr>
<td>
NZMG
</td>
<td>
New Zealand Map Grid - New Zealand’s coordinate system superseded in 2010. Maps based on this are no longer available, but still widely used. Based on a conformal orthomorphic projection.
</td>
</tr>
<tr class="altRow">
<td>
NZTM2000
</td>
<td>
New Zealand Transverse Mercator, successor to NZMG.
</td>
</tr>
<tr>
<td>
OSGB
</td>
<td>
Ordnance Survey of Great Britain - the British grid system.
</td>
</tr>
<tr class="altRow">
<td>
Slovenian Grid
</td>
<td>
A Transverse-Mercator grid used in Slovenia
</td>
</tr>
<tr>
<td>
UTM
</td>
<td>
Universal Transverse Mercator, devised by the US Department of Defense to cover the globe (except polar regions) in 60 zones. Also used by many national mapping agencies, often
with a national or regional datum instead of WGS84.
</td>
</tr>
</table>
<p>
One of the design objectives of this software is to be able to add further coordinate systems with minimal difficulty.
</p>
<p>
Selecting a coordinate system from the drop-down list results in automatic selection of sensible defaults for the datum and ellipsoid. The user is free to override this
selection using the other two drop-down lists. Whilst, for example, OSGB invariably uses its own datum and the "Airy Sphere", other systems are frequently used with a
variety of datums. UTM, for example, is used in Spain with the European (1950) Datum and Australia with their own (MGI) datum.
</p>
<h4>Offset</h4>
<p>
This provides a simple way of adding a fixed 3-D offset to mesh point in the mesh as it is saved. You might want to do this because
</p>
<ul>
<li>
Your cave survey coordinates might not use the full easting and northing values
</li>
<li>
The height values differ from "known" surface heights in your survey. SRTM heights are referenced to EGM96 (Earth Geopotential Model 1996) and may be significantly
offset from a national height datum.
</li>
</ul>
<h2>Source Code</h2>
Terraintool was developed using the <a href="https://netbeans.apache.org/front/main/" target="_blank">Apache Netbeans</a> IDE with the GUI
elements created using the javax.Swing API. For those interested in building TerrainTool themselves, or perhaps are just curious, the source code can
be found <a href="terrainsrc-1.18.tar.gz" download>here</a>;
</div>
</body>
</html>
|