WINPUT Format Definition

Preliminary

This is a description of a data acquisition scheme "WINPUT" for digitally recorded terrain height information, as recommended by the Institute of Photogrammetry of the Technical University of Vienna.

Single record

Each record contains a point number (=code) and coordinates x, y, z corresponding to Easting, Northing, Elevation.

The order of code, x, y, and z within the recording can be chosen at convenience. By default, this order is assumed to be: code, x, y, z.

Data format has to remain constant for a set of data (=model). The following characters are permissible:

Digits:1 2 3 4 5 6 7 8 9 0
Sign:+ -
Decimal point:.

Of these characters, integer (e.g. 123 or -3456) or real numbers (e.g. 123. or -3.456) may be composed.

Point numbers are, positive integer numbers (e.g.12345). If point numbers are recorded as real numbers (which is allowed), they will be truncated to their resp. integer values. Point numbers may contain 3 to 8 digits.

Coordinates may be recorded as integer or real numbers.

WINPUT allows reals to contain up to 14 digits; coordinate differences, however, should not exceed values of max. 7 significant digits. (Otherwise accuracy may be lost depending on the computer applied). Example: (maximum x - minimum x) = 123456.789 yields an accuracy 0.05 only.

Data Organisation

It is a basic concept with WINPUT, to store all information concerning the recording itself together with the terrain point recordings. For this purpose, "control header recordings", and "terrain point recordings" are rused. Certain groups of these recordings are delimited by "delimiter recordings".

Coordinates in delimiting records are disregarded.

Examples:

Beginning of a model:99...91
Starting group with control points:99...94
Starting terrain point recordings:99...98
End of model:99...99

The delimiter recording 99...91 and the model number has always to be at the beginning of a model.

The order of control header groups is arbitrary.

Terrain point recordings contain the data acquired in profiles, along contour lines, points distributed at random, break lines etc., as coded in the first two digits (left justified) of the point number. These codes are standards in WINPUT, e.g.

10000000 X Y Z profiles in y-direction (WINPUT code 10)
51000020 X Y Z closed break line No. 20 (WINPUT code 51)

Point numbers within terrain point recordings must have the same number of digits as within the control header recordings.

Terrain point recordings with a 0 point number are disregarded.

Data organization summary

99999991 ...... ...... ...... model beginning
  MODNUM ...... ...... ......
99999992 ...... ...... ...... units and scales
     MXY ...... ...... ......
     UXY ...... ...... ......
      UZ ...... ...... ......
99999993 ...... ...... ...... model extensions
    CODE   X      Y      Z
       .
       .
       .
    CODE   X      Y      Z
99999994 ...... ...... ...... control points (coordinates in the model system)
     CNR   X      Y      Z
       .
       .
       .
     CNR   X      Y       Z
99999995 ...... ...... ...... point density characteristics of terrain point recordings
  OFFSET ...... ...... ......
 DENSITY ...... ...... ......
99999998 ...... ...... ...... terrain point recordings
CC...LNR   X      Y      Z
       .
       .
       .
CC...LNR   X      Y      Z
99999999 ...... ...... ...... model end
99999991 ...... ...... ...... next model beginning
...
99999999 ...... ...... ...... model end

Control Recordings

(Next) model

99999991 ...... ...... ...... delimiting recording: model beginning
  MODNUM ...... ...... ...... model number

Recording this group of the control header record is compulsory in WINPUT: each model must start with it.

Model scales and units

99999992 ...... ...... ......
     MXY ...... ...... ...... model scale \
                                           for the XY-plane
     UXY ...... ...... ...... units       /
      MH ...... ...... ...... model scale
                                          \
                                           for the heights
      UH ...... ...... ...... units       /

Model scale and units can be recorded separately for the XY-plane and for elevations.

Scale: the point number field of the corresponding recording contains right justified the scale denominator (e.g. 10.000 for 1:10.000 or 1 for 1:1 in case of a non-integer denominator(e.g.1:6666.66...) it suffices to assure that the ratio (scaleinXY):scaleinH) remains undistorted. Example: MXY= 10 000, MH=6666.66...can be exactly processed with MXY=3, and MH=2).

