leica_gsi – GSI

New in version 0.4.

GEO Serial Interface (GSI) is a very popular data format, used by many Leica total stations (TPS) or Digital Levels (DNA). It is stored as ASCII text, with one line per measurement. In each line, there can be several blocks of data, with a blank space as a separation.

There are two variants of GSI:

  • GSI8

  • GSI16

but they only differ in the size of a single block.

GSI is a very rich format, and it can hold both cartesian and polar coordinates with a detailed recording of all commands executed by the device and with explicit indication of the measurement units.

GSI variants

GSI8

GSI8 has data information recorded in 8 bit words.

110001+0000A110 81..00+00005387 82..00-00000992
110002+0000A111 81..00+00007586 82..00-00003031

GSI6

GSI16 has data information recorded in 16 bit words.

110001+000000000PNC0055 21.002+0000000013384650 22.002+0000000005371500
110002+000000000PNC0056 21.002+0000000012802530 22.002+0000000005255000
110003+000000000PNC0057 21.002+0000000011222360 22.002+0000000005433800
110004+000000000PNC0058 21.002+0000000010573550 22.002+0000000005817600
110005+000000000PNC0059 21.002+0000000009983610 22.002+0000000005171400

GSI Block Information

Datablock structure

Each line is a datablock composed in a sequence of data words, ending with a terminator (CR or CR/LF). There is two types of datablocks specified by the first data word :

  • Block of measurement (beginning usually with 11)

  • Block of code (beginning usually with 41)

TPS

Data word structure

Every word starts with two characters specifying the data type within the word.

  • Pos.1-3: Word Index (WI)

  • Pos.4-6: Information related to data

  • Pos.7: Sign

  • Pos.8-15/8-23: GSI8/16 data

  • Pos.16/24: Blank (=separating character)

Position

Explanation

Applicable for

1-3

Word Index

All words

4

AUTOMATIC INDEX INFORMATION
0: Automatic index OFF
1: Automatic index OPERATING
3: Automatic index OPERATING

All words containing angle information

5

INPUT MODE
0: Original measured values transferred from the instrument
1: Manual input from keyboard
2: Measured value, Hz-Correction ON
3: Measured value, Hz-Correction OFF
4: Result of special function

Measured data

6

UNITS
0: Meter (last digit: 1mm)
1: Feet (last digit: 1/1000ft)
2: 400 gon
3: 360° decimal
4: 360° sexagesimal
5: 6400 mil
6: Meter (last digit: 1/10mm)
7: Feet (last digit: 1/10‘000ft)
8: Meter (last digit: 1/100mm)

Measured data

7

SIGN
+: Positive value
-: Negative value

Measured data

8-15 (8-23)

DATA
Data includes a sequence of 8(16) numerical or alphanumerical characters.
Note that certain data words are allowed to carry more than 1 value (e.g. PPM/MM). Those data are automatically transferred with a sign before each single value.

Measured data

16 (24)

SEPARATING CHARACTER
_: Blank

All words

Word Index

WI

FUNCTION

Access/Example

1

2

3

11*

Pointnumber

11… .+00000H66
PtNo=“H66“

x

x

x

12

Serial number

12….+00640054
S.No. “640054”

x

x

13

Instrument type

13….+00TCR305
Instr. “TCR305”

x

x

16

Station Pointnumbe

16….+00000100”
St.No. “100”

x

17

Date
[DD.MM.YYYY]

17….+08022000
“Feb. 8th 2000”

x

18

Year Second
[YY.SS.mSmSmS]

18….+01130000

x

19

Time
[MM.DD.hh.mm]

19….+02081029
“Feb. 8th ; 10:29”

x

x

21*

Horizontal Angle
Hz

21.102+17920860
Hz „179.086“ gon

x

x

x

22*

Vertical Angle
V

22.102+07567500
V: „75.675“ gon

x

x

x

25*

Horizontal circle difference
Hz0 - Hz

?

?

?

31*

Slope distance

31..00+00003387
Sdist: „3.387“ m

x

x

x

32*

Horizontal distance

32..00+00003198
Hdist: „3.198“ m

x

x

x

33*

Height difference

33..00+00001119
Hdiff: „1.119“ m

x

x

x

41*

Code-Block ID

