Format

Description

Module: geocompy.gsi.gsiformat

The GSI format module provides data types and utility functions to read and write abritrary Leica GSI8 and GSI16 files.

Container types are implemented for all supported GSI words types and block types. The types can handle parsing, as well as serialization of themselves.

Angular value parsing and serialization unit conversion is done automatically.

Length values are stored in meter units internally. Conversion is handled during parsing. Storage of other decimal values can be done with using scaler “units” (no feet, no angle).

Definitions

class GsiAngleWord(angle: Angle, indexcorr: GsiCorrection | None = None, inputtype: GsiValueType | None = None)[source]

Base type for angular measurement words.

Parameters:
angle: Angle

Measurement value.

indexcorr: GsiCorrection | None = None

State of vertical index correction, by default None

inputtype: GsiValueType | None = None

Value input source, by default None

abstractmethod classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses an angular measurement value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = GsiUnit.DEG, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = GsiUnit.DEG

Angle unit to serialize as, by default GsiUnit.DEG

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

Raises:

ValueError – If invalid angular unit was given.

property wi : int[source]

Word index.

class GsiAppVersionWord(version: float)[source]

WI590 Application version.

Parameters:
version: float

Version number (major: integer part, minor: fractional part).

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a version number from serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiB1StaffReadingWord(value: float, inputtype: GsiValueType | None = None)[source]

WI331 Backsight staff reading.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiB2StaffReadingWord(value: float, inputtype: GsiValueType | None = None)[source]

WI335 2nd backsight staff reading in BFFB mode.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiBFFBStationDifferenceWord(value: float, inputtype: GsiValueType | None = None)[source]

WI571 Difference between B1-F1 and B2-F2 height differences.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiBenchmarkHeightWord(value: float, inputtype: GsiValueType | None = None)[source]

WI83 Benchmark or running ground height.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiBlock(value: str, type: str, *words: GsiWord, address: int | None = None)[source]

Container type for GSI words.

Parameters:
value: str

Point name or code value (depending on block type).

type: str

Block type (“measurement”, “code” or “specialcode)

*words: GsiWord

Words to wrap into the block.

address: int | None = None

Block record address, by default None

Raises:

ValueError – If an unknown block type was specified, or the list of words contains an item that cannot be added.

classmethod parse(data: str, *, dna: bool = False, keep_unknowns: bool = False) Self[source]

Parses a GSI block from a serialized value.

The block cannot have the same GSI word type multiple times.

Parameters:
data: str

Serialized GSI block.

dna: bool = False

Use words applicable to digital levels, by default False

keep_unknowns: bool = False

Keep words that could not be parsed to known types (otherwise discard them), by default False

Returns:

Measurement or code type block.

Return type:

Self

Raises:

ValueError – If an error was found in the serialized value.

get_word(wordtype: type[_T]) _T | None[source]

Get a word of a specific type from the block.

Parameters:
wordtype: type[_T]

Word type to get.

Returns:

Return None if the block does not contain a word of the requested type.

Return type:

GsiWord

serialize(*, address: int | None = None, gsi16: bool = False, endl: bool = True, angleunit: GsiUnit | None = GsiUnit.DEG, distunit: GsiUnit | None = GsiUnit.DECIMILLI) str[source]

Serializes the block to a list of GSI words.

Parameters:
address: int | None = None

Address override value (negative value disables addressing alltogether), by default None

gsi16: bool = False

Create GSI16 words isntead of GSI8, by default False

endl: bool = True

Add newline to end of block (recommended for file writing), by default True

angleunit: GsiUnit | None = GsiUnit.DEG

Angular unit to serialize angles as, by default GsiUnit.DEG

distunit: GsiUnit | None = GsiUnit.DECIMILLI

Distance/Scaler unit for lengths and measurement-like scaled values, by default GsiUnit.DECIMILLI

Return type:

str

Raises:

ValueError – If block has unknown type.

without_unknowns() Self[source]

Returns a shallow copy of the block with the unknown words dropped.

Return type:

Self

property address : int | None[source]

Line address.

property blocktype : str[source]

Block type (“measurement”, “code”, “specialcode”)

