NAME
sdts2dem - Convert a 24K USGS SDTS DEM to a DEM in the ‘classic’
format.
SYNOPSIS
sdts2dem [-L] | [sdts_dem_file.ddf [output_file_name]]
DESCRIPTION
The U.S. Geological Survey (USGS) provides sites on the Internet with a
lot of Digital Elevation Model (DEM) data. Depending on the resolution
of the data, it may be available in one of at least three different
formats: ‘classic’ DEM format, a newer version of the ‘classic’
format, or Spatial Data Transfer System (SDTS) format. The 24K DEM
data (which are also called 7.5-minute DEM data) are only available for
free-download in the SDTS format.
The drawmap program can read the files in SDTS format; but the SDTS
data come in the form of archives, each of which contains numerous
files. It may sometimes be more efficient, and perhaps simpler, to
store the data in the ‘classic’ format. Sdts2dem is a program that
converts each SDTS archive into a single classic-format DEM file. So
far, sdts2dem only works with 24K DEM data, mainly because I haven’t
got any other data available to test against.
If you invoke the program with the "-L" argument, it will print some
license information and exit. In normal use, the first argument is an
SDTS file name.
Each SDTS DEM archive should contain one or more files with names of
the form ????CEL@.DDF, where the ’?’ symbol stands for any single
character, and the ’@’ symbol stands for any single digit. If you
provide a single such file as an argument, sdts2dem will produce a
classic-format DEM file, based on the given SDTS file and the other
files in the SDTS archive. (When you unpack the SDTS archives, you can
change all of the resulting file names to all lower case and/or
compress all of the files with the gzip program. If you are going to
change to lower case, change all of the files. If you are going to
compress the files, compress all of them.)
The USGS takes each 1-degree-square block of latitude and longitude,
and divides it into an eight-by-eight grid of 7.5-minute-square
‘quads’. The rows of this grid are labeled ’a’ to ’h’ from bottom to
top, and the columns are labeled ‘1’ through ‘8’ from right to left.
Each quad is then referred to by a name of the form ‘AABBBCD’, where
‘AA’ is the latitude of the southeast corner of the 1-degree block,
‘BBB’ is the longitude of the southeast corner, and ‘C’ and ‘D’
represent the corresponding row and column labels. If you don’t
specify an output file name, the output file produced by sdts2dem will
have the form ‘AABBBCD.dem’. If you specify an output file name, then
your name will be used instead.
LIMITATIONS
The converted files are in the newer version of the ‘classic’ format.
This newer format is theoretically backwards compatible with the older
format, but has a bunch of new fields added to the file header (in
space that the older format specified as blank). Most of these new
fields will also be blank in the converted files, because their values
are embedded in long human-readable text strings in the SDTS files, and
I didn’t consider it worth the effort to write a bunch of finicky code
to dig them out. Three of the new fields are included, though: the
horizontal datum, the vertical datum, and the vertical datum shift.
These fields are useful in converting back and forth between coordinate
systems, and in converting elevations to newer measurement scales.
Sdts2dem will try to populate all of the fields specified in the
original ‘classic’ format. However, you may note some differences in
the first 140 bytes of the header. One such difference is that the
latitude and longitude of the southeast corner usually appeared in
bytes 131 through 139 of the original ‘classic’ format, in a truncated
form. (The bytes in the DEM specification are numbered starting from
1.) In the new ‘classic’ format, these two values are in bytes 110
through 135, in all of their un-truncated glory. As another example,
sdts2dem doesn’t even try to recover the free-format text field because
it usually duplicates information present elsewhere, and because it
isn’t clear that we would end up with anything useful after automated
conversion to SDTS and automated conversion back to ‘classic’ DEM.
Some floating-point numbers will have a different format from their
original USGS versions. The USGS files normally put the first
significant digit after the decimal point, while sdts2dem puts it in
front of the decimal point. The actual numeric values are the same,
but the format differs.
SEE ALSO
drawmap(1), sdts2dlg.1n
Jul 24, 2001