Reader Module

The GTI GTViewer Reader module is intended to read redlines (or session graphics) stored as unextracted graphics files (.GTG) or session graphics embedded in an extract file (.GTX).

The .GTG file format is the default export format for GTViewer, Pocket GTViewer, GTVx, GT/Field, and the .NET Control and is used to exchange session graphics (or redlines) between users.

The .GTG file and the embedded session graphics in an Extract File (.GTX) can contain both geometry and attribute information. Session graphics created in GTViewer, GTVx, GTVx, GT/Field, and the .NET Controls can embed data in a record-like format which will be interpreted by the Reader module as table records. For example, a Pole Inspection application running on top of GTViewer, GTVx, or Pocket GTViewer could collect data from the user and store tabular data on the redline marks that are placed to indicate that a pole was inspected. The Reader module would then read the records and return both the tabular record information and the geometry of the redline graphics. The Reader module will also interpret GT/Field’s embedded data.

The following format attributes are unique to the Reader Module and are available for each GTViewer element read:

Parameter

Description

Value Range

gti_categoryId

The category ID associated with the source data. This value may or may not be available.

Unsigned Long value.

gti_categoryName

The textual name of the category associated with the source data. This value may or may not be available depending on the source of the data.

String value.

gti_categoryType

The type of category the source data came from. This value may not be available.

0 – regular

1 – overview

3 – session

gti_filterName

The textual name of the Filter Id used with an element. This value may or may not be available.

String value.

gti_groupId

Each group element is assigned a unique id. All of the sub-elements will also contain this unique ID if group elements are broken apart.

Unsigned Long value.

gti_groupSequence

If group elements are broken apart, each sub-element within a group will have a common gti_groupId value, but they will have a unique gti_groupSequence.

Unsigned Long value.

gti_groupCount

The number of elements in the group. When gti_groupSequence is the count-1, the last element is being processed.

Unsigned Long value

gti_embeddedData

A text string holding the embedded data in its raw format.

String value.

gti_embeddedDataType

Currently, GTViewer only supports one type of embedded data on its elements which is tabular data of any size.

0 – no embedded data.

1 – tabular data.

gti_offset

The file offset value of the element as it appears in the original data.

Unsigned Long value

The following Parameters are used in the FME Workspace by the Reader Module:

Parameter

Description

Value Range

Coordinate Factor X1

Coordinate Factor X2

Coordinate Factor X3

Coordinate Factor Y1

Coordinate Factor Y2

Coordinate Factor Y3

The GTViewer data format is always in an unsigned 32 bit coordinate space. However, the coordinate factors are usually stored in the extract files (.gtx) and graphics files (.gtg) and their conversion back to the original coordinate system is automatic. However, if this information is not available or if you need to manually change the coordinate factors, these parameters can be changed to accommodate this need. Generally, these parameters are set to an Asterisk (*) which tells the Reader Module to use the values stored in the data file.

The coordinate factors are used in the following manner by the Reader Module:

DestinationX = (GTViewerX –

CoordinateFactor3X)/

CoordinateFactor2X –

CoordinateFactor1X

DestinationY = (GTViewerY –

CoordinateFactor3Y)/

CoordinateFactor2Y –

CoordinateFactor1Y

* - to use the source files settings (if available)

Or any Double precision value.

Expand Group Elements

This parameter determines how groups are handled. If set to text_groups, only groups containing only text elements are split apart, allowing text elements to be converted and not lost in a aggregate element that is created by default. If set to all, all groups are split into sub-elements. The gti_groupId and gti_groupSequence can be used to identify sub-sub elements.

none,
text_groups,
all