property value : str[source]

Block header value (point name or code value).

class GsiCodeWord(value: str, special: bool = False)[source]

WI41 Operation code (first word of code blocks).

Parameters:
value: str

Code value and whether it is a special program code (applicable to digital levels).

special: bool = False

Code is special code (used in DNA output).

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiCorrection(*values)[source]

Index correction state in angular measurements.

OFF = 0[source]
ON1 = 1[source]
ON3 = 3[source]
class GsiDateWord(date: datetime)[source]

WI17 Full date.

Parameters:
date: datetime

Full year-month-day date.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a full date from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiDistanceBalanceWord(value: float, inputtype: GsiValueType | None = None)[source]

WI573 Instrument-staff distance balance.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiDistanceWord(value: float, inputtype: GsiValueType | None = None)[source]

Base type for distance measurement and general scaled value words.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

abstractmethod classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiEDMVersionWord(version: float)[source]

WI595 EDM device version.

Parameters:
version: float

Version number (major: integer part, minor: fractional part).

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a version number from serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiEastingWord(value: float, inputtype: GsiValueType | None = None)[source]

WI81 Coordinate easting component.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiF1StaffReadingWord(value: float, inputtype: GsiValueType | None = None)[source]

WI332 Foresight staff reading.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiF2StaffReadingWord(value: float, inputtype: GsiValueType | None = None)[source]

WI336 2nd foresight staff reading in BFFB mode.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiGeoComVersionWord(version: float)[source]

WI593 GeoCOM version.

Parameters:
version: float

Version number (major: integer part, minor: fractional part).

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a version number from serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiHeightWord(value: float, inputtype: GsiValueType | None = None)[source]

WI83 Coordinate height component.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiHorizontalAngleWord(angle: Angle, indexcorr: GsiCorrection | None = None, inputtype: GsiValueType | None = None)[source]

WI21 Horizontal angle.

Parameters:
angle: Angle

Measurement value.

indexcorr: GsiCorrection | None = None

State of vertical index correction, by default None

inputtype: GsiValueType | None = None

Value input source, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses an angular measurement value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = GsiUnit.DEG, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = GsiUnit.DEG

Angle unit to serialize as, by default GsiUnit.DEG

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

Raises:

ValueError – If invalid angular unit was given.

property wi : int[source]

Word index.

class GsiHorizontalDistanceWord(value: float, inputtype: GsiValueType | None = None)[source]

WI32 Horizontal distance.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiInfo1Word(value: str)[source]

WI42 Information 1.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiInfo2Word(value: str)[source]

WI43 Information 2.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiInfo3Word(value: str)[source]

WI44 Information 3.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiInfo4Word(value: str)[source]

WI45 Information 4.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiInfo5Word(value: str)[source]

WI46 Information 5.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiInfo6Word(value: str)[source]

WI47 Information 6.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiInfo7Word(value: str)[source]

WI48 Information 7.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiInfo8Word(value: str)[source]

WI49 Information 8.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiInstrumentHeightWord(value: float, inputtype: GsiValueType | None = None)[source]

WI88 Instrument height.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiInstrumentTypeWord(name: str)[source]

WI13 Instrument type name.

Parameters:
name: str

Instrument type.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiIntegerValueWord(value: int)[source]

Base type for GSI words with simple interger values and no meta flags.

Parameters:
value: int

Value to represent.

abstractmethod classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiIntermediateStaffReadingWord(value: float, inputtype: GsiValueType | None = None)[source]

WI332 Intermediate staff reading.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiJobWord(value: str)[source]

WI913 Job name.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiNewDateWord(time: datetime)[source]

WI561 Partial date (month-day).

Parameters:
time: datetime

Partial date (month-day)

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a partial date from a serialized GSI word (year is set to 1).

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiNewTimeWord(time: datetime)[source]

WI560 Full time (hours-minutes-seconds).

Parameters:
time: datetime

Full time.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a full time from a serialized GSI word (year, month and day are set to 1).

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiNewYearWord(year: datetime)[source]

WI562 Year.

Parameters:
year: datetime