Units: of the recorded coordinates, defined by one right justified digit in the point numer field:

0 meters
1 decimeters
2 centimeters
3 millimeters
4 tenths of millimeters (mm/10)
5 hundredths of millimeters (mm/100)

Note that the above numbers correspond to the number of decimals if coordinates are expressed in meters.

Example: Scale in the xy-plane 1: 20 000 Recording hundredths of a millimeter (mm/100) in xy-coordinates and decimeters (m/10) in heights:

99999992 ...... ...... ......
   20000 ...... ...... ......
       5 ...... ...... ......
       1 ...... ...... ......
       1 ...... ...... ......

If the recordings for heights (MH and UH) are missing in this control header group, the programs will take MXY resp. UXY as such.

Example: both xy-coordinates and heights recorded in the ground coordinate system, with the units being centimeters (m/100)

99999992 ...... ...... ......
       1 ...... ...... ......
       2 ...... ...... ......

The control header group 99...92 plays a crucial role in the following cases:

  • scale in the xy-plane differs from the scale of the heights
  • units of the xy-coordinates differ from those of heights
  • no absolute orientation necessary but the units recorded differ from the units of the ground control system.

Model extension

99999993 ...... ...... ......
    CODE   X      Y      Z    \
       .                       \
       .                        \
                                 limiting points
       .                        /
                               /
    CODE   X      Y      Z    /

The CODE in the point number field defines the logical position of the point within the model: (see table on next page). These points define the extension of the digitized area. It is not the extension of orthophoto nor of DTM.

=========================================================
1-digit CODE    | Explanation             | Scheme
right justified |                         |
=========================================================
      1         | left lower corner point | 2  _______
      2         | left upper corner point |   |       | 3
      3         | right side limiting or  |   |       |
                | corner point            | 1 |_______|
---------------------------------------------------------
      9         | point of a limiting     |
                |            polygon      |
=========================================================

Example:

                                    2 *------------
99999993 ...... ...... ......         |           |
1 100000 100000 100000                |           * 3
2 100000 125000 100000                |           |
3 115000 120000 100000                |           |
                                    1 *------------

or

                                     ------------* 3
99999993 ...... ...... ......        |           |
1 100000 100000 100000               |           |
3 115000 125000 100000               |           |
                                   1 *------------

Model coordinates of control points

necessary if an absolute orientation is to be performed - now or in the future, for any, maybe unforseen, purpose.

99999994 ...... ...... ......
     CNR   X      Y      Z
       .
       .
       .
     CNR   X      Y      Z

The delimiting recording 99...94 marks the beginning of the group with the model coordinates of control points. There may be recorded a maximum of 50 control points per model. Control points must not have numbers greater than 999...0 (Collision with delimiting recordings).

Point density characteristics

99999995 ...... ...... ......
  OFFSET ...... ...... ......
 DENSITY ...... ...... ......

The specifications OFFSET and DENSITY in the point number field describe data density and have different meanings depending upon the sort of data acquisition techniques applied:

main part of terrain point recordings belongs to:
profiles contour lines points distributed at random
OFFSET distance between profiles height step between contour lines average point destance
DENSITY (average) distance between the points of a profile (average) distance between the points a long contour lines may be omitted or will be handled as a dummy

OFFSET and DENSITY have to be expressed in the units specified past the delimiter recording 99...2. In this, scale in z and height units apply to height step definition for contour lines. Scale and units for the xy coordinates apply in all other cases.

Example: Profiles recorded in scale 1:20 000, units mm/100, profile offset (in model) 2mm, point density within the profiles 1 mm:

99999992 ...... ...... ......
   20000 ...... ...... ......
       5 ...... ...... ......
       .
       .
       .
99999995 ...... ...... ......
     200 ...... ...... ...... = 200 mm/100
     100 ...... ...... ...... = 100 mm/100