41….+00000013
Code: „13“ m

x

x

42*

Information 1

42….+000TREES
Info1: „TREES“

x

x

43*

Information 2

43….+000004.5
Info2: „4.5“

x

x

44*

Information 3

44….+00CAT.02
Info3: „CAT.02“

x

x

45*

Information 4

45….+000000NN
Info4: „NN“

x

x

46*

Information 5

46….+000000NN
Info5: „NN“

x

x

47*

Information 6

47….+000000NN
Info6: „NN“

x

x

48*

Information 7

48….+000000NN
Info7: „NN“

x

x

49*

Information 8

49….+000000NN
Info8: „NN“

x

x

51*

PPM and Prism constant

51… .+0220+002
PPM „220“ and Prism const „2“ mm

x

x

52

Measurement number Standard deviation

?

?

?

53

Signal power

?

?

?

58*

Prism constant

58..16+00000020
Prism „2“ mm

x

x

x

59*

PPM

59..16+02200000
PPM „220“

x

x

x

71*

Remark1
(or Attribute 1)

71….+0000REM1
“REM1”

x

72*

Remark2
(or Attribute 2)

72….+0000REM2
“REM2”

x

73*

Remark3
(or Attribute 3)

73….+0000REM3
“REM13”

x

74*

Remark4
(or Attribute 4)

74….+0000REM4
“REM4”

x

75*

Remark5
(or Attribute 5)

75….+0000REM5
“REM5”

x

76*

Remark6
(or Attribute 6)

76….+0000REM6
“REM6”

x

77*

Remark7
(or Attribute 7)

77….+0000REM7 “REM7”

x

78*

Remark8
(or Attribute 8)

78….+0000REM8
“REM8”

x

79*

Remark9
(or Attribute 9)

79….+0000REM9
“REM9”

x

81*

Target Easting (E)

81..00+01999507
E: “1999.507”m

x

x

x

82*

Target Northing (N)

82..00-00213159
N: “-2139.159”m

x

x

x

83*

Target Elevation (H)

83..00+00032881
H: “32.881”m

x

x

x

84*

Station Easting (E0)

84..11+00393700
E: “393.700”m

x

x

x

85*

Station Northing (N0)

85..11+06561220
N: “6561.220”m

x

x

x

86*

Station Height (H0)

86..11+00065618
H: “65.618”m

x

x

x

87*

Reflector height (hr)

87..11+00001700
hr: “1.700” m

x

x

x

88*

Instrument height (hi)

88..11+00001550
hi: “1.550” m

x

x

x

531

Atmos. correction:
pressure

531.16+10130000
“1013”

x

538

Coefficient of refraction

538.16+00001300
1.300”

x

560

Time:
[hh.mm.ss]

560..6+00105018
“10:50:18”

x

561

Date:
[mm.dd]

561..6+00020800
“2.8.2000”

x

562

Year:
[yyyy]

562…+00002000
year “2000”

x

590

SW-Version:
Application

590..6+00021000
“V2.10”

x

591

SW-Version:
Operating system

591..6+00020000
“V2.00”

x

592

SW-Version:
OS interface

592..6+00010000
“V1.00”

x

593

SW-Version:
GEOCOM

593..6+00022000
“V2.20”

x

594

SW-Version:
Gsi communication

594..6+00010000
“V1.00”

x

595

SW-Version:
Edm Device

595..6+00011100
“V1.11”

x

913

Job

913…+BLDG.A12
“BLDG.A12”

x

914

Operator

914…+0MM-3519
“MM-3519”

x

* implemented WI

  1. TPS100 Series:

    TC403L, TC600, TC800,
    TC605/L, TC805/L TC905/L

  2. TPS300/700 Series:

    TC302, TC303, TC305, TC307,
    TCR302, TCR303, TCR305, TCR307,
    TC702, TC703, TC705,
    TCR702, TCR703, TCR705,
    TC(R)702 auto, TC(R)703 auto, TC(R)705 auto

  3. TPS1000/1100 Series:

    TC1100/L, TC1500/L, TC1700/L, TC1800/L,
    TCM1100/L, TCM1800/L,
    TCA1100/L, TCA1800/L· TC1101, TC1102, TC1103, TC1105,
    TCR1101, TCR1102, TCR1103, TCR1105,
    TCM1101, TCM1102, TCM1103, TCM1105,
    TCRM1101, TCRM1102, TCRM1103, TCRM1105,
    TCA1101, TCA1102, TCA1103, TCA1105,
    TCRA1101, TCRA1102, TCRA1103, TCRA1105