Year.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a year from a serialized GSI word (month and day are set to 1).

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiNorthingWord(value: float, inputtype: GsiValueType | None = None)[source]

WI82 Coordinate northing component.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiOSInterfaceVersionWord(version: float)[source]

WI592 OS interface version.

Parameters:
version: float

Version number (major: integer part, minor: fractional part).

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a version number from serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiOSVersionWord(version: float)[source]

WI591 Operating system version.

Parameters:
version: float

Version number (major: integer part, minor: fractional part).

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a version number from serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiOperatorWord(value: str)[source]

WI914 Operator name.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiPPMPrismConstantWord(ppm: int, constant: int)[source]

WI51 PPM correction and prism constant.

Parameters:
ppm: int

Corretion factor.

constant: int

Prism constant in millimeters.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses PPM factor and prism constant from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

Raises:

ValueError – If values are out of their valid range, [-9999;9999] and [-999;999] respectively.

property wi : int[source]

Word index.

class GsiPPMWord(value: float, inputtype: GsiValueType | None = None)[source]

WI59 PPM correction factor.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiPointNameWord(name: str)[source]

WI11 Point name (first word in measurement block).

Parameters:
name: str

Point name.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiPressureWord(value: float, inputtype: GsiValueType | None = None)[source]

WI531 Atmospheric pressure.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiPrismConstantWord(value: float, inputtype: GsiValueType | None = None)[source]

WI58 Prism constant.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiReadingCountWord(count: int)[source]

WI390 Reading count.

Parameters:
count: int

Reading count.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiReadingDeviationWord(value: float, inputtype: GsiValueType | None = None)[source]

WI391 Staff reading deviation (mean mode).

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiReadingSpreadWord(value: float, inputtype: GsiValueType | None = None)[source]

WI392 Staff reading spread (median mode).

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiRefractionCoefWord(value: float, inputtype: GsiValueType | None = None)[source]

WI538 Refraction coefficient.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiRemark1Word(value: str)[source]

WI71 Note/Attribute 1.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiRemark2Word(value: str)[source]

WI72 Note/Attribute 2.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiRemark3Word(value: str)[source]

WI73 Note/Attribute 3.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiRemark4Word(value: str)[source]

WI74 Note/Attribute 4.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiRemark5Word(value: str)[source]

WI75 Note/Attribute 5.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiRemark6Word(value: str)[source]

WI76 Note/Attribute 6.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiRemark7Word(value: str)[source]

WI77 Note/Attribute 7.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiRemark8Word(value: str)[source]

WI78 Note/Attribute 8.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiRemark9Word(value: str)[source]

WI79 Note/Attribute 9.

Parameters:
value: str

Code value.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiRunningBFFBStationDifferenceWord(value: float, inputtype: GsiValueType | None = None)[source]

WI572 Running station difference in BFFB mode.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiRunningDistanceWord(value: float, inputtype: GsiValueType | None = None)[source]

WI574 Total level line length.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiSerialnumberWord(serialnumber: int)[source]

WI12 Instrument serial number.

Parameters:
serialnumber: int

Serial number.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses serial number from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiSimpleStaffReadingWord(value: float, inputtype: GsiValueType | None = None)[source]

WI330 Staff reading in measure-only mode.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiSlopeDistanceWord(value: float, inputtype: GsiValueType | None = None)[source]

WI31 Slope distance.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiSoftwareVersionWord(version: float)[source]

WI599 On-board software version (digital level).

Parameters:
version: float

Version number (major: integer part, minor: fractional part).

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a version number from serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiStaffDistanceWord(value: float, inputtype: GsiValueType | None = None)[source]

WI32 Levelling staff distance.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiStakeoutStaffReadingWord(value: float, inputtype: GsiValueType | None = None)[source]

WI334 Setting out staff reading.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiStationEastingWord(value: float, inputtype: GsiValueType | None = None)[source]

WI84 Station coordinate easting component.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiStationHeightWord(value: float, inputtype: GsiValueType | None = None)[source]

WI86 Station coordinate height component.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiStationNameWord(name: str)[source]

WI16 Station point name.

Parameters:
name: str

