File: README.html

package info (click to toggle)
terraintool 1.19-2
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 892 kB
  • sloc: java: 5,493; makefile: 13
file content (374 lines) | stat: -rw-r--r-- 19,267 bytes parent folder | download
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&lt;at&gt;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&apos;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&apos; 22.6&quot;)
            </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>