DNA

Only for DNA03/DNA10

Data word structure

Every word starts with two characters specifying the data type within the word.

  • Pos.1-3: Word Index (WI)

  • Pos.4-6: Information related to data

  • Pos.7: Sign

  • Pos.8-15/8-23: GSI8/16 data

  • Pos.16/24: Blank (=separating character)

Position

Explanation

Applicable for

1-3

Word Index

All words

4

Empty, marked as dot (.)

All words containing

5

Information about the measurement and earth-curvature correction.
0 = measured; without earth-curvature correction.
1 = entered manually; without earth-curvature correction.
2 = measured; with earth-curvature correction.
5 = entered manually; with earth-curvature correction.

Measured data

6

UNITS
0: Meter (last digit: 1mm)
1: Feet (last digit: 1/1000ft)
6: Meter (last digit: 1/10mm)
7: Feet (last digit: 1/10‘000ft)
8: Meter (last digit: 1/100mm)

Measured data

7-15 (7-23)

DATA
Data includes a sequence of 8(16) numerical or alphanumerical characters.

Measured data

16 (24)

SEPARATING CHARACTER
_: Blank

All words

Word Index

WI

FUNCTION

11

PointID

12

Serial number

13

Instrument type

17

Date Year

19

Day time

32

Horizontal distance

35

Setting-out difference

41

Code-Block ID

42

Information 1

43

Information 2

44

Information 3

45

Information 4

46

Information 5

47

Information 6

48

Information 7

49

Information 8

71

Remark

83

Ground height (starting point height or measured height

95

Instrument temperature [°C]

330

Staff reading in “Meas Only”

331

Staff reading, backsight or B1

332

Staff reading, foresight or F1

333

Staff reading, intermediate sight

334

Staff reading, setting-out sight

335

Staff reading, B2

336

Staff reading, F2

374

Setting-out difference of height measurements

390

Count of repeated measurements

391

Mean mode: Standard deviation of the single measurement

392

Mean mode: Spread of measurements

560

Time: [hh.mm.ss]

561

Date: [mm.dd]

562

Year: [yyyy]

571

Station difference

572

Cumulative station difference

573

Distance balance

574

Total distance (=line length)

599

SoftWare Version

Units

The unit in position 6 of the word is used as following :

Unit

Number of decimal

Exemple

0: Meter (last digit: 1mm)

3

12345.678

1: Feet (last digit: 1/1000ft)

3

12345.678

2: 400 gon

5

123.45678

3: 360° decimal

5

123.45678

4: 360° sexagesimal

5

123.45678

5: 6400 mil

4

1234.5678

6: Meter (last digit: 1/10mm)

4

1234.5678

7: Feet (last digit: 1/10‘000ft)

4

1234.5678

8: Meter (last digit: 1/100mm)

5

123.45678

Default patterns

Most of the time, a GSI file is composed of three type of lines:

  • a station point with WI 11 [, 25], 84, 85, 86 [, 87], 88

  • a direct point with WI 11, 81, 82, 83

  • a measurement with WI 11, 21, 22, 31 or 32 [, 51], 87 [, 88] [, 81, 82, 83]

  • a comment with WI 41, [42, 43, 44, 45, 46, 47, 48, 49]

WI in [] are optional.

Known limitations

Support for raw measurements is still incomplete, here is a list of TODO:
  • get coordinates order (NEZ or ENZ)

  • add missing code for TPS (not with an asterisk on the WI list)

  • add DNA support

  • add an option to link comment(s) to either the previous or the next line

  • add an option to link attribut(s) with his point

  • add the possibility to customize code

  • add specific raise functions

Acknowledgements

Support for this format was added thanks to Anna Hodgkinson and Hannah Petten at the University of Liverpool. Some details of the implementation are based on the SurveyTools QGIS plugin developed by Stefan Ziegler.

See also

GSI Online for Leica TPS

Documentation for GSI from Leica.