Point name.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiStationNorthingWord(value: float, inputtype: GsiValueType | None = None)[source]

WI85 Station coordinate northing component.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiTargetHeightWord(value: float, inputtype: GsiValueType | None = None)[source]

WI87 Reflector/Target height.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiTemperatureWord(value: float, inputtype: GsiValueType | None = None)[source]

WI95 Temperature.

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiTimeWord(time: datetime)[source]

WI19 Partial date and time (month-day-hours-minutes).

Parameters:
time: datetime

Date and time, where the year and seconds are ignored.

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a partial date-time from a serialized GSI word (year is set to 1).

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiUnit(*values)[source]

Unit of measurement-like value.

CENTIMILLI = 8[source]

0.00001m or 0.00001 scaler factor

DECIMILLI = 6[source]

0.0001m or 0.0001 scaler factor

DECIMILLIFEET = 7[source]

0.0001ft

DEG = 3[source]

Deciaml degrees

DMS = 4[source]

Sexagesimal degrees (DDD-MM-SS.S)

GON = 2[source]

Gradian/Gon (400gon / 360deg)

MIL = 5[source]

NATO milliradians (6400mils / 360deg)

MILLI = 0[source]

0.001m or 0.001 scaler factor

MILLIFEET = 1[source]

0.001ft

class GsiUnknownWord(wordindex: int, data: str = '', indexcorr: GsiCorrection | None = None, inputtype: GsiValueType | None = None, unit: GsiUnit | None = None, negative: bool = False)[source]

Generic word type to hold unrecognized data for later processing.

Parameters:
wordindex: int

GSI word index.

data: str = ''

Data block, by default “”

indexcorr: GsiCorrection | None = None

Status of the autmatic vertical index correction, by default None

inputtype: GsiValueType | None = None

Source/input method of the value, by default None

unit: GsiUnit | None = None

Unit/scaler coefficient of the stored numerical value, by default None

negative: bool = False

Negative sign, by default False

classmethod WI() int[source]

Always returns 0 to indicate the unknown status of the data.

classmethod parse(value: str) GsiUnknownWord[source]

Parses unknown word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Returns:

Retains all information its raw form to allow further manual processing and error correction.

Return type:

GsiUnknownWord

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by None

Return type:

str

property wi : int[source]

Word index.

class GsiValueType(*values)[source]

Source of measurement-like value.

TYPE0 = 0[source]

measurement transferred from instrument

DNA: measured without curvature correction

Type:

TPS

TYPE1 = 1[source]

manual input

DNA: manual input without curvature correction

Type:

TPS

TYPE2 = 2[source]

measured with horizontal angle correction

DNA: measured with curvature correction

Type:

TPS

TYPE3 = 3[source]

measured without horizontal angle correction

Type:

TPS

TYPE4 = 4[source]

computed

Type:

TPS

TYPE5 = 5[source]

manual input with curvature correction

Type:

DNA

class GsiValueWord(value: Any)[source]

Base type for GSI words with simple values and no meta flags.

Parameters:
value: Any

Arbitrary value to represent.

abstractmethod classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a word from a serialized value.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiVersionWord(version: float)[source]

WI594 GSI protocol version.

Parameters:
version: float

Version number (major: integer part, minor: fractional part).

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a version number from serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

property wi : int[source]

Word index.

class GsiVerticalAngleWord(angle: Angle, indexcorr: GsiCorrection | None = None, inputtype: GsiValueType | None = None)[source]

WI22 Vertical angle.

Parameters:
angle: Angle

Measurement value.

indexcorr: GsiCorrection | None = None

State of vertical index correction, by default None

inputtype: GsiValueType | None = None

Value input source, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses an angular measurement value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = GsiUnit.DEG, distunit: GsiUnit | None = None) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = GsiUnit.DEG

Angle unit to serialize as, by default GsiUnit.DEG

distunit: GsiUnit | None = None

Unused, by default None

Return type:

str

Raises:

ValueError – If invalid angular unit was given.

property wi : int[source]

Word index.

class GsiVerticalDistanceWord(value: float, inputtype: GsiValueType | None = None)[source]

