--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
MNT2DTI is a utility to convert an IGN France (Institut Geographique National) MNT data file held on tape or disk into a Laser-Scan DTI (Digital Terrain Image) disk file.
--------------------------------------------------------------------------------
$ MNT2DTI MNT-file-spec DTI-file-spec
Command qualifiers Defaults /[NO]LOG /NOLOG /[NO]VALIDATE /NOVALIDATE /[NO]HEADER /NOHEADER /BLOCKSIZE = integer /BLOCKSIZE = 4096 /SELECT = (integer[,...]) Select all sheets
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Input-MNT-file-spec
- specifies the input MNT file. If a magtape device name is given (e.g. MUA0:) the MNT files are read from the tape mounted on that device. Otherwise the file specification is assumed to be a disk file and any part of the specification which is not supplied will be taken from the default: 'SYS$DISK:.MNT;0'.
Output-DTI-file-spec
- specifies the output DTI file. Any part of the file specification which is not supplied will be taken from the default specification: 'LSL$DTI:.DTI;0'.
--------------------------------------------------------------------------------
/LOG
/NOLOG (default)
- /LOG selects the output of informational messages derived from the MNT and DTI headers. Messages are written to SYS$OUTPUT. The default /NOLOG will produce brief information to reassure the user.
/VALIDATE
/NOVALIDATE (default)
- Performs a validation check on the elevation data written to the DTI file. If a datum is encountered which is not within the range read from the MNT header record then a warning message is output followed by an informational message giving the value of the bad datum.
/HEADER
/NOHEADER (default)
- If /HEADER is specified then MNT2DTI expects to find a tape header terminated by an end-of-file before the start of the MNT. The default is to read the MNT from the beginning of the tape.
/BLOCKSIZE = integer (default = 4096)
- Specifies the size of the physical blocks on the MNT tape. It applies to all the files within the list specified using /SELECT. Hence a tape which contains files of varying blocksizes must be read once for each block size. The default size is 4096 byte blocks.
/SELECT=(integer[,...])
- This qualifier is used to select a list of files to be read from the input magtape device. The default is to read all files when magtape input is used.
The list may be a single number, or a list of sheets surrounded by parentheses. The list of sheets is made up of numbers and ranges, separated by commas, where a range is two numbers separated by a colon.
For instance,
The /SELECT qualifier is ignored when input is from disk and a message will relate this to the user.
--------------------------------------------------------------------------------
MNT2DTI is a utility to convert data from an MNT file supplied either as a tape or a disk file to a Laser-Scan Digital Terrain Image (DTI) file.
The output DTI file is written with an LSLA type header which contains detailed information about the digital elevation model.
No user input is necessary to determine the type of MNT as all information required is contained in the MNT header and data records. If reading from tape then the size of the physical blocks and the presence of a tape volume header record must be known. In the case of disk, just the blocksize is required. The /BLOCKSIZE and /HEADER qualifiers are provided to override the defaults values.
Each of a sequence of files, specified using /SELECT, to be processed from tape will have a filename of that specified on the command line appended with the position number of the file on the tape.
For example,
is the name of the 4th file on the tape where 'TAPEFILE' was the output DTI filename specified on the command line. The default part of the specification was taken from 'LSL$DTI:.DTI;0'.
The processing of an MNT file consists of the file being opened and its header record being read. This information is used to create a DTI file of sufficient size to hold the profile data. Thus the MNT file header must accurately reflect the profile information in terms of the number of profiles, the number of points in each profile and the maximum and minimum heights within the file.
The DTI area is then initialized to contain null values and the reading of the profiles begins. One profile at a time is read from the MNT file and written to the DTI output file. The /LOG qualifier will output a message every 50th profile. When all the profiles have been successfully written, both the MNT and DTI files are closed.
If input is from magtape, the /LOG qualifier will output an informational message informing the user that a valid tape mark was found and its position. The TAPEMARK message provides this information.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
$ MNT2DTI/LOG/BLOCKSIZE=416 LN LN <CR>
%MNT2DTI-I-MNTOPEN, MNT file "SYS$DISK:LN.MNT;0" opened Reading header record from MNT file %MNT2DTI-I-MNTFILNAM, MNT map name is "M.N.T. REGION DE LILLE NORD" Creating DTI file LSL$DTI:LN.DTI;0 with LSLA type header %MNT2DTI-I-DTICRMAT, DTI file created with matrix x: 467, y: 144 %MNT2DTI-I-DTIOPEN, DTI file "LSL$DTI:LN.DTI;0" opened File : LSL$DTI:LN.DTI;0 Header : LSLA Data: WORD Units are metres Matrix Coverage SW: 485000.00 5617300.00 NE: 519950.00 5628025.00 Matrix Interval E: 75.00 N: 75.00 Value Range : 10 to 131 Initialising DTI data area Reading data records from MNT file Writing profile 50 at coordinate x:485000.0, y:5624349.5 Writing profile 100 at coordinate x:485000.0, y:5620599.5 %MNT2DTI-I-MNTCLOSED, MNT file closed %MNT2DTI-I-DTICLOSED, DTI file closed ELAPSED: 0 00:02:35.09 CPU: 0:00:34.17 BUFIO: 10 DIRIO: 47 FAULTS: 453
This example reads an MNT from a disk file, the input file-spec being parsed against the default SYS$DISK:.MNT. The /LOG qualifier displays detailed information about the MNT and the output DTI file. The output file is written to the default directory LSL$DTI.
$ MNT2DTI/LOG/BLOCKSIZE=1000/SELECT=(2:3) MUB1: CORSICA <CR>
Initializing tape for read - Please wait. Skipping MNT file 1 %MNT2DTI-I-TAPEMARK, Tape mark found at block number 2004 %MNT2DTI-I-TAPEMARK, Tape mark found at block number 2005 Reading header record from MNT file %MNT2DTI-I-MNTFILNAM, MNT map name is "M.N.T. CORSE" Creating DTI file LSL$DTI:CORSICA_2.DTI;0 with LSLA type header %MNT2DTI-I-DTICRMAT, DTI file created with matrix x: 201, y: 421 %MNT2DTI-I-DTIOPEN, DTI file "LSL$DTI:CORSICA_2.DTI;0 " opened File : LSL$DTI:CORSICA_2.DTI;0 Header : LSLA Data: WORD Units are metres Matrix Coverage SW: 1100000.00 1600000.00 NE: 1200000.00 1810000.00 Matrix Interval E: 500.00 N: 500.00 Value Range : 0 to 2582 Initialising DTI data area Reading data records from MNT file Writing profile 50 at coordinate x:1100000.0, y:1624500.0 Writing profile 100 at coordinate x:1100000.0, y:1649500.0 Writing profile 150 at coordinate x:1100000.0, y:1674500.0 Writing profile 200 at coordinate x:1100000.0, y:1699500.0 Writing profile 250 at coordinate x:1100000.0, y:1724500.0 Writing profile 300 at coordinate x:1100000.0, y:1749500.0 Writing profile 350 at coordinate x:1100000.0, y:1774500.0 Writing profile 400 at coordinate x:1100000.0, y:1799500.0 %MNT2DTI-I-DTICLOSED, DTI file closed %MNT2DTI-I-TAPEMARK, Tape mark found at block number 2429 %MNT2DTI-I-TAPEMARK, Tape mark found at block number 2430 %MNT2DTI-E-ENDOFTAPE, end of tape encountered. DTI file already produced are unaffected ELAPSED: 0 00:10:34.06 CPU: 0:00:42.29 BUFIO: 2015 DIRIO: 440 FAULTS: 447
This example reads the second MNT from tape which has a blocksize of 1000 bytes and is mounted (/FOREIGN) on the tape drive MUB1:. The /SELECT qualifier is used to select the tape files required. The /LOG qualifier again displays detailed information contained in the MNT and in the output DTI file header. The example also shows an attempt to read a selected MNT (the 3rd) that does not exist from a tape containing only two files and this is reported by the ENDOFTAPE message. The existing files that were closed are not affected by this.
$ MNT2DTI/LOG/BLOCKSIZE=8000 MUB1: IGN <CR>
Initializing tape for read - Please wait. Reading header record from MNT file %MNT2DTI-I-MNTFILNAM, MNT map name is "M.N.T. FRANCE" Creating DTI file LSL$DTI:IGN_1.DTI;0 with LSLA type header %MNT2DTI-I-DTICRMAT, DTI file created with matrix x:1997, y:2001 %MNT2DTI-I-DTIOPEN, DTI file "LSL$DTI:IGN_1.DTI;0" opened File : LSL$DTI:IGN_1.DTI;0 Header : LSLA Data: WORD Units are metres Matrix Coverage SW: 40000.00 1700000.00 NE: 1038000.00 2700000.00 Matrix Interval E: 500.00 N: 500.00 Value Range : 0 to 4706 Initialising DTI data area Reading data records from MNT file Writing profile 50 at coordinate x:40000.0, y:1724500.0 Writing profile 100 at coordinate x:40000.0, y:1749500.0 Writing profile 150 at coordinate x:40000.0, y:1774500.0 Writing profile 200 at coordinate x:40000.0, y:1799500.0 Writing profile 250 at coordinate x:40000.0, y:1824500.0 Writing profile 300 at coordinate x:40000.0, y:1849500.0 Writing profile 350 at coordinate x:40000.0, y:1874500.0 Writing profile 400 at coordinate x:40000.0, y:1899500.0 Writing profile 450 at coordinate x:40000.0, y:1924500.0 Writing profile 500 at coordinate x:40000.0, y:1949500.0 Writing profile 550 at coordinate x:40000.0, y:1974500.0 Writing profile 600 at coordinate x:40000.0, y:1999500.0 Writing profile 650 at coordinate x:40000.0, y:2024500.0 Writing profile 700 at coordinate x:40000.0, y:2049500.0 Writing profile 750 at coordinate x:40000.0, y:2074500.0 Writing profile 800 at coordinate x:40000.0, y:2099500.0 Writing profile 850 at coordinate x:40000.0, y:2124500.0 Writing profile 900 at coordinate x:40000.0, y:2149500.0 Writing profile 950 at coordinate x:40000.0, y:2174500.0 Writing profile 1000 at coordinate x:40000.0, y:2199500.0 Writing profile 1050 at coordinate x:40000.0, y:2224500.0 Writing profile 1100 at coordinate x:40000.0, y:2249500.0 Writing profile 1150 at coordinate x:40000.0, y:2274500.0 Writing profile 1200 at coordinate x:40000.0, y:2299500.0 Writing profile 1250 at coordinate x:40000.0, y:2324500.0 Writing profile 1300 at coordinate x:40000.0, y:2349500.0 Writing profile 1350 at coordinate x:40000.0, y:2374500.0 Writing profile 1400 at coordinate x:40000.0, y:2399500.0 Writing profile 1450 at coordinate x:40000.0, y:2424500.0 Writing profile 1500 at coordinate x:40000.0, y:2449500.0 Writing profile 1550 at coordinate x:40000.0, y:2474500.0 Writing profile 1600 at coordinate x:40000.0, y:2499500.0 Writing profile 1650 at coordinate x:40000.0, y:2524500.0 Writing profile 1700 at coordinate x:40000.0, y:2549500.0 Writing profile 1750 at coordinate x:40000.0, y:2574500.0 Writing profile 1800 at coordinate x:40000.0, y:2599500.0 Writing profile 1850 at coordinate x:40000.0, y:2624500.0 Writing profile 1900 at coordinate x:40000.0, y:2649500.0 Writing profile 1950 at coordinate x:40000.0, y:2674500.0 Writing profile 2000 at coordinate x:40000.0, y:2699500.0 %MNT2DTI-I-DTICLOSED, DTI file closed %MNT2DTI-I-TAPEMARK, Tape mark found at block number 2429 %MNT2DTI-I-TAPEMARK, Tape mark found at block number 2430 Reading header record from MNT file %MNT2DTI-I-MNTFILNAM, MNT map name is "M.N.T. CORSE" Creating DTI file LSL$DTI:IGN_2.DTI;0 with LSLA type header %MNT2DTI-I-DTICRMAT, DTI file created with matrix x: 201, y: 421 %MNT2DTI-I-DTIOPEN, DTI file "LSL$DTI:IGN_2.DTI;0" opened File : LSL$DTI:IGN_2.DTI;0 Header : LSLA Data: WORD Units are metres Matrix Coverage SW: 1100000.00 1600000.00 NE: 1200000.00 1810000.00 Matrix Interval E: 500.00 N: 500.00 Value Range : 0 to 2582 Initialising DTI data area Reading data records from MNT file Writing profile 50 at coordinate x:1100000.0, y:1624500.0 Writing profile 100 at coordinate x:1100000.0, y:1649500.0 Writing profile 150 at coordinate x:1100000.0, y:1674500.0 Writing profile 200 at coordinate x:1100000.0, y:1699500.0 Writing profile 250 at coordinate x:1100000.0, y:1724500.0 Writing profile 300 at coordinate x:1100000.0, y:1749500.0 Writing profile 350 at coordinate x:1100000.0, y:1774500.0 Writing profile 400 at coordinate x:1100000.0, y:1799500.0 %MNT2DTI-I-DTICLOSED, DTI file closed %MNT2DTI-I-TAPEMARK, Tape mark found at block number 2429 %MNT2DTI-I-TAPEMARK, Tape mark found at block number 2430 %MNT2DTI-E-ENDOFTAPE, end of tape encountered ELAPSED: 0 00:31:39.05 CPU: 0:18:41.47 BUFIO: 13 DIRIO: 2475 FAULTS: 16672
See mnt2dtimsg.html generated from MNT2DTIMSG.RNO.