Example: Contour lines recorded in a model with xy-scale 1:20 000, xy-units mm/100, heights recorded in the ground control system (1:1), units of heights m/10 (decimeters), height step between contours 10 m, point density a long the contours 2 mm:

99999992 ...... ...... ......
   20000 ...... ...... ......
       5 ...... ...... ......
       1 ...... ...... ......
       1 ...... ...... ......
       .
       .
       .
99999995 ...... ...... ......
     100 ...... ...... ...... = 100 dm
     200 ...... ...... ...... = 200 mm/100

Terrain point recordings

99999998 ...... ...... ......

This delimiting recording must be written at least once.

Terrain point recordings contain in the field of point numbers a code describing the point recorded. Such coding enables the application of WINPUT data for the creation of digital height models of a fine precision.

The general form of a terrain point record is

CC...LNR   X   Y   Z

CC marks the first two (left justified) digits in the point number field: the code mentioned (see Table CC of codes). LINR stands for "line number" and denotes the right justified digits in the point number field.

NOTE: LNR is, in general, common to a series of terrain point records (line; points distributed at random should be grouped to such "lines", as well). Therefore, automatic point numbering (point numbers increased automatically by some recording devices) must not be used as LNR!

The point number field of a terrain point record can be represented as

_______________
| | | | | | | | |
|C|C|.|.|.|L|N|R|
|_|_|_|_|_|_|_|_|
|
|_______line number
|___ code

LNR may contain a maximum of 4 right justified digits. Digits between CC and LNR are disregarded.

Model end

99999999 ...... ...... ......

This delimiting recording marks the end of a model, and it must be recorded at least one.

Table CC of codes in terrain point records

Group Type CC
point disregarded by the program 00
Profiles profiles with x=const. 10
profiles with y=const. 11
DTM grid points 12
Alignment 15
Cross Section 16
Contour lines in open terrain 20
uncertain (e.g. in forest) 21
Points distributed at random bulk data 30
Spot heights high 31
low 32
Formlines open 40
closed41
Breaklines open 50
closed51
Breaklines, which are also used as borderlinesomit right open 52
closed53
omit left open 54
closed55
Borderlines omit right with heights open 60
closed61
omit right without heights open 62
closed63
omit left with heights open 64
closed65
omit left without heights open 66
closed67
outer borderline without heights closed68
exclusion line without heights closed69
Special points off-terrain points 70
Elements of the situation 80 ... 89
Control codes deletion code 90
delimiter code 99

In coding border lines (60-67) and border lines coinciding with breaklines (50-55) care should be taken as to precisely define where the representation (e.g. of contour lines on a map to be derived) should be omitted and vice versa. In this, left and right are determined in looking from the beginning of the line in the direction of its proceeding.

Example

99999991 000000 000000 000000 begin model
00004243 000000 000000 000000 model number
99999992 000000 000000 000000 header group scales and units
00010000 000000 000000 000000
00000005 000000 000000 000000
00000001 000000 000000 000000
00000002 000000 000000 000000
99999993 000000 000000 000000
00000001 100000 100000 113645
00000002 100000 112500 111847
00000003 109500 100255 120345
99999994 109500 100255 120345 header group control points
00004635 103885 112733 112536
00004673 103383 118376 111238
00004344 109388 112736 109980
00004372 102828 112233 102222
42435546 113567 123425 112727
99999995 113567 123424 112727
00000100 113567 123425 112727
00000200 113567 123425 112727
99999998 113567 123425 112727
       .
       .
       .
       .
99999998 113567 123425 112727 starting terrain point recordings
10000000 117546 112772 102992
10000000 117546 126489 102959
       .
       .
51000123 192462 043119 103011
       .
       .
30000000 121462 105726 134562
99999999 121462 105726 134562 end of model

The corresponding FORTRAN FORMAT specification: FORMAT(D8.0,3(1X,D6.0))

Author
wk
Date
04.04.2012