WI33 Vertical distance (height difference).

Parameters:
value: float

Measurement value (in meters distance value)

inputtype: GsiValueType | None = None

Source of measurement-like value, by default None

classmethod WI() int[source]

Class word index (might be different from final runtime value).

classmethod parse(value: str) Self[source]

Parses a distance measurement or measurement-like scaled value from a serialized GSI word.

Parameters:
value: str

Serialized GSI word.

Return type:

Self

Raises:

ValueError – If incorrect unit was found in value.

serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = GsiUnit.CENTIMILLI) str[source]

Serialize data to GSI word text.

Parameters:
gsi16: bool = False

Create GSI16 word instead of GSI8, by default False

angleunit: GsiUnit | None = None

Unused, by default None

distunit: GsiUnit | None = GsiUnit.CENTIMILLI

Distance unit (or scaler unit for generic values), by default None

Return type:

str

Raises:

ValueError – If invalid distance/scaler unit was given.

property wi : int[source]

Word index.

class GsiWord[source]

Interface for all GSI word types.

abstractmethod classmethod WI() int[source]

Class word index (might be different from final runtime value).

abstractmethod classmethod parse(value: str) Self[source]
abstractmethod serialize(*, gsi16: bool = False, angleunit: GsiUnit | None = None, distunit: GsiUnit | None = None) str[source]
property wi : int[source]

Word index.

format_gsi_word(wordindex: int, data: str, indexcorr: GsiCorrection | None = None, inputtype: GsiValueType | None = None, unit: GsiUnit | None = None, negative: bool = False, gsi16: bool = False) str[source]

Format data into a GSI8 or GSI16 word.

Parameters:
wordindex: int

Word index of the word type.

data: str

Preformatted data block.

indexcorr: GsiCorrection | None = None

Status of the autmatic vertical index correction, by default None

inputtype: GsiValueType | None = None

Source/input method of the value, by default None

unit: GsiUnit | None = None

Unit/scaler coefficient of the stored numerical value, by default None

negative: bool = False

Negative sign, by default False

gsi16: bool = False

Construct GSI16 word, by default False

Returns:

Formatted GSI word

Return type:

str

Raises:

ValueError – If wordindex is not in valid range [0;999].

parse_gsi_blocks_from_file(file: TextIO, *, dna: bool = False, keep_unknowns: bool = False, strict: bool = False) list[GsiBlock][source]

Parser GSI blocks from text file.

Parameters:
file: TextIO

GSI file.

dna: bool = False

Use words applicable to digital levels, by default False

keep_unknowns: bool = False

Retain unknown word types, by default False

strict: bool = False

Raise errors during parsing, by default False

Return type:

list

parse_gsi_word(value: str, *, dna: bool = False, strict: bool = False) GsiWord[source]

Parses an arbitrary GSI word from a serialized value.

Parameters:
value: str

Serialized GSI word.

dna: bool = False

Use words applicable to digital levels, by default False

strict: bool = False

Raise exception if word cannot be parsed (otherwise return unknown type word), by default False

Return type:

GsiWord

Raises:
  • ValueError – If strict is enabled and word type cannot be parsed.

  • Exception – If strict is enabled and error occured during parsing.

write_gsi_blocks_to_file(blocks: Iterable[GsiBlock], file: TextIO, *, gsi16: bool = False, angleunit: GsiUnit = GsiUnit.DEG, distunit: GsiUnit = GsiUnit.MILLI, address: int | None = 1) None[source]

Write GSI blocks to file, with sequential addresses.

Parameters:
blocks: Iterable[GsiBlock]

Blocks to write to file.

file: TextIO

Output file.

gsi16: bool = False

Use GSI16 instead of GSI8, by default False

angleunit: GsiUnit = GsiUnit.DEG

Angular unit to serialize angles as, by default GsiUnit.DEG

distunit: GsiUnit = GsiUnit.MILLI

Distance/Scaler unit for lengths and measurement-like scaled values, by default GsiUnit.MILLI

address: int | None = 1

Starting point of the sequential addresses (not setting it preserves the address information in the blocks, negative value disables addressing alltogether), by default None