You are on page 1of 151

Importing and Exporting

Data collector files


Version 4.71
October 2007

TABLE OF CONTENTS
TABLE OF CONTENTS............................................................................................................................................ 2
I. GENERAL PRINCIPLES ...................................................................................................................................... 4
INTRODUCTION .......................................................................................................................................................... 4
FILE - IMPORT ............................................................................................................................................................ 5
General guidelines ................................................................................................................................................ 5
Code conversion for data collector files ............................................................................................................... 6
Configuring Pythagoras for importing data collector files .................................................................................. 6
Importing the data collector file. .......................................................................................................................... 9
ADJUSTING TRAVERSES....................................................................................................................................... 11
Closed traverse ................................................................................................................................................... 13
Open traverse...................................................................................................................................................... 14
Fixed-point text file ............................................................................................................................................. 17
CALCULATION OF THE ELEVATION OF A POINT (IN REFERENCE TO THE LOCAL COORDINATE SYSTEM)..................... 18
FILE - EXPORT.......................................................................................................................................................... 19
Exporting a stake out list .................................................................................................................................... 19
II. PRINCIPLES OF EXTENDED CODE CONVERSION ................................................................................. 20
CODES AND OPTIONS ................................................................................................................................................ 20
ABOUT CODES .......................................................................................................................................................... 20
1. Simple points................................................................................................................................................... 20
2. Simple Lines .................................................................................................................................................... 21
3. Text.................................................................................................................................................................. 21
4. Polylines : lines & arcs connecting a series of points. ................................................................................... 21
5. Points related to a polyline ............................................................................................................................. 30
6. Rectangles ....................................................................................................................................................... 31
ABOUT OPTIONS ....................................................................................................................................................... 32
1. The use of the options of the first group.......................................................................................................... 33
2. The use of the options of the second group..................................................................................................... 37
III. THE CODE DESCRIPTION FILE .................................................................................................................. 40
PURPOSE .................................................................................................................................................................. 40
STRUCTURE AND SYNTAX OF THE CDF FILE .............................................................................................................. 40
HEADER ................................................................................................................................................................... 41
LENGTH ............................................................................................................................................................. 41
LENGTH_OPTION............................................................................................................................................. 42
STRINGS ............................................................................................................................................................. 42
LINEMODE ........................................................................................................................................................ 42
SIGNCONVENTION........................................................................................................................................... 43
ATTRIBUTES_OF_FIRST_POINT..................................................................................................................... 43
GROUP_TEXT_SYMBOL................................................................................................................................... 43
SYMBOLORIENTATION_TO_NEXT_POINT.................................................................................................... 43
UNKNOWN_ELEVATION.................................................................................................................................. 43
ABBREVIATIONS FOR OPTIONS ................................................................................................................................. 43
CODES ..................................................................................................................................................................... 45
Range .................................................................................................................................................................. 45
Error Code .......................................................................................................................................................... 46
Invalid measurements ......................................................................................................................................... 47
Common Attributes ............................................................................................................................................. 47
Attributes for Text (TEXT) .................................................................................................................................. 50
Attributes for simple point codes (POINT) ......................................................................................................... 55
Attributes for simple line codes (LINE)............................................................................................................... 56

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 2

Attributes for Rectangles (RECTANGLE)........................................................................................................... 57


Attributes for Polylines (POLYLINE) ................................................................................................................. 59
Attributes for POINT_WITHIN_POLYLINE....................................................................................................... 61
Examples of CDF file entries .............................................................................................................................. 63
IV. EXAMPLES : USING CODES AND OPTIONS............................................................................................. 65
EXAMPLES - USING CODES AND OPTIONS FOR POLYLINES ........................................................................................ 65
EXAMPLES - USING CODES AND OPTIONS FOR A RECTANGLE ................................................................................... 78
EXAMPLES - USING CODES AND OPTIONS FOR A POINT ............................................................................................. 78
EXAMPLES - USING CODES AND OPTIONS FOR A POINT IN A POLYLINE...................................................................... 79
V. CREATING VALID DATA COLLECTOR FILES FOR USE WITH PYTHAGORAS.............................. 81
TOPCON ................................................................................................................................................................... 81
Introduction......................................................................................................................................................... 81
FCTE-1 ............................................................................................................................................................... 81
GTS-6 .................................................................................................................................................................. 85
FC-5 & FC-2....................................................................................................................................................... 89
FC-6/GTS-700..................................................................................................................................................... 91
NIKON...................................................................................................................................................................... 94
Nikon 700 series/AP800...................................................................................................................................... 94
Nikon 800 series.................................................................................................................................................. 98
Nikon 300 ............................................................................................................................................................ 99
Nikon 400 .......................................................................................................................................................... 101
PENTAX ................................................................................................................................................................. 104
PCS-Series/ R100-Series/ R300-Series ............................................................................................................. 104
ATSTOPO ......................................................................................................................................................... 108
Pentax POWERTOPO....................................................................................................................................... 111
GEODIMETER ......................................................................................................................................................... 114
SOKKIA .................................................................................................................................................................. 117
SDRxx series ..................................................................................................................................................... 117
SET 2C,3C,4C II ............................................................................................................................................... 121
LEICA..................................................................................................................................................................... 122
Invalid measurement......................................................................................................................................... 126
ZEISS ..................................................................................................................................................................... 127
REC 500 /REC Elta........................................................................................................................................... 127
Zeiss Elta 40R en Elta 50R ............................................................................................................................... 130
Zeiss M5 ............................................................................................................................................................ 133
TDS-48 DATA COLLECTOR ................................................................................................................................... 135
General ............................................................................................................................................................. 135
Job record :....................................................................................................................................................... 135
Header data : .................................................................................................................................................... 135
Record to adjust the height: .............................................................................................................................. 135
Station point:..................................................................................................................................................... 136
Detail point (Side Shot) : .................................................................................................................................. 136
Example: ........................................................................................................................................................... 137
Stake out............................................................................................................................................................ 137
TRIMBLE DC10 AND DC10.70 FORMAT ................................................................................................................. 137
APPENDIX.............................................................................................................................................................. 141

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 3

I. General principles
INTRODUCTION
Pythagoras can read files produced by most modern total stations and data collectors. Pythagoras does
NOT read directly from the data collector. The files first need to be transmitted to your computer before
they can be imported by Pythagoras. Most manufacturers of total stations and data collectors provide
communication software that allows you to transmit the data to your computer.
Each manufacturer uses a different format to store the data measured in the field. These formats are
mostly documented in the manuals that come with the equipment. It is recommended that you familiarize
yourself with the basics of the format used by your equipment.
When you ask Pythagoras to import a data collector file, the program will read the file you selected,
convert the measurements to coordinates in the drawing, and, if codes are used in the field, generate lines
and symbols. However, Pythagoras can only do these steps if the program knows the data structure of the
file, the meaning of the values in the file (e.g. is a distance a horizontal distance or a slope distance ...),
and, if you used codes, how you would like the codes converted to lines and symbols.
The conversion of codes to lines, symbols and text is very powerful. Pythagoras imposes a number of
rules about the way codes can be used. However, within this set of rules, Pythagoras gives you the
freedom to define your own codes. You may not only define your own codes, but you may add a number
of attributes that tell Pythagoras whether to convert a code into a symbol, a line or text. In addition, these
attributes can specify the color of the generated objects, the layer, and more.
This document explains :
1. How you need to configure Pythagoras so the measurements that you want to import are converted
correctly into coordinates in your drawing.
2. The general principles and rules for the use of codes.
3. The format of the Code Description File : the file that contains your code definitions and how
Pythagoras needs to convert them into to symbols and lines.
4. Instrument-specific rules that need to be followed, in order to make valid data collector files.

But we begin by providing a few general guidelines on how to use your instrument and data collector in
order to be able to import your field data into Pythagoras.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 4

FILE - IMPORT
General guidelines
1. When importing a file, Pythagoras will always handle the complete file (except Leica). If you
recorded multiple projects in the same file, this file will first need to be split up into one file per
project.
2. All measurements in the file must have the same format. Pythagoras is not capable of handling files
that contain measurements recorded in different formats (e.g. certain records contain only angles,
other records contain only coordinates, etc.). If, for some reason, you would like to record traverse
data in polar format (angles and distances) and detail measurements (side shots) from the same station
(occupation point) in rectangular format (coordinates), it is recommended that you store the traverse
data and the data of the detail points each in different files. If a file contains two different data
formats, Pythagoras will ask which data need to be read in : polar or coordinate data, depending on
the type of data collector used.
3. If several stations were required for a survey, you may either make one file per station or use 1 file
which contains a Station record for each new station.
a) Each file contains only one station:
You need to record on paper for each station :
- the position (or point number) of the station,
- the backsight point.
For certain data collectors, you need to reset the horizontal angle to zero while reading the
backsight point (Hz = 0.0). Refer to Chapter V for the type of data collector that you are using.
In the Pythagoras drawing, you will need to create a coordinate system for each station position.
The coordinate system has the station point as the origin, and the backsight point as the reference
direction. Each file is then imported relative to the coordinate system for that station position.
Note : when using codes, lines may not remain open at the end of a file.
b) Each file contains multiple stations.
You need to make sure that the file contains a Station record for each new station. The Station
record must contain:
- the point number of the station
- the backsight point
- the instrument height
Reset the horizontal angle when viewing the backsight point. (Hz = 0.0)
When the backsight point is the first station, the backsight point number must remain empty.
Since the first station has no point number (it has not been measured), an empty backsight will
tell Pythagoras that the first station should be interpreted as the backsight point.
With the information above, Pythagoras can calculate all coordinates. Furthermore, when using
the extended coding of Pythagoras, it gives you the ability to leave lines open between station
positions.
Note : you may omit the Station Records if all of the following conditions are met :
- the data are recorded in rectangular coordinates (in the same coordinate system)

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 5

all z-values are adjusted by the instrument or by the data collector to adjust for the difference
between station height and reflector height
Pythagoras does not need to calculate the position of eccentrically measured (offset) points

Code conversion for data collector files


Using the data collector in the field, you can add a code to each measurement. There are 3 different ways
to have Pythagoras act on this code.
A. No Code Conversion
It can be very useful to import files either without codes, or with codes that are not intended to be
"interpreted" by Pythagoras.
When you select no code conversion from the menu option Defaults - Configure - Data collector - Coding
options, Pythagoras will create a point (cross) for each valid measurement in your Data collector file. If
your Data collector contains point numbers, the point numbers in the drawing will match the point
numbers used in the field. If a measurement contains additional information (a code), this code will be
used as the comment field or description of the point. All points will be placed in the layer that is
currently active. The point number and code will appear in the Pythagoras control panel when you move
the cursor near a point.
B. Basic Code conversion : points and lines
This Code conversion goes one step further. Pythagoras will again create a point for each measurement
using the same rules as if No Code Conversion were selected. However, if you add the point number of a
point that has already been measured, as the "second part" of the code, Pythagoras will automatically
generate a line between the 2 points. The line will also be placed in the layer that is currently active. If
you would like to connect the current point to the previous point, you can also simply enter a period (.)
instead of the point number. This will tell Pythagoras that the measured point needs to be connected to the
previous point.
The delimiter between the code and the point number depends on the brand of the data collector. Please
refer to "Creating valid data collector files for use with Pythagoras" for details.
If the point number is not known, an error will pop up and the point will simply be created without a line.
C. Extended code conversion
When extended code conversion is selected, Pythagoras will convert the field data into a drawing that
contains points, lines, arcs, symbols and text. The rules for this conversion are defined in the Code
Description File. The code description file contains a list of the valid codes, and for each code the type of
code and its attributes. The type of code defines whether the code needs to generate a line, a point, an arc,
a curve or text. The attributes specify the point and line styles, the font, the color and the layer of the
objects. More about the Code Description File (CDF) in a later chapter.

Configuring Pythagoras for importing data collector files


Before importing or exporting a Data collector file, you first need to configure Pythagoras to use the
appropriate brand and model of data collector. In addition, if you use codes in the field, and you would

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 6

like Pythagoras to convert the codes to lines and symbols, you will need to create a Code Description
File. This file needs to be "loaded" in order for Pythagoras to interpret the codes correctly.
The 'Defaults' menu in Pythagoras contains the item 'Configure'. The Configure menu contains the menu
items 'Data collector' and 'Load Code Description'.
A. Configuring Pythagoras for the data collector that you are using
When selecting the menu option Defaults - Configure - Data collector, a dialog box will pop up. First,
select the brand and model of your Data collector. Next, depending on the data collector that you
selected, you also need to specify the measurement mode used in the Data collector file and/or the level of
code conversion that you would like.
MEASUREMENT MODE
Most data collectors allow you to record the measurements in rectangular (XYZ, YXZ or NEZ) or polar
(HDZ, HVD, HVS) coordinates. Some data collectors (WILD, ZEISS, SOKKIA) provide sufficient
information in the data collector file that the interpretation of the values in the file is unambiguous. Others
(TOPCON FCTE-1) have a format that does not specify the meaning of the values in the different fields.
If your data collector contains sufficient information so that Pythagoras can determine the measurement
mode that was used, this item will be disabled. If not, you will need select the appropriate item in the
dialog box that pops up when clicking the "measurement mode" button.
CODING OPTIONS
You always need to specify the type of Code conversion. The different types of conversion are explained
in the section "Code conversion for data collector files". Extended coding can only be selected if a code
description file has been loaded. (Refer to the Chapter that explains the CDF file)
When selecting extended code conversion, make sure you also select the appropriate length unit for
distances entered manually in the field. Using a smaller length unit than the length unit used for the
measured coordinates or distances can help get more parameters in your Code field of the data collector.
e.g. your data collector records the slope distance in meters, but the offsets for the eccentric (offset) points
are entered in centimeters, if this is the unit used by the measuring-tape.
Certain data collectors do not have a special record for station points. Other data collectors require an
additional code to identify station records. If you would like your data collector file to contain multiple
station records, you can add a station point code. For more information using multiple station-points, refer
to "station-points".
Note : For Zeiss data collectors, the length of the point identifier needs to be specified (refer to "Zeiss" in
Chapter V).
FORCED IMPORT
It is possible to ignore the station coordinates calculated by Pythagoras during the import of polar survey
data. The calculated coordinates will be replaced by coordinates in a text file. These coordinates may be
the result of an adjustment program or can be given GPS points used for the stationing of your
instrument. This file may contain XYZ, XY or Z coordinates.
It is sufficient to mark the check box Allow substitution of
station data in the below dialog box. The fixed points mentioned
in the coordinate file should be measured in your raw data file. At
all time, it should be possible to import the original raw data file
on its own. All detail points measured from the station points will
be imported relative to the positions of the fixed coordinates.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 7

During import, you will be asked to specify the file containing the fixed points and also the file name for
the report should be indicated.

Choosing for this option will automatically disable the internal Pythagoras adjustment possibilities (see
Adjusting Traverses)
The generated report file will contain dS and dZ values. The differences between the measured values and
the fixed values for the coordinates of the used stations will be calculated in XY (dS) and in Z (dZ). The
measured values are based on the used backsight direction in a given station point.

Sn

Sn+1

Sn-1
The resulting file looks like :

Id
GPS091
GPS090
GPS016
GPS015

ADW Software

dS
0.038
0.008
0.647
3.281

dZ
0.117
0.226
1.221
-0.048

Pythagoras - Importing and Exporting Data Collector files

Page 8

B. Loading a Code Description File (CDF)


A Code Description File is a text file that contains a list of valid codes. For each code, the CDF file
contains attributes that need be interpreted by Pythagoras. Pythagoras makes use of these attributes to
convert them to symbols, lines, text, etc.
A CDF file is only needed if you selected extended code conversion. Loading your code description file
initializes your own individual codes. If loading the CDF file encounters an error, the CDF file pops up
inside a text editor, and an error message appears for the line in which the error was encountered. You can
make corrections to the CDF file right there, save it, and then re-load the file. After correcting the error(s),
you can also save and re-import the CDF file using 1 simple operation. Select the menu option "File" and
select the sub-menu "Redo load CDF file" or simply press the F1 key. The corrected one will overwrite
the previously loaded CDF file. Only code description files without any errors are accepted (and loaded)
and enable you to use the extended code conversion.
For more information on the Code description file, refer to the Chapter on the CDF file.

Importing the data collector file.


The data collector file needs to be downloaded to the computer before you can import it into Pythagoras.
The import will be relative to the active coordinate system. Field data can be imported in any coordinate
system: Global coordinate system, Local coordinate system or a User coordinate system. (note : field data
can not be imported in page coordinates). If the current Coordinate system is the global coordinate
system, you can only import files that contain rectangular coordinates. In all other Coordinate systems,
other conventions can be used. The set of valid conventions depends on the brand and model of the data
collector. Refer to the Chapter "Creating valid data collector files for use with Pythagoras."
Depending on the type of code conversion, points, lines and text objects can be created in the active
drawing (Refer to the section "Code conversion for data collector files").
Each type of data collector requires you to follow a different set of rules in order to provide Pythagoras
with field data that can be imported.
The global rules are :
1. Only complete measurements can be imported. (Exception : Z values can be omitted when using
rectangular coordinates)
2. All measurements must be of one single type and convention per line. e.g. mixing rectangular
coordinates and HVS measurements in the same data collector file is not valid. Combining both types
of data in the same record is allowed. E.g. Leica will select rectangular coordinates, when using
mixed data
3. Length and angle units must remain identical, throughout the file.
Special rules must be followed if there is more than one station in the survey data file. When occupying a
new station, sufficient information must be recorded in the file so that Pythagoras knows:
1. the position of the station (a previously recorded point)
2. the backsight point.
3. the height of the instrument.
This information must be stored in a Station Record. For more details on the Station Record, refer to
"Creating valid data collector files for use with Pythagoras".
When recording polar coordinates (HDZ, HVD, HVS), remember to reset the Horizontal Angle of the
instrument.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 9

Before importing the file, verify that the preference settings in Pythagoras correspond with the values
used in the data collector. E.g. if your data collector file does not contain information on the length unit
used in the file, you need to match this unit setting in Pythagoras, with the unit setting used by the data
collector. For details, refer to "Creating valid data collector files for use with Pythagoras".
When selecting the menu option File - Import - data collector, a dialog box will pop up requesting the
name of the file that contains the field data.
If importing the data collector file fails, the data collector file will pop up in a text editor and an error
message will identify the line in which the error occurred. Unless the error is fatal, you have the choice to
continue or to abort the import.
You can edit the error(s) right there in the text editor, save the file and re-import it. After correcting the
error(s), you can also save and re-import the data file using 1 simple operation. Select the menu
option "File" and select the sub-menu "Redo import data collector" or simply press the F1 key. The
previously imported data will be removed from the drawing and the corrected data will be re-imported.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 10

ADJUSTING TRAVERSES
While importing field data into Pythagoras, you can also have Pythagoras adjust open or closed traverses.
Note the following:
1. You need the Pythagoras module Import Field Data
2. The field data need to be in polar data format. For certain instruments, the backsight angle for each
station needs to be set to 0. Please refer to the manual for your instrument.
Pythagoras will determine the points that are traverse points by interpreting their codes (Refer to the
chapter that describes the CDF file). There are two types of traverse points: Simple traverse points and
fixed points. Fixed points are points that have known coordinates (often orientation points).
In order to make use of the traverse adjustment capabilities of Pythagoras, both types of points need to be
defined in the CDF file. The codes in the CDF file need to have the following attributes :
Fixed (known) point Networkpoint(FP)
Traverse point Networkpoint(TP)

Example:
; Simple traverse point
STN = POINT
(
LAYER("Adjustment")
STYLE(0, 1)
COLOR(0)
NETWORKPOINT(TP)
)
; known fixed point
GPS = POINT
(
LAYER("Adjustment")
STYLE(0, 1)
COLOR(0)
NETWORKPOINT(FP)
)
While importing the data collector file, and Pythagoras notices that the file contains traverse points,
Pythagoras will display a message box. You can then decide whether or not you would like to have
Pythagoras adjust the traverse (in 2D or 3D). Pythagoras will ask you to specify a file name and location
for a text file in which the results of the traverse will be saved. In this Traverse Result text file,
Pythagoras will provide an overview of the calculated results for the traverse correction.
After the results file has been saved, the actual import will begin and the imported points will appear in
the Pythagoras drawing (fig. 1). All detail points (side shots) will be imported relative to the adjusted
traverse stations. If you would like to view the calculated results of the traverse correction, you can use
Pythagoras' built-in text editor (File - Open Text files) or a text editor of your choice, to open the
Traverse Result text file that you specified to Pythagoras during the import process (see fig. 2).

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 11

3
2

Fig. 1

Traverse Adjustment
Station

Observations
H

(DMS)

(DMS)

Unadjusted coordinates
D

(US ft)

1
12331'42"

8959'10"

139.59

14230'55"

9020'45"

138.49

9551'43"

8905'31"

131.25

9159'18"

8945'57"

259.5

8606'15"

9138'58"

81.26

000'00"

9000'00"

2
3
4
5
1

Angle error =

(US ft)

(US ft)

(US ft)

(US ft)

(US ft)

N-error

E-error

(US ft)

(US ft)

Z-error
(US ft)

-77.102

116.364

0.034

-77.102

116.365

0.034

-0.00003

-0.0014

-0.00022

-67.547

254.524

-0.802

-67.548

254.527

-0.802

0.00085

-0.00334

-0.00044

63.63

258.888

1.278

63.63

258.896

1.279

0.00028

-0.0073

-0.00065

81.253

-0.013

2.339

81.26

-0.002

2.34

-0.00685

-0.01112

-0.00106

-0.007

-0.01

-0.001

-0.00725

-0.00989

-0.00119

000'07"0 DMS

Closure distance =

0.01226 US ft

Vertical error =
Precision =

(US ft)

Adjusted coordinates

-0.00119 US ft
1 in 61170

Perimeter =

750.09 US ft

Area in sq.ft. =

33242.9 sq.ft

Area in acres =

0.76315 acres

Area in sq.m. =

3088.4 sq.m

Fig. 2

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 12

Closed traverse
The field data will be imported relative to the active coordinate system in the Pythagoras drawing. Before
importing the data collector file into this drawing, you will thus first need to create a user coordinate
system that has the first station point (occupied point) as the origin, and a reference point as the
orientation (Northing). After importing the data collector file into this user coordinate system, you can
switch back to the local coordinate system to revert to actual coordinates.
Note : If you would like the traverse adjustment to occur not only over distances, but also over angles,
you will need to make sure that the data collector file contains a measurement of the backsight point
while occupying the first station point.
The example below shows a sample data collector file that contains a closed traverse. Importing this data
collector file into Pythagoras, results in fig 1 (the Pythagoras drawing that contains the adjusted traverse
points) and fig 2 (the Traverse Calculation Result) on the previous page.
H
S
M
M
S
M
S
M
S
M
S
M

HVD,DMS,US_FEET,CW,REL_COORDS
1
-5.0
--5
0
90
100
5.0
2
123.3142
89.5910 139.59
2
1
5.0
--3
142.3055
90.2045 138.49
3
2
5.0
--4
95.5143 89.0531 131.25 5.0
4
3
5.0
--5
91.5918 89.4557 259.50 5.0
5
4
5.0
--1
86.0615 91.3858 81.26 5.0

-TP
5.0
-5.0
-TP
-TP
-TP

-TP
-TP
--

; Occupy 1st Station point


; Measure last Station pt as backsight
; Measure 2nd Station point
; Occupy 2nd Station point
; Measure 3rd Station point
; Occupy 3rd Station point
; etc.

---

Where :
The H record is specific to the Pentax Powertopo format
S records contain station point, backsight and instrument height
M records contain detail point number (side shot), Horizontal angle, Vertical angle, Distance, Prism
height and the code TP (which was entered in the instrument to identify the point as a traverse point).

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 13

Open traverse
Below, you'll find an overview of the cases that are supported by Pythagoras and the way they need to be
measured.
Case 1: Open traverse, with known first and last station point

no adjustment over the angles, only over the distances

Where:
S1 and Sn: known fixed points (GPS point,), also traverse points (occupied station positions)
S2Sn-1 : traverse points (occupied station positions)
(Note : the known points are shown with a round dot point symbol)
Method:
Occupy S1 with a given instrument orientation. Measure S2 as a simple traverse point with code TP. Then,
occupy S2 and back sight to S1. Measure S3 as a simple traverse point with code TP. Do so for all
Traverse Stations up to Sn. When measuring Sn, give it the code FP since it is a known point. Occupy
Station Sn and backsight to Sn-1.
During the import process, Pythagoras will ask you to specify the text file that contains the coordinates of
the known points. Before importing, you will first need to create such a text file. Point numbers used in
this ASCII text file should coincide with those used in the field.
In this example, Pythagoras will be looking for coordinates of the points S1 and Sn.
An example of such a fixed-point text file is provided after Open Traverse Case-3.
Example
-S
S1
M
S2 90.0000
S1
S
S2
0.0000
M
S1
M
S3 320.0000
...
S
Sn-1
Sn-2
M
Sn-2 0.0000
M
Sn 208.0000
Sn-1
S
Sn

5.00
90.0000
5.00
90.0000
92.0000

STN
9.90
STN
10.00
55.00

5.00
90.0000
90.0000
5.00

STN
80.00
30.00
STN

(Occupy Station 1)
5.00
TP (Measure point S2)
(Occupy Point S2, backsight to S1)

5.00
5.00

FP
TP

5.00
5.00

TP
FP

S-line = station record that contains station number, backsight point, instrument height and code
M-line = detail record (side shot) that contains point number, horizontal angle, vertical angle, distance,
refl. height and code
Applied codes :
TP :
unknown traverse point, for the stations S2 till Sn-1
FP :
known fixed point, for S1 and Sn

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 14

Case 2: Open traverse, with known backsight point, known first station point,
and known last station point
no adjustment over the angles, only over the distances

Where:
0 : known point (used for its direction)
S1 and Sn: known fixed points (GPS point,). Also station (occupied) points
S2Sn-1 : traverse points (occupied station positions)
(Note : the known points are shown with a round dot point symbol)
Method:
Occupy S1 and measure point 0. This point receives the code FP, since this is a known point. Measure S2
as a simple traverse point and give it the code TP. Occupy S2 and backsight S1. While measuring S1, also
give it the code FP, since this is also a known station point. Next, measure S3, and give it the code TP. Do
so for all Traverse Stations up to Sn. When measuring Sn, give it the code FP since it is a known point.
Occupy Station Sn and backsight to Sn-1.
During the import process, Pythagoras will ask you to specify the text file that contains the coordinates of
the known points. You will first need to create such a text file. Point numbers used in this ASCII text file
should coincide with those used in the field. In this example, Pythagoras will be looking for coordinates
of the points 0, S1 and Sn.
An example of such a fixed-point text file is provided after Open Traverse Case-3.
Example
S
M
M
S
M
M
...
S
M
M
S

0
S1
0
0.0000
S2 90.0000
S2
S1
S1
0.0000
S3 225.0000

5.00
90.0000
72.0000
5.00
89.0000
90.0000

STN
95.00
10.00
STN
10.00
40.00

Sn-1
Sn-2
Sn-2 67.0000
Sn 200.0000
Sn
Sn-1

5.00
90.0000
90.0000
5.00

STN
40.00
65.00
STN

FP
TP
FP
TP
TP
FP

S-line = station record that contains station number, backsight point, instrument height and code
M-line = detail record (side shot) that contains point number, horizontal angle, vertical angle, distance
and code
Applied codes :
TP :
unknown traverse point, for the stations S2 till Sn-1
FP :
known traverse point, for points 0, S1 and Sn

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 15

Case 3: Open traverse with known backsight point, known first station point, known last station point
and known foresight (end) point
adjustment over the angles, as well as over the distances

Where:
0 : known point (used for its direction)
S1 : known fixed point (GPS point,). Also first traverse (occupied) point
S2Sn-1 : traverse points (occupied station positions)
Sn : known fixed point (GPS point,). Also last traverse (occupied) point
X : known fixed point (GPS point,)
(Note : the known points are shown with a round dot point symbol)
Method:
Occupy station S1 and backsight to point 0. This point receives the code FP since this is a known point.
Next, measure point S2 as a simple traverse point and give it the code TP. Occupy station S2 and
backsight to S1. S1 also receives the code FP, since it is also a known station point. Measure S3 and give it
the code TP. Repeat for all stations until you reach point Sn-1. Occupy Sn-1, backsight Sn-2 and measure
point Sn. Sn is a known point and thus receives the code FP. Finally, occupy station Sn, backsight Sn-1 and
measure point X as a known station point with the code FP
During the import process, Pythagoras will ask you to specify the text file that contains the coordinates of
the known points. You will first need to create such a text file. Point numbers used in this ASCII text file
should coincide with those used in the field. In this example, Pythagoras will be looking for coordinates
of the points 0, S1, Sn, and X.
An example of such a fixed-point text file is provided on the next page.
Example
S
M
M
S
M
M
...
S
M
M
S
M
M

0
S1
0
0.0000
S2 90.0000
S1
S2
S1
0.0000
S3 180.0000

5.00
90.0000
90.0000
5.00
85.0000
87.0000

STN
89.90
10.00
STN
10.00
35.00

Sn-1
Sn-2
Sn-2 0.0000
Sn 90.0000
Sn
Sn-1
Sn-1 0.0000
X 135.0000

5.00
90.0000
90.0000
5.00
90.0000
90.0000

STN
20.00
10.00
STN
10.00
70.00

FP
TP
FP
TP
TP
FP
TP
FP

S-line = station record that contains station number, backsight point, instrument height and code

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 16

M-line = detail record (side shot) that contains point number, horizontal angle, vertical angle, distance
and code
Applied codes :
TP :
unknown traverse point, for the stations S2 till Sn-1
FP :
known traverse point, for points 0 and X, as well as for stations S1 and Sn

Fixed-point text file


If Pythagoras encounters any fixed points (i.e. known points) during the import process, the program
will ask you to specify the location of the text file that contains the coordinates of these points. This text
file could look as follows (where the columns represent the point number, N, E and Z):
1 100.0
4 90.0
10 85.0

10.0
10.0
10.0

0.0
0.0
0.0

As you can see, this list has the same format as a regular coordinate list. If you have not yet created this
text file before importing the data collector file, you will need to cancel the import process and create this
coordinate list text file first.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 17

CALCULATION OF THE ELEVATION OF A POINT


(IN REFERENCE TO THE LOCAL COORDINATE SYSTEM)
When converting the instrument data into coordinates in your drawing, Pythagoras will adjust the
elevation if needed. It is a given that, if the field data consist of coordinates with correct x, y and z values,
Pythagoras does not need to do any adjustments. However, in several situations, e.g. when the input data
are in polar coordinates and the instrument height and reflector height have different values, the program
will need to take different factors into account to calculate the correct z-value.
Pythagoras takes into account the following:
1. The elevation of the coordinate system in which the data are imported.
2. The measured elevation
3. Difference between Instrument height and Reflector height.
This difference is only taken into account if no adjustment has been made by the instrument or by the data
collector. For more information, refer to "Creating valid data collector files for use with Pythagoras"
The elevation of a point in the Pythagoras drawing:
Z = Zcs + Zm + Zd
Zcs
Zm
Zd

ADW Software

: the elevation of the origin of the coordinate system in which imported.


: measured elevation.
: Instrument height - Reflector height.

Pythagoras - Importing and Exporting Data Collector files

Page 18

FILE - EXPORT
Exporting a stake out list
Using the menu option File - Export, writes the selected points to a text file. The format of this file
corresponds with the stake out file format of the data collector for which Pythagoras is configured, using
the menu option Defaults - Configure - Data collector.
The points are exported as rectangular coordinates. If the data collector supports both NE and XY and
there is no info field in the file format to distinguish between both formats, Pythagoras exports the points
in the format that is active at the time of export. So please make sure to verify whether your data
collector and Pythagoras are using the same type of coordinates. The same principle is used for length
units. If e.g. the data collector accepts meters or feet and Pythagoras is configured for cm, then the
coordinates will be in meters. If Pythagoras is configured for miles, feet will be selected. If the data
collector file does not store the length units, the units used during export must be the same as the units
used in the data collector.
Pythagoras will create only a file on your hard drive. You will need a communication program to
download this file into the data collector.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 19

II. Principles of extended code conversion


CODES AND OPTIONS
When using codes in the field with the intention of having Pythagoras automatically generate your
drawing, you need to enter a code for each measurement. The code specifies the type of point that has
been measured (e.g. a corner of a building). Some codes may or must be followed by 1 or multiple
options and parameters. These options provide more detailed information for that point. When BD is used
as the code for a building, and the letter S means the start of a line, then entering BDS specifies the start
of a building. Some options require additional parameters. If you want to generate parallel lines when you
measure a curb of a road, the "extra polyline" option will require the relative distances as parameters.

ABOUT CODES
All measurements recorded in the data collector file must have a code that has been defined in the Code
Description File, and, as discussed earlier, the Code Description File must be loaded using Defaults Configure - Load Code Description. Measurements having not having a code will automatically get the
same code as the previous point.
Codes are subdivided into the following types:
- codes for simple point symbols
- codes for simple lines
- codes for polylines
- codes for points which are oriented relative to the polyline to which they correspond
- text codes
- codes for rectangular objects
The length of the code (min. 2, max. 8 characters), is specified in the header of the code description file.
Codes for polylines and rectangles must have this fixed length. For the other types, the length of the code
may be shorter. For example, if the length of the code is 2 characters, then B is a valid code for a simple
point symbol but not for a polyline. The codes can either be alpha-numeric or numeric.
A measured point can have multiple codes simultaneously. The different codes are separated from one
another using a separator-symbol that is determined by the data collector. Not all data collectors support
this feature, though. Please refer to Chapter V for the data collector that you use.

1. Simple points
This type of code simply creates a point or a symbol. The attributes and layer of the point are defined in
the Code Description file.
Up to 3 text objects can be added. These text objects can have a fixed or a variable content. The rules for
creating these text objects is identical to the rules for creating codes for text objects (discussed further in
this manual).
The attributes and content of the text objects are defined in the CDF file. The content of the text objects
can be fixed, can originate from a table, can be typed into the data collector, or can be the point number or
X, Y or Z coordinate.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 20

Since these text objects are separate objects, you can move them in the drawing at a later time. By adding
the option "group text" in the CDF file, however, text objects can be automatically grouped with a
specific point.
If the point is not directly visible and the measurement was taken with an offset (the reflector was to the
left, right or in front of the point), then the recorded coordinates can be adjusted by Pythagoras. This
offset and the position of the reflector relative to the point, needs to be provided in addition to the code.
A rotatable point symbol can be oriented in a certain direction by measuring an additional point. Refer to
"Options".

2. Simple Lines
Pythagoras will create a point for each measurement. The measured point will be created as an invisible
point in the layer specified by the "simple line" code. If the code is followed by a valid point number, the
two points will be connected by a line. Attributes and layer of this line are defined in the Code description
file.
You may also define the connection with a previous point without using a point number:
a) using a dot (.) : the measured point will be connected to the previous point which has the same code.
b) using double dot (..) : the measured point will be connected to the previous point of type "simple line".
There is no limitation as to the number of simple lines that can be open at the same time. You may also
measure other points while simple lines are open. Contrary to Polylines (discussed later in this manual),
you do not need to start or end a "simple line" type.
Note : the instruments from Wild (Leica), specify "." by -1 and ".." by -2.

3. Text
Using a code of the type TEXT, will result in a text object being placed in the drawing. No point will be
created. The position recorded in the data collector record will be the location of the text in the drawing.
The attributes of the text and its content are defined in the code description file. The content field may
contain a variable part. This variable part can be:
-

text typed into de data collector file directly after the code
text from a string table. The string table is a text look up table defined in the header of the CDF
file. In this instance, the code typed into the data collector file must be followed by text, which
is used as an index to retrieve the variable text from the text look up table.

The orientation of the text can be horizontal or rotated by a fixed angle.


The "Text" type of code can be used to automatically add different types of comments to the drawing.

4. Polylines : lines & arcs connecting a series of points.


When measuring streets, one often needs to measure several lines simultaneously (e.g. the curb of the
road, houses, utility cables, fences, ...). Pythagoras allows you to have an unlimited number of polylines
open at the same time. Contrary to Simple lines, polylines need to be opened (starting point) explicitly.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 21

Used feature codes (assigned to the measured points) will be assigned automatically to the created
polylines between those points. This simplifies the selection of those polylines and helps you creating
thematic maps.

Polylines also provide you with the following additional possibilities:


1. Grouping codes : you can use different codes that all belong to the same polyline.
2. Starting point / ending point of a polyline : you can close polylines using a straight line or using a
tangential curve : circles using 3 points, or rectangles and parallelograms.
3. Polylines that pass through points that have not been measured by the instrument (Points of polyline
segments perpendicular to, or along the extension of the previous polyline segment.)
4. Arcs and curves can be a part of a polyline.
5. Create perpendicular lines at specific points of the polyline (either to the left or to the right)
6. Create non-perpendicular lines, at specific points of the polyline (either to the left or to the right)
7. Create multiple polylines (up to 6) simultaneously. Each polyline can have a different elevation, and
be at a varying distance from the original polyline.
8. Create parallel polylines through 1 point : these polylines will remain parallel along the complete
length of original polyline, and can have a difference in elevation.
9. Text objects can be added to polylines : either in the middle of a line of the polyline, or at a specific
point of the polyline.
10. Points linked to a polyline : points for which the symbol has a specific direction (rotation angle) in
reference to the direction of the polyline of which it is a part (e.g. point symbols that have a different
direction than the polyline to which they belong (e.g. eddy))

Point style - line style


Pythagoras will create the points using the style specified in the Code Description File. If no style is
specified, the point will be invisible.
The 2nd and subsequent points will be connected to their predecessor in the series of points. The
connection can be a line, a curve or an arc depending on the options specified after the code. Symbols at
the points which belong to a polyline, can be oriented (rotated) in the direction of either the previous or
the next point.

Groups
The codes for Polylines and Points related to a line can be divided into groups. (The subdivision in
groups is specified in the Code Description File). While in the field, you may measure points of different
lines simultaneously, as long as the codes for these lines belong to different groups.
For example you can measure points in the following sequence:
Point
1
2
3
4
5
6
7

Code
WAS
BDS
BD
BD
DH
BDE
WAE

ADW Software

Description
Start of a wall
Start of building
2nd. point of building
3rd. point of building
Door of building
Last point of building
End of wall

Pythagoras - Importing and Exporting Data Collector files

Page 22

Note : in this example the code BD is a polyline code for buildings, DH is a code for a "Point related to a
line", and WA is the polyline code for a wall. The codes BD and DH belong to the same group (e.g. the group
"Buildings"), code WA to another group (e.g. the group "Walls").
Pythagoras will generate the lines for the building connecting points 1, 2 and 5, and will generate a line
from point 3 to point 6 representing a wall. For point 4 Pythagoras will generate the appropriate symbol
in the direction of the line connecting points 2 and 5.
When different codes of the type polyline belong to the same group, they can be mixed when measuring a
sequence of points, but they are assumed to belong to the same polyline. The code will be used as
follows :
1. Line, tangential arc or curve : 2 points are needed to create a line or a tangential arc or curve. The
attributes and layer of the line, arc or curve connecting the two points is determined by the first point, if
this point is used for the orientation, OR by the second point.
2. Arc : 3 points are needed to draw an arc. The attributes and layer of the arc are determined by the first
point, if this point is used for the orientation, or by the third point.
The points themselves are created in the layer determined by the code.
Starting point and Ending point of a polyline - "Closing" a polyline
a. The first point of a polyline must be identified as the starting point, and (optionally) the last point can
be identified as the ending point. If BD is the code used for building and S and E are the options
identifying starting point and ending point, then code BDS identifies the starting point of a building and
BDE identifies the ending point.
Although it sounds logical to measure the S-point of a line first and to measure the E-point last, Pythagoras allows you to work
the opposite way. This is done because of historical reasons. In the first implementation, the two end points of the polyline were
called Left and Right. Left and right meaning as you were facing the front of the building. So the first point of a polyline started
with a code that specified the side of the building from the measurement started. If you would prefer to work this way, it would
be better to use other characters to specify start and end.

Note that you don't really need to end a polyline explicitly. A new starting point of a polyline that has the
same code, automatically ends the previous polyline of the same type. A warning will be given to confirm
that a new polyline was started without specifically ending the previous polyline.
b. Closing a polyline (i.e. connecting the last point of the polyline to the first point of the polyline) can be
done by adding a specific option to the code. If the code is used once (e.g. "C"), the polyline will be
closed with a straight line. If the code is used twice (e.g. "CC"), circles, closed curves, parallelograms and
rectangles can be created by measuring only 3 points.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 23

Visible and invisible points in a polyline


a. Measuring points using offsets
Visible points are points for which coordinates have been measured. Invisible points are points that have
not been measured using the total station, but that have been measured using, for example, a measuringtape. In order to specify that the point is to the left, to the right or an extension of the previous line of the
polyline, you can make use of the "eccentric" (i.e. offset) option. You simply specify a distance directly
after the code. The invisible points are recorded in the data collector, but Pythagoras will ignore their
coordinates.
The line segment created by connecting the invisible to the previous point of the polyline, must be
perpendicular to, or an extension of the previous line segment.
The direction and the length are given as an option to the code.
The possible directions :
a. Perpendicular to the previous line.
- to the left
- to the right
b. An extension of the previous line.
Meaning of Left - Right
A point is left of a polyline if it is at the left side of the last segment of a polyline.
Note : The first 2 points of a polyline can not be invisible points.

Example:
Point
1
2
3
4
5

Code
BDS
BD
BD L200
BD R250
BDE

Description
Start of building
2nd point of building
3rd point of building perpendicular to, and to the left of line 1-2
4th point of building perpendicular to, and to the right of line 2-3
Last point of building

Line 2-3 is 200 cm to the left and perpendicular to line 1-2. If the line were perpendicular in the other
direction, BD R200 would have needed to be entered.
The above definition is valid if the Header of the CDF file contains LINEMODE(START_END). For historical reasons, and for
compatibility with older versions of Pythagoras, the default is LINEMODE(LEFT_RIGHT). If the LEFT_RIGHT mode is still
used, then you will normally use 1 character to specify perpendicular. The sign will specify whether the line will be in the
positive or the negative direction.
The most important difference between both modes is the following:
START_END : the direction is relative to the last line.
LEFT_RIGHT : the perpendicular direction is relative to the first line.
Note : When using CDF files and data collector files made for Pythagoras 4.5x and older, the imported results with the newer
versions of Pythagoras will be identical.
We recommend that you use LINEMODE(START_END) since this method is easier to use in the terrain.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 24

b. Measuring points using right angles


Another possibility for measuring invisible or difficult to reach points is making use of the option
connect using a right angle or "connect using an alternate right angle".
If you add the option "connect using a right angle" to a point, Pythagoras will connect this point to the
previous point using a right angle. This right angle will be determined as follows : One line will be
perpendicular to the line that was measured last, and will start at the point that was measured last. The
other line will be drawn parallel to the line that was measured last, and will start in the point that received
this code.
If you add the option "connect using an alternate right angle" to a point, Pythagoras will also connect this
point to the previous point using a right angle. But this time, the right angle will be determined as follows
: One line will be parallel to the line that was measured last, and will start at the point that was measured
last. The other line will be drawn perpendicular to the line that was measured last, and will start in the
point that received this code.
c. Measurement using invisible points
Invisible or difficult to reach points can also be created as follows :
1. Adding an invisible point in a measured direction and distance
or
2. Determining the point of intersection of 2 measured lines
Also refer to Chapter IV for a detailed drawing.

Arcs
Arcs (circular curves) are identified by adding the arc option to the code of a polyline. An arc is defined
by at least 3 points in sequence. The first 3 points make an arc. The subsequent points are tangential to the
previous arc.
Thus, several arcs that are connected, but have a different radius, can be measured.
* Measuring several arcs with a straight line in between them:
The end of an arc is identified using the option "end arc" for the last point of the arc. Then, a straight line
is created up to the next arc-point.
* Measuring 2 sequential arcs that are non-tangential:
For the ending point of the arc, use not only the option "end arc", but also the option "arc". Now the end
of the first arc will also be the start of the second arc.
* Exception : when measuring a circle that goes through 3 points : refer to "Closing" in the section above.
Curves (Splines)
Curves (Splines) can be created by adding the option "curve" to the code of the polyline. A curve is
identified by using at least two points in sequence. The beginning/end will be tangential to the
previous/next line, curve or arc of the polyline.
* Measuring several curves that have a straight line in between them:

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 25

The end of the curve is identified by adding the option "end curve". A straight line will then be created up
until the next point of the curve.

Perpendicular line to the polyline


In order to create a perpendicular line at a particular point of a polyline, you will need to add a
perpendicular line option to the code of that particular point where the line should start. There are 2
codes to define a perpendicular line, one code for a line to the left, and one for a line to the right. The line
type will be defined by the code.
The length of the perpendicular line is either defined in the CDF file, or can be added to the code as an
additional option. Thus, you can create a perpendicular line that has a measured length. If the CDF file
does not specify the length of this perpendicular line, a default line length of 5 meters will be used.
This type of perpendicular line is particularly useful if you need to measure the starting point and ending
point of a house (e.g. the front side), but you don't want to measure the complete house (e.g. the rear
side).
1st possibility
The line type of an automatic created line is defined by the code that belongs to measured polyline.
2nd possibility
A construction code is used. This construction code refers to a previous defined global or extended option
in the heading of the CDF. This allows you to define for each particular perpendicular line attributes like
option, layer, width, length of the perpendicular line, style, scale and color. The end points of the
perpendicular line will remain invisible
When an option is used that is predefined in de header of the CDF, but when there are no attributes
defined in the code for this option, the same attributes of the measured polyline line will be used. This
means that several perpendicular lines can be created to a polyline (e.g. facade line) with their own
characteristics. E.g. a perpendicular line to the left and a perpendicular line to the right starting in the
same point.

Examples:
Extension in the heading of the CDF :

L = GLOBAL_OPTION(PERPENDICULAR_LEFT)
R = GLOBAL_OPTION(PERPENDICULAR_RIGHT)
T = GLOBAL_OPTION(PERPENDICULAR_LEFT)
P = GLOBAL_OPTION(PERPENDICULAR_RIGHT)
L = EXT_GLOBAL_OPTION(EXCENTRIC (PERPENDICULAR _LEFT))
R = EXT_GLOBAL_OPTION(EXCENTRIC (PERPENDICULAR _RIGHT))
T = EXT_GLOBAL_OPTION(EXCENTRIC (PERPENDICULAR _LEFT))
P = EXT_GLOBAL_OPTION(EXCENTRIC (PERPENDICULAR _RIGHT)

Description of the codes :

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 26

GB = POLYLINE (
LAYER("Building")
STYLE("Example" , "wall")
WIDTH(1)
COLOR(GREEN)
LENGHT(5.00)
CONSTRUCTION ( OPTION(L)
LENGTH(7.00)
LAYER (construction facade)
WIDHT(1)
COLOR(RED)
)
CONSTRUCTION( OPTION(T)
LENGTH(3.00)
LAYER (common wall)
WIDHT(1)
COLOR(BLUE)
)
)

Examples of inserted codes:


GBST will create a perpendicular line on the left of the main polyline GB. The length of this
perpendicular is 3m and the color = blue.
GBE L1000 will create a perpendicular line at the left of the main line; length = 10m, color = red

Remark: Because of the use of these constructions, the attribute Separator will not be used anymore.

Non-perpendicular line to the polyline (extra line)


In order to create a line that starts at one of the polyline points, but goes in specific direction, you will
need to add the "extra line" option to the code that goes with the point that determines the direction of the
line. This will allow you to create lines that are not perpendicular to the polyline.
Automatically generated extra polylines
1st possibility

A maximum of 6 additional (extra) polylines can be generated concurrently while generating a polyline.
The additional polylines will be created along the complete length of the polyline.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 27

You can provide up to 6 values that specify the distance of the extra polylines (this includes the code for
the starting point of a polyline). A positive value normally means that the additional polyline will be
created at a distance that is to the left of the measured polyline. A negative value will result in an
additional polyline to the right of the measured polyline.
Note: you can change the meaning of LEFT = POSITIVE to LEFT = NEGATIVE by placing the
parameter SIGNCONVENTION(RIGHTPOS) in the header of the CDF file. The default value
SIGNCONVENTION(LEFTPOS)
The polyline may contain arcs. In this case parallel arcs are generated. The parallel arcs/lines are
automatically joined at their intersections.
The extra polylines do not need to remain parallel over the complete length of the polyline. The distances
may vary between points. Every time the distances vary, you need to add all the new distances. If no
distances are added, the previous distances will continue to be used.
Example :
Code1
CB
CB

Code2
20+45 -120
20+45 -100

lines will be created at 20 cm, 45 cm and -1.20m of the measured point.


lines will be created at 20 cm, 45 cm en -1.00m of the measured point.

The last line will not be parallel but will be at a distance of 1.20m of the first point, and 1.00 m. of the
second point.
Note : in this example, the length unit for this option is set to cm. But it could, for example, just as well
be inches.
Characteristics of those extra polylines :
By default, those extra polylines will get the same characteristics as the measured base polyline.
However, it is possible to specify in the CDF file the characteristics of maximum 6 extra polylines :
2nd possibility
When measuring a polyline maximum 6 extra polylines can be created at the same time. These extra
polylines can be created for the whole polyline.
You can define up to 6 values which will determine the length of the extra polylines together with the
code of the starting point o f a polyline. A positive value means that the parallel polyline will be on the
left of the measured line. A negative value means that the parallel polyline will be on the right of the
measured polyline.
Note: u can change LEFT = POSITIVE into LEFT = NEGATIVE by defining this in the heading of the
CDF: DIRECTION (RIGHT POS). This is default DIRECTION (LEFT POS)
The polyline can contain arcs. In this case parallel arcs will be created. These parallel arcs will be
automatically shortened by their intersection points.
The extra polylines dont have to stay parallel. The distances in between the measured points can vary
along the polyline. Each time the distance between 2 points changes, all new distances need to be defined.
When the distance is not defined, the previous defined distance will be used.
A construction code is used. This construction code refers to a previous defined global or extended option

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 28

in the header of the CDF. A construction code allows you to use and mix more (max. 6) global/extended
options of the same types.
This allows you to determine individual attributes such as option, layers, width, style, scale, length of
perpendicular line and color for each parallel polyline or perpendicular line.
The points of a polyline are always invisible just like the endpoints of a perpendicular line.
When using an option that is predefined in the header of the CDF, but when there where no attributes
defined in the code, the same attributes of the measured polyline will be applied. This means that different
parallel polylines can be created, with their own graphical attributes.
You can mix those different options.
Conclusion of 1st and 2nd possibility: or all parallel polyline will have the same attributes as the
measured polyline, or they can have all different attributes using construction codes. For each different
parallel polyline an option need to be coded.
Examples
Extension in the heading of the CDF :
P = GLOBAL_OPTION(PARALLEL_POLYLINE)
Q = GLOBAL_OPTIONPARALLEL_POLYLINE)
P= EXT_GLOBAL_OPTION(PARALLEL_LINE)
Q=EXT_GLOBAL_OPTION(PARALLEL_LINE)
Description of the codes :
BS = POLYLNE (
LAYER("Border Street")
WIDTH(1)
COLOR(GREEN)
CONSTRUCTION ( OPTION(P)
LAYER (Fencing)
WIDHT(1)
COLOR(RED)
)
CONSTRUCTION ( OPTION(Q)
LAYER (Pavement)
WIDTH(1)
COLOR(RED)
)
)
Examples of inserted codes :
BSS +10-25-35
This example is according the first possibility. 3 parallel lines are defined, all with the same graphic
characteristics as the main polyline BS. Only condition: in de code BS you need to define that the only
able option is the parallel line option.
BSS P10Q-35Q-100
This example is according the second possibility. 3 parallel polylines are defined: a first at 10 on the right
of the main polyline, with characteristic according construction code P, a second polyline on 35 cm on

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 29

the left of the main polyline, with characteristics according construction code Q and a third parallel
polyline at 100 cm on the left of the main polyline, with characteristics according construction code Q
Mixing these 2 possibilities like e.g. in BSS P10-25-35 is not allowed.
Remark : The previous attribute parallel wont be used anymore because of these constructions..

Automatically generated parallel polylines


A parallel polyline through a point : the difference in elevation between the measured point and the
projection of this point on the polyline, determines the elevation difference between the parallel polylines.
The perpendicular distance between the measured point and the polyline, determines the distance between
the parallel polylines.
A parallel polyline with a given elevation difference : the difference in elevation between the polylines
needs to be entered as a specific value (in addition to the distances) for each polyline (a maximum of six).

Text objects
Just as text objects can be added to simple points, text objects can also be added to points or lines of a
polyline. You simply need to specify, in the CDF file, whether the text belongs to a point or to a line of
the polyline. Text that is added to a line will be placed in the middle of the line. For text that is added to
points, you can specify, in the CDF file, an offset that determines the position of the text relative to the
point. Text objects can be added to points and lines for a particular polyline code. Text objects can have
any attribute. Aligned text objects will receive the same orientation as the line or as the symbol to which
they belong.

5. Points related to a polyline


These types of code may only occur while measuring a polyline of the same group. The point will be
related to the line / arc / curve that is formed by the previous and the following point of the polyline.
Again a point will be added to the drawing, but if the point symbol is rotatable it will be rotated parallel
to the related line / arc / curve or it will be drawn and rotated by an additional angle in reference to this
reference line/arc/curve.
Point style
Pythagoras will create the points using the style specified in the Code Description File. If no style has
been specified, the point will be represented by a small cross.
Symbol to the left or to the right of the polyline
If the point style is a symbol that is not symmetrical, it may be necessary to add a direction to the code. If
you do not specify a direction, the symbol will be placed to the left of the line. Adding the option RIGHT
will place the symbol to the right of the polyline.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 30

Point projected on the polyline


If desired, instead of the measured point, the projection of the measured point onto the related line will be
placed into the drawing. To use this feature, you need to specify the parameter PROJECTION in de
definition of the code, in the CDF file.
Text
When creating a point, Pythagoras can place up to 3 text objects in the drawing. The content and
attributes of the text objects depend on the corresponding attributes for the code in the CDF file. The
content of the text objects can be fixed, can originate from a table, can be typed into the data collector, or
can be the point number or X, Y or Z coordinate.

The CDF file defines whether the text object will be placed horizontally, at an angle (oblique), or at an
additional angle in reference to the line. The position of the text in the drawing is determined as follows:
1. The definition of the point in the CDF file may contain a parameter : POSITION(x, y).
This parameter defines the position in mm (page units) of the starting position of the text relative to the
point.
2. The position of the text in the document will be calculated relative to a coordinate system that has the
coordinates of the point as the origin, and the direction of the related line (or the tangential to the related
arc/curve) as the X-axis.

6. Rectangles
When measuring rectangles, it is not required to measure the 2 points that determine the rectangle, in
sequence. Other points, polylines, and other codes may be used in between the measurement of the first
point and the second point of the rectangle. These 2 points will create one side of the rectangle. The first
point must be identified as the starting point, the second point must be identified as the end point.
The width or length of the rectangle can be specified by adding it (as a parameter) to the code that is
given to the first point. If no width or length is specified, the width/length specified in the CDF file, will
be used. If the CDF file does not specify a width/length, a default value of 5 meters will be used. The
width can be positive or negative. If positive, the rear of the rectangle will be to the left of the front of the
rectangle (when looking from the starting point to the end point).
Note 1: you may alter the meaning of LEFT = POSITIVE to LEFT = NEGATIVE by placing the
parameter SIGNCONVENTION(RIGHTPOS) in the header of the CDF file. The default is
SIGNCONVENTION(LEFTPOS)
Note 2: You may also first measure the ending point before measuring the starting point, as long as both
ending point and starting point are specified.

The 4 points of the rectangle will be created as invisible points in the drawing. The points that have not
been measured will have no point number. The attributes and layer of the lines will be determined by the
rectangle code in the CDF file. The CDF file also defines the type of rectangle that needs to be created.
The type will determine whether the rectangle will contain 1, 2 or no diagonal lines.
Another option is adding text. Text will always be placed parallel to the rectangle.
The starting position of the text will be the middle of the side of the rectangle that
has not been measured. The attributes, content, position and layer of the text are
defined in the code description file.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 31

ABOUT OPTIONS
When using codes (simple point, polyline, etc), additional options can be added to the code. The available
options depend on the type of code used.
The number of characters used for options is specified in the header of the CDF file. The default length
for options is 1 character. All options MUST use the same amount of characters. The code separator,
however, must always be only 1 character.
Abbreviations used for options can either be numeric or alpha-numeric. When numeric abbreviations are
used, the *- sign can not be used anymore in the extended option parallel polyline and should be
replaced by a letter or number.
Using abbreviations for options that are 2 characters long, is not recommended.
A detailed description of the use of options follows, but first, a short introduction on the concept
"groups".
There are two "groups" of options :
1. The First group called Global options (keyword GLOBAL_OPTION) in the CDF file.
The first group of options have no parameters (no additional values). The option is specified by one
character. A code may be (but must not be) followed by one or multiple options.
-

START option : identifies the starting point of a polyline or rectangle


END option : identifies the end point of a polyline or rectangle
ARC option : identifies the point in a polyline as an arc point
END_OF_ARC option : identifies the point in a polyline as the last point of an arc/curve
CURVE option : identifies the point in a polyline as a point of a curve
PERPENDICULAR_LEFT option : creates a line to the left of a polyline and perpendicular to
the polyline. The same option may be used for points related to a polyline, to specify whether
the symbol should be placed at the left of the polyline
PERPENDICULAR_RIGHT option : creates a line to the right of a polyline and perpendicular to
the polyline
CLOSE option: closes polylines. The end point will be connected to the starting point
PARALLEL_POLYLINE option : creates a polyline that is parallel to the polyline, along the
complete length of the polyline, and goes through a point
EXTRA_LINE option : creates a line (not perpendicular) starting in the specified point
INVISIBLE_CORNER option : creates an invisible right angle
CORNER option : creates an additional angle
SYMBOL_ORIENTATION option : orients (rotates) a point symbol
CODE_SEPARATOR option : a separator symbol used in between different codes for the same
point
2D_MEASURING-option: used to ignore the height of a measured point.

These options can be added to the code assigned to a measured point, without using a delimiter. (Leica is
the only exception). Several of these options may be combined and the sequence in which they are used,
may be random.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 32

2. The Second group called Extended global options (keywords EXT_GLOBAL_OPTION) in the CDF
file.
The second group of options require one or more additional values (parameters). A parameter can be a
string, a point number, a distance or an elevation difference. The length unit of these distances and height
differences can be selected in the code options dialog box and needs to be identical for both. Refer to
"Configure Data Collector".
The type of code determines whether 1 or multiple options can be used. Moreover, you can specify, in the
CDF file, whether a specific code is only allowed to have one option. If the definition for a particular
code allows multiple options, an additional parameter (always 1 character) will be required to specify the
option that will follow the code. The CDF file defines these abbreviations. Refer to
EXT_GLOBAL_OPTION parameters.
If the code allows only one type of option, the abbreviation must be omitted and only the parameter can
be added to the code, separated by the appropriate delimiter for your brand of data collector. If the code
allows multiple options, the parameter must be preceded by the abbreviation in order to identify the
option. The available options of this type are:
-

TEXT option : the parameter is a string. This string is either the text that needs to appear in the
drawing, or an abbreviation that is used to retrieve the text from a STRING table

POINTID option : the parameter is a point number

ECCENTRIC
(INVISIBLE POINT) option : either the option IN_EXTENSION,
PERPENDICULAR_LEFT or PERPENDICULAR_RIGHT can be used to modify the measured
coordinates, if the real point is eccentric to (offset relative to) the measured coordinates.
For points of a polyline, the eccentric (offset) option specifies the position of invisible points of
a polyline. (Refer to the section about "Invisible points")

WIDTH option : the parameter must be a distance. It is only used to specify the depth of a
rectangle

PARALLEL_LINES option : up to 3 distances separated by their sign can be added

HEIGHT_DIFFERENCE option : abbreviation used for an additional polyline that has a specific

height difference
-

INVISIBLE_POINT option : specifies the length of a line. It determines the distance between the

last point of the polyline that was measured, and the new point
-

SCALE-option: possibility to scale a symbol or line style.

1. The use of the options of the first group


START option : for polylines and rectangles
The start option must be added after the first point of a polyline or rectangle. It specifies that 1 or more
points of the polyline will follow, and that all these points should be connected until the end of the
polyline has been reached. Once a starting point of a polyline has been given, points related to that line
may be used, and Pythagoras will automatically orient (rotate) the symbol in the direction of the polyline.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 33

Multiple polylines may be open simultaneously as long as they belong to a different group. Since points
related to a polyline (water inlet, house door), also belong to a group, Pythagoras will know the
orientation of the symbol even if multiple polylines are open simultaneously
END option : for polylines and rectangles
The end option may (but must not) be added after the last point of a polyline or rectangle.
Note that you don't really need to end a polyline explicitly. A new starting point of a polyline that has the
same code, automatically ends the previous polyline of the same type. A warning will be given to confirm
that a new polyline was started without specifically ending the previous polyline.
Note : when using LINEMODE(LEFT_RIGHT), the START option and END option are respectively called the LEFT option
and RIGHT option. When using the LEFT_RIGHT convention, lines may be started using either LEFT or RIGHT. For more
information consult the chapter about the CDF file.

ARC option : for polylines


Each and every point that is part of the arc (the first point and all subsequent points of the arc) must
receive the ARC option. Pythagoras will create an arc through the first 3 points. All subsequent points
will be connected to the previous point with an arc that is tangential to the previous arc.
Example : the following sequence of codes :
(in this example, CB is used as the code for Curb, A is used as the code for Arc)
CBS, CBA, CBA, CBA, CBE : will create a line from point 1 to point 2, an arc through points 2, 3 and 4,
and a line from point 4 to point 5.
END_OF_ARC (last arcpoint) option : for polylines
Once you have measured two points of an arc, you can add the option END_OF_ARC to the third point.
If another point follows within this polyline, a straight line will be created. The option END_OF_ARC
avoids that you would need to measure an additional point between the end of the first arc and the
beginning of the second arc, in order to get a straight line between these two arcs.
If you add both the option END_OF_ARC and ARC to the ending point of an arc, the end of the first arc
will also become the starting point of the second arc. This allows you to connect two arcs that have a
different radius, while the arcs remain tangential to one another.
This option can also be used similarly with curves (splines).
CURVE option : for polylines
Curves (splines) are created by adding the option CURVE to the code of the polyline. A curve is defined
by at least 2 points in sequence. The beginning/end of the curve will be tangent to the next/previous curve
of the polyline. The curvature of the curve is determined by the code used for the first point of the curve.
The option CURVE can be combined with the option "extra polylines" (explained further in this manual).
Text objects can also be added.
The option CURVE and the option ARC cannot be combined in the same point. The options for invisible
points are not applicable. Point symbols in a polyline will be aligned (rotated) in the direction of the
curve.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 34

PERPENDICULAR_LEFT option : for polylines and points in a polyline


When measuring buildings, and also in other situations, it is often necessary to specify the separation of 2
buildings by a line that is perpendicular to the polyline being measured. The options
PERPENDICULAR_LEFT and PERPENDICULAR_RIGHT, allow you to create a line perpendicular to
the polyline, starting at the point that contains the option. The line is either to the left or to the right of the
polyline. The length of the line can either be specified in the CDF file, or it can be added to the code as an
additional option. If neither option is used, a default of 5 meters will be applied.
The same option may be used for Points related to a polyline to indicate that the symbol must be created
to the left of the polyline. When this option is omitted, left is assumed.
PERPENDICULAR_RIGHT option : for polylines and points in a polyline
Refer to PERPENDICULAR_LEFT option.
CLOSE option: for polylines
This option may only be used for the last point of a polyline. (The END option does not need to be
provided). The end point will be connected to the starting point with a straight line.
Example :
In the example, below, the following codes are used:
BD
: code, of type Polyline, for a building.
DH
: code for "Door House" (the threshold of a door in a building)
S
: START
E
: END
C
: CLOSE
A
: ARC
The following is a valid sequence of codes with options.
BDS
BDA
BDA
BDA
BDL
DH
BD
BDC

: Start of polyline
: this point and the next 2 points will create an arc.

: point (a perpendicular line to the left will be created)


: the symbol for Door House will be created at the left of the polyline.
(If DHR was used, the symbol would be created at the right side of the polyline)
: point
: Close, this point will be connected to the first point of the polyline by a straight line

The double CLOSE option : this option is a special case of the CLOSE option. If curves are used, the
ending point will be connected to the starting point tangentially. Another application of this option is
measuring a circle by measuring 3 points. Finally, squares, rectangles or parallelograms can easily be
created by simply measuring 3 points.
PARALLEL_POLYLINE option: for polylines
This option is used to create a parallel polyline along the complete length of the polyline, and that goes
through a specific point. The difference in elevation between the measured point and the projection of this
point onto the polyline determines the difference in elevation between the two polylines. The line type of

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 35

the created line is determined by code of the point. Each point that is measured and receives this option,
will result in a new parallel being created. Combining this option with other options for polylines is not
supported.
EXTRA_LINE option: for polylines
In order to start a new line in a point of the polyline, you need to add the extra line option to the code of a
point that specifies the direction of the line. Other than using this point to determine the direction of the
line, Pythagoras will ignore the coordinates of this point. The line style of this line will be defined by the
code.
The length of the line will be determined either by the content of the CDF file or by specifying a length
along with the option "invisible point". If no length has been defined in the CDF file, a default length of 5
meters will be used. By default, Pythagoras will create the line at the opposite side of the polyline (the
side opposite to the side where the point that determines the direction, is located). If, however, a "-" sign
precedes the specified length, Pythagoras will create the line in the direction of the measured point.
The attributes of this line will be determined by the code that is used for the point for which the EXTRALINE option is used. This point is not required to receive the same code as the polyline, as long as it
belongs to the same group as the polyline. The extra line will not become a part of the polyline.
This option is not valid for the first point of the polyline, and this option cannot be used in combination
with the options PERPENDICULAR_RIGHT and PERPENDICULAR_LEFT.
This type of line (extra line), is particularly useful if the start of a hedge or fence needs to be drawn
relative to a polyline.
INVISIBLE_CORNER option : for polylines
Measuring invisible or unreachable points can be accomplished by making use of the option
INVISIBLE_CORNER. If you add this option to a point, Pythagoras will connect this point to the
previous point of the polyline using a right angle. This right angle will be determined as follows : One
line will be perpendicular to the line that was measured last, and will start at the point that was measured
last. The other line will be drawn parallel to the line that was measured last, and will start in the point that
received this code.
Multiple invisible right angles can be used in sequence. This option can only be used after a line in a
polyline, and not after an arc or curve.
If the point that receives the option, is located exactly along the same line as the previous two points,
Pythagoras will not create an invisible angle, and no error will result.
CORNER option: for polylines
Measuring invisible or unreachable points can also be accomplished by making use of the option
CORNER. If you add this option to a point, Pythagoras will connect this point to the previous point of the
polyline using an alternate right angle. This right angle will be determined as follows : One line will be
parallel to the line that was measured last, and will start at the point that was measured last. The other line
will be drawn perpendicular to the line that was measured last, and will start in the point that received this
code.
Multiple invisible right angles can be used in sequence. This option can only be used after a line in a
polyline, and not after an arc or curve.

SYMBOL_ORIENTATION option: only for simple points


A point symbol can be oriented (rotated) in a specific direction that is defined by measuring an additional
point. The abbreviation for SYMBOL_ORIENTATION will need to be added to this measured point. The

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 36

coordinates of the point will only be used to orient (rotate) the symbol of the preceding point that has the
same code. Pythagoras will ignore these coordinates for any other purpose and will not create an
additional point.
If no abbreviation for SYMBOL_ORIENTATION is used for the additional point, a point will be created
at these coordinates, determined by the content of the CDF file.
If the coordinates of both points (the point with the symbol that needs to be oriented, and the extra point)
are the same, the options will be invalid and an error message will result.
2D measuring
This global option can be defined on all codes with type point, point in polyline, polyline, rectangle or
line.
The height of a measured point will be ignored and replaced by -1000m. This default value can be
adjusted in the header of the CDF file.
All lines constructed from a 2D point, will be calculated in 2D.

2. The use of the options of the second group


TEXT option
The TEXT option may be used for codes of type Text, Point, Point related to a Polyline, Polyline or
Rectangle. The TEXT option is required for codes of type Text.
1. %T in the CONTENT attribute of the CDF file
The text parameter will be placed in the drawing if the CONTENT attribute of the code contains the
string %T in its description text. The value %T will be replaced by the text parameter.
Example:
CDF :
TL = POINT(
....
TEXT(
CONTENT("Value = %T")
)
)

If the text parameter after the code is the string "ABC", the text : "Value = ABC" will be placed in the
drawing.
2. %S in the CONTENT attribute of the CDF file
The text parameter will be used as an index in the STRING table. The value %S will be replaced by the
value in the string table.
Example:
CDF file header :
TEST = CDF(LENGTH(2)
STRINGS(T1 = "Text 1"
PB = "This is a text"
)

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 37

)
TL = POINT(
....
TEXT(
CONTENT("Value = %S")
)
)

If the text parameter after the code is the string "PB", the text : "Value = This is a text" will appear,

in the drawing.
The TEXT option may be used for codes of type Text, Point, Point related to a Polyline or Rectangle.
The TEXT option is a must for codes of type Text.

ECCENTRIC option used for single points : code of type POINT


This option can be used to modify the measured coordinates of a point, if the real point of interest is
eccentric to the point which has been measured. Most modern total stations and data collectors have a
function for calculating the coordinates of eccentric measured points. If this is the case, we recommend
that you use this in the field, and thus not to use the ECCENTRIC option of Pythagoras.
Three codes are defined for eccentric measurements:
1. The measured point is in front of the real point : ECCENTRIC (INEXTENSION)
2. The measured point is left of the real point : ECCENTRIC (PERPENDICULAR_LEFT)
3. The measured point is right of the real point : ECCENTRIC (PERPENDICULAR_RIGHT)
The position of the measured point relative to the real point is always as viewed from the station.
Remark 1 : Pythagoras requires the position of the station to calculate the real position. When using this
option you must record every station according the conventions used by Pythagoras.
Remark 2 : The option eccentric has a different meaning when used for points of a polyline. (Discussed
later in this manual).
ECCENTRIC (offset) option used for points of a polyline : code of type POLYLINE
When the eccentric (offset) option is used along with the code of a point of a polyline, this option
indicates that the real point was to the left, to the right or along the extension of the previous line of the
polyline. This is different from the use of the eccentric (offset) option for single points where the position
was to the left, right or along the extension of the line from the total station to the measured point.
This option was previously described in this document under the header Visible and invisible points in a
polyline :
"Visible points are points for which coordinates have been measured. Invisible points are points that have
not been measured using the total station, but that have been measured using, for example, a measuringtape. In order to specify that the point is to the left, to the right or an extension of the previous line of the
polyline, you can make use of the "eccentric" (i.e. offset) option. You simply specify a distance directly
after the code. The invisible points are recorded in the data collector, but Pythagoras will ignore the
coordinates."

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 38

POINTID Option
Only codes of the type Simple Line may receive this option. If the code is followed by a point number, a
line will be created from the current point to the point with the given number.
A dot (.) signifies : connect to the previous point that has the same code
A double dot (..) signifies : connect to the previous point that has the type Simple Line.
WIDTH option
This option is used with rectangles. The parameter specifies the width of the rectangle. The width of a
rectangle can be specified in the CDF file, or it can be added to the code option as a parameter. If neither
option is used, a default of 5 meters will be applied.
PARALLEL LINES option
This option may only be used for points of a polyline. For more information, refer to Automatically
generated parallel polylines, in the description of polylines.
HEIGHT_DIFFERENCE option: for polylines
Pythagoras can create additional polylines that have a specific difference in elevation. The difference in
elevation between the polylines needs to be entered as a specific value (in addition to the distances) for
each polyline (a maximum of six). A positive value means that the additional polyline is higher than the
measured polyline. A negative value means that the additional polyline is lower than the measured
polyline. The parallel lines do not need to retain the same elevation difference along the complete length
of the polyline. The differences in elevations can change along the way. Any time the difference in
elevation changes, all the new elevation differences do need to be entered. As long as no new difference
in elevations are added, the previous elevation differences will be retained.
The units used for differences in height and distances between polylines do need to be the same. This
option HEIGHT_DIFFERENCE can NEVER be used without abbreviation. The CDF file can thus not use
"*" as code for the EXT_GLOBAL_OPTION (HEIGHT_DIFFERENCE). The distances should always be
entered first and then the differences in heights. A distance = 0 is also valid and doesnt need to be keyed
in.
INVISIBLE_POINT option: for polylines
This option can be used in 3 situations. Refer to the drawings in Chapter IV:
1. to create an invisible line in a measured direction and distance
2. to create a perpendicular line with a given length
3. to determine the point of intersection of 2 measured lines. In this situation, a parameter that
determines the distance is not used.
SCALE-option
This extended global option can be used when a symbol or line style needs to be rescaled with a certain
factor. E.g. the symbol tree can vary in size in function of the diameter of the trunk. You can rescale in
X and Y direction and it will be expressed in % of original size.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 39

III. The Code Description File


PURPOSE
The Code Description file (CDF) is a simple text file that defines the codes that can be used while
importing data collector data, assuming "extended code conversion" is enabled within Pythagoras. Each
of the codes in the CDF file can be followed by a detailed description of how the created object e.g. line,
arc, point, text needs to appear in the drawing. While reading this chapter, you may want to make use of
the example CDF file in the Appendix, as an illustration.

STRUCTURE AND SYNTAX OF THE CDF FILE


The Code Description File contains 3 sections :
(1) the file header
(2) the abbreviations for the options
(3) the description of the codes
The header and the abbreviations for the options are not mandatory. Default values will be used if header
and abbreviations are not used.

All sections have the same structure and consist of one or more blocks, and look like :
NAME = KEYWORDS([ATTRIBUTE])

And

ATTRIBUTE = KEYWORDS([ATTRIBUTE])

is a string that contains only alpha numeric characters "a".."z", "A".."Z", "0".."9". It is used to
specify a name, a code or an abbreviation for a option.
The KEYWORDS are used to identify the block. They are written in capital letters throughout this document.
Keywords used within an ATTRIBUTE, overrule the default attributes of the object created by the code.
A block can be spread over several lines in the text file. Empty lines will be ignored. Comments can be
added within a block or between blocks simply by placing a semi colon ";" in front of the comment.
Finish the comment with a carriage return. e.g.
NAME

TR = POINT (
LAYER ("my layer")

; this is comment
; just add some comment

)
; this is also comment line

Warning for MS-Windows users :


If you use special characters in the CDF file for layer names or text strings, (e.g. , , ...), note that
Pythagoras uses the Windows character set. This character set differs from the DOS character set.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 40

HEADER
The keyword for the Header is CDF. The header contains the name of the CDF file.
A CDF file header may contain the following attributes:
- LENGTH
- LENGTH_OPTION
- STRINGS
- LINEMODE
- SIGNCONVENTION
- ATTRIBUTES_OF_FIRST_POINT
- GROUP_TEXT_SYMBOL
- SYMBOLORIENTATION_TO_NEXT_POINT
- UNKNOWN_ELEVATION (-999.9)

Example of a CDF file header:


MYCDF = CDF
(
LENGTH(3)
LENGTH_OPTION(1)
STRINGS(
T1 = "Big tree"
T2 = "Small tree"
)
LINEMODE(START_END)
SIGNCONVENTION(LEFTPOS)
ATTRIBUTES_OF_FIRST_POINT

GROUP_TEXT_SYMBOL
SYMBOLORIENTATION_TO_NEXT_POINT
UNKNOWN_ELEVATION(-999.9)

; Length of code = 3
; Length for global and extended options
; Text for parameter T1
; Text for parameter T2
; Use of START_END convention
; LEFT of polyline is positive
;Attributes of the polyline will
be defined by the attributes of
the code of the first point of
the polyline
;Group symbol and related text
;Rotate symbols along the
direction of the next point
;Ignore the measured elevation
and replace it by 999.9 meters

We recommend that you place LINEMODE(START_END) in the CDF file header.

LENGTH
The codes used in the field can be no longer than the number specified by the attribute LENGTH. If you
define LENGTH(3), this means that the code is limited to a maximum of 3 characters. In addition, all
codes of types Polyline, Rectangle and Points related to a polyline must have this exact length (they
cannot be shorter). Codes for Text, Simple Points and Simple Lines may be shorter. To avoid confusion,
we recommend that you use the exact same length for all codes.
The default length is 2 characters.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 41

LENGTH_OPTION
The number of characters used for options, is specified by the LENGTH_OPTION -attribute. All options
must have the same number of characters. One exception is the code separator : it is ALWAYS only 1
character.
The default length for options is 1 character. The maximum length for options is 2 characters.

STRINGS
STRINGS is followed by up to 100 lines that define the abbreviation for strings. These strings can
contain up to 100 characters. This list of strings, also called the Text Look up Table, is used to convert a
text parameter, entered into the data collector file, into a string. For example, if you need to survey a park,
and the names of all trees are required in the drawing, you could define 1 code for trees (e.g. TR), and
define in STRINGS the list of abbreviations and corresponding names that need to appear in the drawing.
Entering the code "TR T1" into the data collector, would display the name of the tree, e.g. "Quercus
Rubra" into the drawing.
The syntax of STRINGS is
STRINGS(
<Abbreviation> = <Name>
<Abbreviation> = <Name>
....
)

LINEMODE
The attribute linemode must be followed by either LEFT_RIGHT or START_END. This attribute
specifies the convention that is used when measuring polylines.
LINEMODE(START_END)

If you use the START_END convention, the first point of a polyline must have the START option, and
the last point must have the END option. (The START and END options were called LEFT and RIGHT
options in the pre 4.6 releases.) When measuring polylines using the START_END convention, the last
line of the polyline is always the reference line when using the options PERPENDICULAR_LEFT,
PERPENDICULAR_RIGHT, ECCENTRIC(PERPENDICULAR_LEFT) and
ECCENTRIC(PERPENDICULAR_RIGHT).
LINEMODE(LEFT_RIGHT)
If you use the LEFT_RIGHT convention, the first point of a polyline may have the LEFT or the RIGHT option, and the last
point must have the inverse option. (LEFT and RIGHT options are called START and END options since version 4.6.) When
measuring polylines using the LEFT_RIGHT convention, the first line of the polyline is always the reference line when using the
options PERPENDICULAR_LEFT, PERPENDICULAR_RIGHT, ECCENTRIC(PERPENDICULAR_LEFT) and
ECCENTRIC(PERPENDICULAR_RIGHT).

For historical reasons, the default is LINEMODE (LEFT_RIGHT). Pythagoras versions up to 4.5 did not
support this parameter and all importing was done using the LEFT_RIGHT convention. Because the
START_END mode is more intuitive in the field, we recommend that you use LINEMODE
(START_END).

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 42

SIGNCONVENTION
The attribute SIGNCONVENTION must be followed by either LEFTPOS or RIGHTPOS. This attribute
defines :
a) whether a positive distance for parallel lines is either to the left of the polyline or to the right of
the polyline
b) whether a positive width for a rectangle is either to the left or to the right of the measured line of
the rectangle
When the LINEMODE (LEFT_RIGHT) is used, SIGNCONVENTION defines :
a) whether a positive distance for parallel lines is either to the left of the polyline or to the right of the polyline,
b) whether a positive width for a rectangle is either to the left or to the right of the measured line of the rectangle
c) whether a perpendicular line is to the left or to the right of the polyline
d) whether a positive value for an invisible perpendicular line is to the left or to the right of the first line of a polyline

ATTRIBUTES_OF_FIRST_POINT
The attributes of a polyline are defined by the attributes of the code of the first point of the polyline. If
this attribute is not specified, the attributes of the last point will be used.
This attribute is only used if the starting point and the end point of the polyline have different codes (with
different attributes), but belong to the same group.

GROUP_TEXT_SYMBOL
Text that belongs to a specific object, can be linked to this object. Text and symbol will be grouped
together. Thus, when selecting the text, the object will also be selected, and vice versa.
If this attribute is not specified, object and related text will not be grouped together.

SYMBOLORIENTATION_TO_NEXT_POINT
When creating a symbol that represents a point of a polyline, this symbol will, by default, be oriented
(rotated) in the direction of the line to the previous point of the polyline. However, by specifying the
attribute SYMBOLORIENTATION_TO_NEXT_POINT in the header of the CDF file, the symbol will be
oriented towards the next point.

UNKNOWN_ELEVATION
When measuring a point, but the Z-value is not known or is not accurately measured, you can have
Pythagoras ignore the calculated Z-value by adding the attribute 2D_POINT (point_2D) to the point. The
measured elevation of the point will be ignored, and the point will receive an elevation specified by the
attribute UNKNOWN_ELEVATION in the heading of the CDF file. This value is 0 by default.

ABBREVIATIONS FOR OPTIONS


As previously discussed, you may, and in some cases you must, add options after the code to provide
more information about the point that is being measured. There are 2 groups of options. The first group is
used, for example, to indicate that this point is a starting point of a polyline, or that it is the end point of a

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 43

polyline, a point of an arc, ... The second group of options is used, for example, to add text to a point, to
specify the width of a rectangle, the distance of parallel lines, etc.
In the CDF file these 2 groups of options are called : Global options (keyword GLOBAL_OPTION) and
Extended global options (keyword EXT_GLOBAL_OPTION).
In theory, a code may be followed by multiple options of group 2. For example, a rectangle requires that
the option WIDTH be used, but you could also add text that needs to appear in the drawing, along with
the rectangle. If you would like to have 2 options follow a particular code assigned to a point, you will
also need to specify the abbreviation for each of the options, in order to identify each option.
All options have a default abbreviation. But you can overrule these defaults. Within the group of the
global options all abbreviations need to be unique. The same is true for the group extended global
options. Be careful if you don not overrule all default abbreviations. The ones you did not overrule will
still retain their default values, and you want to make sure that the group does not contain duplicate
abbreviations.
Here are the default values :
L = GLOBAL_OPTION(START)
R = GLOBAL_OPTION(END)
A = GLOBAL_OPTION(ARC)
Y = GLOBAL_OPTION(END_OF_ARC)
U = GLOBAL_OPTION(CURVE)
D = GLOBAL_OPTION(PERPENDICULAR_LEFT)
E = GLOBAL_OPTION(PERPENDICULAR_RIGHT)
C = GLOBAL_OPTION (CLOSE))
P = GLOBAL_OPTION(PARALLEL_POLYLINE)
Z = GLOBAL_OPTION(EXTRA_LINE)
/ = GLOBAL_OPTION(CODE_SEPARATOR)
I = GLOBAL_OPTION(INVISIBLE_CORNER)
K = GLOBAL_OPTION(CORNER)
X = GLOBAL_OPTION(SYMBOLORIENTATION)
symbol

;
;
;
;
;
;
;
;
;
;
;
;
;
;

Abbreviation for start of line (left)


Abbreviation for end of line (right)
Abbreviation for point of arc
Abbreviation for end of arc
Abbreviation for point of a curve (spline)
Abbreviation for Perpendicular Line left
Abbreviation for Perpendicular Line right
Abbreviation for Close Polyline
Abbreviation for a complete parallel polyline
Abbreviation for a non-perpendicular line
Code separator to assign multiple codes to 1 point
Abbreviation for an invisible right angle
Abbreviation for an extra right angle
Abbreviation for a point used to orient (rotate) a

D = GLOBAL_OPTION(2D_MEASURING)

;abbreviation for a 2D point

* = EXT_GLOBAL_OPTION(PARALLEL_LINES)
; no Abbreviation for Parallel Lines
T = EXT_GLOBAL_OPTION(TEXT)
; Abbreviation for Text
W = EXT_GLOBAL_OPTION(WIDTH)
; Abbreviation for Width
V = EXT_GLOBAL_OPTION(ECCENTRIC(INEXTENSION)); Abbreviation for In Extension
L = EXT_GLOBAL_OPTION(ECCENTRIC(PERPENDICULAR_LEFT))
; Abbreviation for Perpendicular left
R = EXT_GLOBAL_OPTION(ECCENTRIC(PERPENDICULAR_RIGHT)) ; Abbreviation for Perpendicular right
H = EXT_GLOBAL_OPTION(HEIGHT_DIFFERENCE)
; Abbreviation for a parallel line with a given
elevation differential
I = EXT_GLOBAL_OPTION(INVISIBLE_POINT)
; Abbreviation for an invisible point
S = EXT_GLOBAL_OPTION(SCALE)

;Abbreviation for scale factor

We recommend that you specify all abbreviations, in order to avoid any conflicts with default
abbreviations.
Note :
The character "*" can be used once in the group of the extended global options to indicate that the option
is used without abbreviation. If the first character of the second part of the code does not start with a valid
abbreviation, the content will be considered to be the option that has the abbreviation *.
Note : the character "*" cannot be used for the option EXT_GLOBAL_OPTION(HEIGHT_DIFFERENCE).
If one or more abbreviations are numerical, each option must receive an abbreviation.
The use of "*" and numeric codes is thus not possible.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 44

CODES
All codes that you want to use in the field must be listed in the CDF file. For each code you must, at a
minimum, specify the type of code : a simple point, a simple line, a rectangle, a text object, a polyline or a
point related to a line. For an explanation of these type of codes, please refer to the section "Principles of
Extended Code Conversion". For each type of code, Pythagoras provides default attributes that can be
overruled by specifying the appropriate keywords and value.
The list of keywords for the code types are:
simple point type
simple line type
rectangle type
text type
polyLine type
point related to a line

POINT
LINE
RECTANGLE
TEXT
POLYLINE
POINT_WITHIN_POLYLINE

Thus, the most simple definition of a code will look as follows :


512 = POINT()

When a CDF file with this definition has been loaded into Pythagoras (Defaults - Configure - Load Code
Description), you can import files that contain the code 512. Since no keywords were specified, all codes
will have the default attributes for POINT. These defaults are described further in this manual.
Another simple definition of a code is :
120 = POLYLINE()

This allows you to use the code 120 for polylines. The first point of a polyline will need to contain the
option START, and the last point of the polyline will need to contain the option END. A polyline will
appear in the drawing. It will start at the first point and will connect all intermediate points that have the
code 120 until the end of the polyline has been reached. Since no attributes have been specified in the
CDF file for the code 120, the line will be solid, black and will be placed in the active layer.

Range
Normally, most of the CDF file will be a sequence of single code definitions along with their attributes.
But you can also to define a range of codes. The following example explains what is meant by range:
B1..B4 = POINT(
STYLE(0, 3)
LAYER(Trees)
COLOR(GREEN)
)

This definition specifies that the codes B1, B2, B3 and B4 (the range B1..B4) are valid, and that they have
the same attributes. Any or all of the codes defined in a range may be overruled by a specific definition
further in the CDF file. But the code will inherit all attributes that are not specified in the specific
definition.
So if the code definition:

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 45

B3 = POINT

(
STYLE(0, 2)
)

follows the range definition B1..B4 provided above, a point with the code B3 will still be placed in the
layer "Trees" and will still be green, but the style will be different.
Note : instead of using .., you can also make use of the character # to define a range. Using the same
example as above :
B# = POINT(
STYLE(0, 3)
LAYER(Trees)
COLOR(GREEN)
)

While measuring points in the field, the character # will need to be replaced by a number ranging from
0 to 9. This definition means that the codes B0...B9 (the range B0...B9) are valid and that they have the
same attributes. Any or all of the codes defined in a range may be overruled by a specific definition
further in the CDF file. But the code will inherit all attributes that are not specified in the specific
definition.
If a specific code definition is used, e.g.
B3 = POINT

(
STYLE(0, 2)
)

after a range definition B0...B9, as specified above, a point with the code B3 will still be placed in the
layer "Trees" and will still be green, but the style will be different.
You can use multiple characters # after one another. Each character # will be taken into account for
the length of the code.
B## = POINT(
STYLE(0, 3)
LAYER(Trees)
COLOR(GREEN)
)

While measuring points in the field, each character # will need to be replaced by a number ranging
from 0 to 9. This definition means that the codes B00...B99 (the range B00...B99) are valid and that they
have the same attributes. This option is valid for all code types.
The character # can not only be used for codes, but can also be used for text objects (as content %#)
and group names.
CL# = POLYLINE(
STYLE(1, 5)
LAYER(Centerline)
COLOR(RED)
GROUP(Roads#)
)

The character # allows you to define multiple codes for similar polylines in different groups. These
polylines can thus be open (used) at the same time, and can be measured simultaneously.

Error Code
If a code is used in the data collector file, but it is not defined in the CDF file, Pythagoras will generate a
red symbol and the a text object ERROR directly above the symbol, in the current layer.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 46

You may however define the attributes of these error codes. You can accomplish this by defining the
attributes for the code "*"
Example:
* = POINT

(
STYLE(0, 1)
COLOR(RED)
LAYER("Error Code")
)

Invalid measurements
You can have Pythagoras ignore an invalid measurement by using a specific code for the current
measurement.
You will need to add the following line to your CDF file.
X = INVALID_MEASUREMENT
where "X" is an example. The length of the code can be no more than the maximum specified for the
other codes.

Common Attributes
LAYER
The attribute LAYER specifies the layer in which Pythagoras needs to place the objects that receive this
code. If the layer does not exist in the drawing, Pythagoras will create it.
Add the name of the layer between the parentheses and surround the name by single or double quotes if
you want to use space characters or other special characters. The name must be a valid layer name for
Pythagoras. The length is limited to 12 characters.
The default layer is the layer that is active when importing the data collector file.
The attribute LAYER may be used for all types of codes.
example:
LAYER("my layer")

COLOR
BLACK is the default color for all objects generated by a data collector file import. To use another color,
add the keyword COLOR and specify the color by using one of the following parameters:
BLACK, BLUE, CYAN, RED, YELLOW, GREEN or MAGENTA. You may also use the color number
1 to 255.
examples:
COLOR(RED)
COLOR(135)

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 47

WIDTH
The attribute WIDTH specifies the width of a line in one tenth of a millimeter. This attribute may be used
for codes of the type LINE, RECTANGLE and POLYLINE.
Default : 1. (0.1 mm.)

OPTION
Depending on the type of code that is being used, you may add one ore multiple options simultaneously
after the code. When measuring a rectangle, for example, you may enter the width of the rectangle as an
option. But say that, in addition to the width, you would also like to add a text object to the drawing. If
you would like to be able to enter multiple options after a code, you must use the
EXT_GLOBAL_OPTION abbreviation before each option, so that Pythagoras will know how to interpret
the data.
However, it is much more convenient to design your codes in such a way that only one option is required.
In this case, the abbreviation does not need to be entered, and the program will automatically know how
to interpret the data.
There is one exception : if you use the eccentric (offset) option you will always need to specify the
direction : along the extension of the measured line, perpendicular to the left or perpendicular to the right.
Elevation differences can never be used without abbreviation.
The attribute OPTION specifies the option that is used along with the code. The parameter may have the
values : TEXT, POINTID, ECCENTRIC, WIDTH, PARALLEL_LINES. We recommend that you add
the attribute OPTION to each code (except LINE and TEXT codes) in the CDF file.

POINT
LINE
TEXT
POLYLINE
POINT IN POLYLINE
RECTANGLE

TEXT
X
D
X
X

POINT NUMBER
D
-

ECCENTRIC
X
X
X
X
X

WIDTH
X

PARALLEL
X
-

x : options are allowed


- : options are not allowed
D : default option
Example :
Polylines : eccentric (offset) points and automatically generated parallel polylines are allowed. You can
specify one of these options as the only one you will use for this polyline code by using the keywords
OPTION. This will avoid that you need to type abbreviations into your data collector. To restrict the
options to the automatically generated parallel polylines, add OPTION(PARALLEL_LINES) to your
CDF file, after the code. If you use the option ECCENTRIC you will restrict the options to automatically
treat eccentrically measured points. But you will still need to add an abbreviation in the data collector file
to specify whether the point is along the extension of the last line of the polyline or whether it is
perpendicular to the last line of the polyline.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 48

STYLE
The attribute STYLE specifies:
a) the point style, if the code is of the type POINT or POINT_WITHIN_POLYLINE
b) the line style if the code is of the type LINE, POLYLINE or RECTANGLE
c) the style of the text if the code is of the type TEXT
When used to define point style or line style, the keyword STYLE has 2 parameters separated by a
comma. The first parameter specifies the group of the symbol or line style. The second parameter is the
symbol name within the group. If you would like a standard point or line style used, group = 0 and name
is the sequence number of the style as it appears in the menu.
Standard point styles : STYLE (x, y)
x, y
0, 0
0, 1
0, 2
0, 3
0, 4
0, 5
0, 6
0, 7
0, 8

Style
Hidden (Invisible)
Cross (+)
Default
x Cross (x)
Slash (/)
Round dot ()
Round dot hollow (o)
Rectangle dot
Rectangle dot hollow
Triangle (-)

Standard line styles : STYLE (x, y)


x, y
Style
0, 0
Solid
0, 1
Dash
0, 2
Dot
0, 3
Dash Dot
0, 4
Dash Dot Dot

Default

When not using a default style, the symbol or line style must be in the Pythagoras Library. If it is not,
loading the CDF file will result in an error.
Example:
STYLE("Trees", "Oak")

Warning : When changing names or removing items in the symbol library, be careful not to
change items used by the active CDF file.
When leaving Pythagoras, the program stores the name of the active CDF file in a file called
PYTHAGOR.DEF (On the Macintosh, the name is stored in a resource of Pythagoras). When
starting Pythagoras, the active CDF file will be loaded. When symbols or line styles are not
found in the library, an error message will result and the CDF file will not be loaded.
POINT
For clarity, the keyword POINT can be used in 2 instances. Either to specify the type of code, as
previously described, or as an attribute of codes that are of the type POLYLINE.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 49

When used as an attribute, it specifies the point attributes for the points of a POLYLINE. The POINT
attribute may be followed by one or more attributes : STYLE, LAYER, COLOR. This means that points
of a polyline may have a different color and layer than the lines of the polyline.
If the STYLE refers to a rotatable symbol, this symbol will be rotated in the drawing, and will have the
direction of the line preceding the point, except if the header of the CDF file defines the attribute
SYMBOLORIENTATION_TO_NEXT_POINT (the symbol will be rotated along a direction specified by
the next point). The first point of the polyline will have the direction of the first line.
TEXT
For clarity, the keyword TEXT can be used in 2 instances. Either to specify the type of code, as
previously described, or as an attribute of codes that are of the types POINT,
POINT_WITHIN_POLYLINE, POLYLINE and RECTANGLE.
When used as an attribute, it specifies the text and the attributes to be used in combination with the above
mentioned types.

DISPLAY LEVEL
With this attribute you can set the level in which objects need to be displayed. The default level is 0.
Syntax :

DISPLAY_LEVEL(x) (where x = the number of the desired level)

Attributes for Text (TEXT)


Below is a list of attributes used for codes of the type TEXT, or for other codes which may contain text.
LAYER
Refer to Common Attributes.
Note : if the LAYER attribute is not specified for text related to points, polylines, rectangles and points
within a polyline, the text will be placed in the same layer as the main object. (The rectangle or the point).
COLOR
Refer to Common Attributes.
Note : if the COLOR attribute is not specified for TEXT attributes of codes which may have text, the text
will be placed in the same color as the main object. (The rectangle or the point).
WEIGHT
The attribute WEIGHT specifies the weight of text. The value for this parameter may be : LIGHT,
MEDIUM, BOLD or EXTRA_BOLD. The default weight is medium.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 50

STYLE
The parameter may be either ITALIC or NORMAL. These parameters correspond with the style used for
text in a Pythagoras drawing.
When STYLE is omitted, the default is NORMAL.
SIZE
The attribute SIZE specifies the point size of text. The value for this parameter is numeric and may
contain the values 4 to 1000. The default point size is 10.
HORIZONTAL ALIGNMENT
The attribute ALIGNMENT specifies the horizontal alignment of text. The value for this parameter may
be : LEFT, RIGHT or CENTERED. The default alignment is CENTERED.
VERTICAL ALIGNMENT
The attribute VALIGNMENT specifies the vertical alignment of text. The value for this parameter may
be : TOP, BOTTOM or CENTERED. The default alignment is BOTTOM.
BORDER
The attribute BORDER specifies the type of border. The value for this parameter may be : SINGLE,
DOUBLE or CIRCLE. If this parameter is omitted, the text object will have no border.
Circle border : when using a circle border, a circle will always be a separate object from the text object
(this is not the case for single or double (rectangular) borders).
However, when specifying the attribute GROUP_TEXT_SYMBOL in the header of the CDF file the text
object and the circle border will be grouped together. The circle will be created using the same layer, the
same color and the same display level as the text object.
UNDERLINE
The attribute UNDERLINE specifies the type of underlining. The value for this parameter may be :
SINGLE, DOUBLE or DASHED. If this parameter is omitted, the text will not be underlined.
POSITION
The attribute POSITION specifies the position of text relative to the measured point. This attribute may
not be used for codes of the type TEXT. It is only allowed with codes of the type POINT,
POINT_WITHIN_POLYLINE, and RECTANGLE and in combination with the attribute TEXT.
POSITION is followed by 2 values: x and y. Both values are expressed in millimeters and specify the
position of the text relative to the point. During the import, Pythagoras needs to convert the millimeters to
meters. (Pythagoras stores all coordinates of a document internally in meters). This means that the actual
scale of the drawing will be used to do the conversion. For this reason, it can be important that you select
the final scale of the drawing before importing data. In practice you could do the import, determine what
the scale of the final drawing will be, undo the import, modify the scale to the wanted final scale and
restart the import.
The added text can, of course, be moved after it has been placed in the drawing.
The default is: POSITION(0, 0).

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 51

If the attribute POSITION is used for codes of type RECTANGLE, the position will be calculated
relative to the middle of the back side of the rectangle. The default orientation of text with a rectangle is
OBLIQUE, i.e. at an angle (discussed further in this manual).
If the attribute POSITION is used for codes of type POINT_WITHIN_POLYLINE for a POINT of a
polyline, the position will be calculated in a coordinate system that has as origin the coordinates of the
point, and as orientation the direction of the polyline at the measured position.
If the attribute POSITION is used for a code of the type SIMPLE POINT, the position will be calculated
relative to the measured point.
If the attribute POSITION is used for a line/arc/curve of a polyline, the position will be calculated relative
to the middle of the line/arc/curve.
OBLIQUE /HORIZONTAL
The keywords OBLIQUE and HORIZONTAL may be used with the attribute TEXT for codes of the type
RECTANGLE, POINT, POLYLINE and POINT_WITHIN_POLYLINE.
HORIZONTAL
The text will be placed horizontally in the drawing. Even when the drawing is rotated at a later time, the
text will remain horizontal.
OBLIQUE (i.e. slanted)
a) For rectangles : the text will be placed parallel to the measured line of the rectangle.
b) For polylines : the text shall either be placed parallel to the polyline and will be placed in
reference to the center of the segment of the polyline previously measured, or the text shall be
placed in reference to the point of the polyline that was measured last. The text will receive the
same orientation (rotation) of the point symbol to which it belongs.
Oblique (slanted) text has 2 special cases :
1. ABSOLUTE_TEXTANGLE and its counterpart ALWAYS_READABLE. This specifies
whether or not the orientation of the text will change in order to remain readable.
2. ANGLE (EXTRATEXTANGLE) : the angle needs to be entered in decimal degrees and
will be applied counter clockwise. Even when the drawing is rotated at a later time, the
text will retain the orientation. E.g. an angle of 90 will result in a text object that is
perpendicular to the line to which it belongs, if this text was defined parallel to the line
by default.

FONT
This defines the font of text objects. The Font attribute needs to be followed by the name of the desired
font and the proper code page (= WINDOWS only). Most European countries use the Western code
page. Other code pages that are supported include : Arabic, Cyrillic, Thai, Greek, Eastern European,
Baltic, Turkish, Hebrew, Johab and Vietnamese.
Syntax e.g.: FONT(Arial, Western)

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 52

If this attribute does not appear in the CDF file, the Pythagoras Vector Font will be used as default font.
OPAQUE
This attribute determines whether the text needs to be opaque or not. It is typically used when text
appears in patterns (hatchings).
Transparent is the default setting.
Syntax :

OPAQUE

CONTENT
The attribute CONTENT specifies the text that will appear in the drawing. The attribute CONTENT
contains 1 parameter. It is a string of up to 15 characters. Place quotes around the text string if you would
like to use special characters such as tabs or spaces.
Example :
BT = POINT(
TEXT(
CONTENT("Big Tree")
)
)

A point with the code BT, will appear in the drawing as a small cross, and the text "Big Tree" (centered,
point size 10) will be placed exactly above the point.
Using a % sign in the CONTENT part of the CDF file has a special meaning. The following combinations
are valid:
-

%T
%S
%I
%H
%X
%Y
%#

Using %T
The value %T will be replaced by the string entered into the data collector. (Refer to the description of the
TEXT option in the data collector file, earlier in this manual).

Example:
TL = POINT(
TEXT(
CONTENT("Value = %T")
)
)

If the text parameter after the code is the string "ABC", then the text : "Value = ABC" will appear in the
drawing.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 53

Using %S
The text parameter in de data collector file will be used as an index in the STRING table. The value %S
will be replaced by the value in the string table.
Example:
TEST = CDF(LENGTH(2)
STRINGS(T1 = "Text 1"
PB = "This is a text"
)

)
TL = POINT(
TEXT(
CONTENT("Value = %S")
)
)

Using %H, %X or %Y : for simple points, points in a polyline, rectangles and points of a polyline.

The value %H, %X, %Y in the string will be replaced by the elevation of the point, the X-coordinate or Y
coordinate. The elevation will always be relative to the local coordinate system, even if the data are
imported relative to a user coordinate system with a different elevation.
Example:
Z = POINT(
TEXT(
CONTENT("z=(%H)")
)
)

Using a code of the type Z will place a point in the drawing, and directly above this point, the text
"z=(5.66)" if the elevation of the point in the local coordinate system is 5.66.
Note : the elevation will appear in the units specified by "Preferences" in Pythagoras.

Using %I
The value %I in the string will be replaced by the point number.
Using %#
The value of %# in the text object, will be replaced by the range-number of the coded object. Refer to the
section "Range" for more information.

The default content is :


a) with code of type text : "%T"
a) with the text attribute: "no text"

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 54

Attributes for simple point codes (POINT)


LAYER
Refer to Common Attributes.
Default : the active layer.
COLOR
Refer to Common Attributes.
Default : black.
STYLE
Refer to Common Attributes.
Default : (0, 1) : Cross.
OPTION
Refer to Common Attributes.
May be : TEXT or ECCENTRIC.
ORIENTATION
A point symbol can be placed in the drawing with a certain orientation (rotation). The symbol will be
oriented (rotated) by the point (measured next) to which this option has been given. The orientation point
needs to receive the same code as the symbol that needs to be oriented, but e.g. the global option X needs
to be added.
X=GLOBAL_OPTION(SYMBOL_ORIENTATION)
A new point will not be created at this location.
This attribute is not valid for points in a polyline. Points of a polyline receive, by default, the orientation
of the polyline (in reference to the previous or the next point of the polyline - refer to the previous section
in this manual).
UNKNOWN_ELEVATION
When measuring a point, but the Z-value is not known or is not accurately measured, you can have
Pythagoras ignore the calculated Z-value by adding the attribute 2D_POINT (point_2D) to the point. The
measured elevation of the point will be ignored, and the point will receive an elevation specified by the
attribute UNKNOWN_ELEVATION in the heading of the CDF file.
The standard setting is 3D. If you only want 2D for a particular object, simply assign the attribute
2D_POINT.
SCALE
The keyword SCALE (xxx), with xxx = scale factor in % will change the scale of a pointsymbol from the
library. The effective horizontal and vertical scale will be equal to xxx. The attribute will only be
effective when the specific pointsymbol exists in the library and is set to scale dependent during its

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 55

creation.
SCALE_X
Refer to SCALE. This scalefactor will only be applied to the horizontal direction of the pointsymbol.
SCALE_Y
Refer to SCALE. This scalefactor will only be applied to the vertical direction of the pointsymbol.
TEXT
Refer to Common Attributes.
Up to three text objects may be added to a point.
The defaults for text objects are :
- HORIZONTAL
- CONTENT("No text")
- LAYER : the same layer as the point symbol.
- all other attributes will receive the standard defaults for text. (black, point size 10, normal, Pythagoras
vector font, medium, centered).
NETWORKPOINT
This attribute indicates that the measured point can be adjusted. An additional parameter will specify
whether the point is a simple traverse point or whether it is a fixed traverse point (point with known
coordinates). For example:
; Simple points
; Traverse Point
TP = POINT
(
LAYER("Traverse")
STYLE(0, 1)
COLOR(0)
NETWORKPOINT(TP)
)

; regular traverse point

; Fixed point
FP = POINT
(
LAYER("Traverse)
STYLE(0, 1)
COLOR(0)
NETWORKPOINT(FP)

; traverse point with known coordinates

Attributes for simple line codes (LINE)


LAYER
Refer to Common Attributes.
Default : the active layer.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 56

COLOR
Refer to Common Attributes.
Default : BLACK.
STYLE
Refer to Common Attributes.
Default : solid line.
SCALE
The keyword SCALE (xxx), with xxx = scale factor in % will change the scale of a linestyle from the
library. The attribute will only be effective when the specific linestyle exists in the library and is set to
scale dependent during its creation.
WIDTH
Refer to Common Attributes.
Default : 1 (0.1 mm.)
Example :
RL = LINE(
LAYER("Border")
COLOR(RED)
STYLE("Road", "Border")
WIDTH(2)
)

;
;
;
;

layer "Border"
red line
Name of the line style in library.
0.2 mm thickness

Only one option can be used when creating a simple line, i.e. you can only specify the point identifier of
the point that you would like to connect to the current point. Using a dot (.) or double dot (..) specifies
that you would like to connect the point to the previous point that has the same code or the previous point
of the type LINE.

Attributes for Rectangles (RECTANGLE)


LAYER
Refer to Common Attributes.
Default : active layer.
COLOR
Refer to Common Attributes.
Default : BLACK.
STYLE
Refer to Common Attributes.
Default : solid line.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 57

TYPE
The attribute TYPE defines the number of diagonal lines in the rectangle :
a) R0 : no diagonals
b) R1 : 1 diagonal line
c) R2 : 2 diagonal lines
Default : R0
OPTION
Refer to Common Attributes.
May be : TEXT, WIDTH or ECCENTRIC.
Normally rectangles will always have the attribute OPTION(WIDTH). When using a code of the type
rectangle, the WIDTH must be specified.
LENGTH
The attribute LENGTH specifies the length of the side of the rectangle that has not been measured. The
default length is 5 meters. You can modify this length by adding the LENGTH option along with a
parameter that specifies the length (in meters).

SCALE
The keyword SCALE (xxx), with xxx = scale factor in % will change the scale of a linestyle from the
library. The attribute will only be effective when the specific linestyle exists in the library and is set to
scale dependent during its creation.
WIDTH
Refer to Common Attributes.
Default : 1 (0.1 mm.)
TEXT
Refer to Common Attributes & Attributes of type Text.
Up to three text objects may be added to a rectangle.
Defaults for the text :
- OBLIQUE
- CONTENT("No text")
- LAYER : same layer as point symbol.
- all other attributes have the standard defaults for text. (black, point size 10, normal, Pythagoras vector
font, medium, centered).
The orientation of the text is parallel to the length of the rectangle (the length of the rectangle is formed
by the line between the 2 measured points found in the data collector file). The middle of the opposite
side of the rectangle is the default position.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 58

Attributes for Polylines (POLYLINE)


LAYER
Refer to Common Attributes.
Default : active layer.
COLOR
Refer to Common Attributes.
Default : BLACK.
STYLE
Refer to Common Attributes.
Default : solid line.
OPTION
Refer to Common Attributes.
May be : PARALLEL_LINES or ECCENTRIC.
When measuring existing roads, parallel lines are often also needed. If you have codes which require
parallel lines it is best to use the attribute OPTION( PARALLEL_LINES).

SCALE
The keyword SCALE (xxx), with xxx = scale factor in % will change the scale of a linestyle from the
library. The attribute will only be effective when the specific linestyle exists in the library and is set to
scale dependent during its creation.
WIDTH
Refer to Common Attributes.
Default : 1 (0.1 mm.)
LENGTH
The attribute LENGTH specifies the length of the automatically added perpendicular line of fixed length.
The default length of this line is 5 meters. You can modify this line length by adding the LENGTH option
with a parameter that specifies the required length in meters.
CURVATURE
This factor determines the curvature of the curve. It can be a value between 0 and 10. The default value is
5.
GROUP
The attribute GROUP defines the group to which the polyline belongs. When measuring Polylines of the
same group, Pythagoras will connect the points even if the codes are different. While in the field you may

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 59

measure points of different lines simultaneously, as long as the codes for these lines belong to different
groups. When the attribute GROUP is not provided, the Polyline will belong to a default group that has
no name. Otherwise the group will be determined by a specific name e.g. "Utility".
OPEN_PARALLELS
If you draw a polyline with automatically generated parallel polylines, Pythagoras will connect the
measured point with the points of the parallel lines at each end of the polyline.
To disable that Pythagoras makes these connections, you can add the attribute OPEN_PARALLELS.
POINT
Refer to the section simple points (above) for a description of the attributes.
TEXT
For general text attributes, refer to the section above.
A text object can be parallel to the polyline and placed in the center of the previously measured line
segment. You will need to place the key word TEXT below the keyword POLYLINE.
BD = POLYLINE
(
LAYER("Buildings")
; Layer
TEXT (
LAYER("texts")
STYLE(NORMAL)
WEIGHT(MEDIUM)
SIZE(6)
ALIGNMENT(CENTERED)
COLOR( BLACK)
OBLIQUE
CONTENT(%H)
POSITION(0 , 5)
)
)

; Layer
; Style
; Weight
; Point size
; Horizontal Alignment
; Color
; Oblique text
; Content = height
; DELTA X, DELTA Y in mm (page units)

The text object can also be placed in reference to the point of the polyline that was measured last. The text
will receive the same orientation as the point symbol to which it belongs. You will need to place the
keyword TEXT below the keyword POINT of the POLYLINE attributes.
e.g. BD = POLYLINE
(
LAYER("Buildings")
; Layer
POINT(
TEXT (
LAYER("texts")
STYLE(NORMAL)
WEIGHT(MEDIUM)
SIZE(6)
ALIGNMENT(CENTERED)
COLOR( BLACK)
OBLIQUE
CONTENT(%H)
POSITION(0 , 5)
)
)
)

; Layer
; Style
; Weight
; Point size
; Horizontal Alignment
; Color
; Oblique text
; Content = height
; DELTA X, DELTA Y in mm (page units)

The content of the text may be : fixed text, %T, %S, %X, %Y, %H, %I or %#.(Cfr. suppra Text Attributes)

CONSTRUCTION
The attribute construction can be used to define more parallel or perpendicular lines with their own attributes. A
parallel line normally has the same attributes as the measured polyline which it belongs to, the same for created
perpendicular lines. It is possible though to define more abbreviations for parallel lines, extra lines or perpendicular
lines in the header of the CDF. Using the construction attribute, different attributes for parallel or perpendicular
lines can be defined for each different parallel or perpendicular line. See example on p 28-29.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 60

Attributes for POINT_WITHIN_POLYLINE


LAYER
Refer to Common Attributes.
Default : active layer.
COLOR
Refer to Common Attributes.
Default : BLACK.
STYLE
Refer to Common Attributes.
Default : (0, 1) : Cross.
GROUP
The attribute GROUP defines the group to which the point belongs. When different lines are open
simultaneously, and a code of type POINT_WITHIN_POLYLINE has been measured, it will be handled
relative to the open line of the same group.
When the attribute GROUP is not provided, the Polyline will belong to a default group that has no name.
Otherwise, the group will be determined by a specific name, e.g. "Utility"
NO_PROJECTION - PROJECTION
When the attribute PROJECTION is provided, the measured point will be projected on the polyline to
which the point belongs. NO_PROJECTION is the default.
Warning : using the attribute PROJECTION will change the coordinates of the point.
OPTION
Refer to Common Attributes.
May be : TEXT or ECCENTRIC.
SCALE
The keyword SCALE (xxx), with xxx = scale factor in % will change the scale of a pointsymbol from the
library. The effective horizontal and vertical scale will be equal to xxx. The attribute will only be
effective when the specific pointsymbol exists in the library and is set to scale dependent during its
creation.
SCALE_X
Refer to SCALE. This scalefactor will only be applied to the horizontal direction of the pointsymbol.
SCALE_Y
Refer to SCALE. This scalefactor will only be applied to the vertical direction of the pointsymbol.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 61

TEXT
Refer to Common Attributes.
Up to three text objects may be added to a point.
The defaults for the text objects are :
- OBLIQUE
- CONTENT("No text")
- LAYER : the same layer as the point symbol
- all other attributes have the standard defaults for text (black, point size 10, normal, Pythagoras vector
font, medium, centered).
By default, text objects will be placed at an angle and will be oriented parallel to the polyline. If you
overrule the default position of the text, an offset in the x direction means that you want to move the text
parallel with the polyline (Positive offset has the direction of the line). An offset in the y direction means
that you want to move the text in the perpendicular direction.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 62

Examples of CDF file entries


Example 1
PP = POINT(
LAYER("Utilities")
; --> layer "Utilities"
OPTION(ECCENTRIC)
; ECCENTRIC is the only option
STYLE("Utilities", "Power Pole") ; (library group, name)
COLOR(BLUE)
;
TEXT(
LAYER("Texts")
; --> layer "Texts"
STYLE(NORMAL)
; Style
WEIGHT(MEDIUM)
; Weight
SIZE(6)
; point size
ALIGNMENT(CENTERED)
; Alignment
COLOR(BLACK)
; Color
CONTENT("PP")
POSITION(0, 2)
; DELTA X = 0 mm, DELTA Y = 2 mm.
)
)

Using the code PP will place the symbol with the name "Utilities", "Power Pole" in the drawing. This
symbol must be a library symbol. If no symbol with this name is in the library, loading the CDF file will
result in an error.
The symbol will be blue and it will be placed in the layer "Utilities". If the layer does not yet exist in the
drawing, the layer will be generated. Along with the symbol, a text object "PP" will be generated, 2
millimeters above the hotspot of the symbol. The text size will be a point size 6, black and be placed in
the layer "Texts". If the attribute LAYER was not specified, the text would also be placed in the layer
"Utilities".
Example 2
DH = POINT_WITHIN_POLYLINE(
LAYER("Buildings")
; --> Layer "Buildings"
OPTION(TEXT)
; valid option = text only
STYLE ("Buildings","Door House"); Name of the symbol
PROJECTION
; Project point on polyline
GROUP("Buildings")
; Same group as code BD.
TEXT(
CONTENT("%T")
; Content : %T replaced
; by text in record
HORIZONTAL
; OBLIQUE /HORIZONTAL
POSITION(0,6)
; DELTA X = 0 mm DELTA Y = 6 mm
)
TEXT(
STYLE(ITALIC)
; Style
WEIGHT(LIGHT)
; Weight
SIZE (6)
; point size
CONTENT("(%H)")
; Content : %H replaced by
; elevation of point
POSITION (0, 2.4)
)
)

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 63

Since the code DH is of type POINT_WITHIN_POLYLINE, the point needs to be measured while a
polyline of the group "Buildings" is open.
Using the code DH will place a symbol with the name "Buildings", "Door House" in the drawing, parallel
to the polyline. The coordinates of the point will have been recalculated so that the hotspot lies directly on
the polyline. This symbol must be a library symbol. If no symbol with this name is in the library, loading
the CDF file will result in an error message.
The symbol and both text objects will be drawn in black and will be placed in the layer "Buildings". If the
layer does not exist in the drawing, the layer will be created. Along with the symbol, 2 text objects will be
created. The first text is horizontal, and the content is retrieved from the parameter following the code
DH. The text attributes are default (centered, normal, point size 10, black). The position of the text (at the
moment of import) will be 6 mm above the polyline.
The second text will be parallel to the polyline and be 2.4 mm above the hotspot of the symbol. The text
point size will be 6, black, light and italic. The content of the text will be the elevation of the point in the
drawing (relative to the LOCAL coordinate system). This elevation will be place in between parentheses.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 64

IV. Examples : Using Codes and Options


Note : in the examples below, the code CB is used for Curb of the road, BD for Building

EXAMPLES - USING CODES AND OPTIONS FOR POLYLINES


1. S = GLOBAL_OPTION(START)
abbreviation for the start of a line

2. E = GLOBAL_OPTION(END)
abbreviation for the end of a line
CBE

CBS
1 -26.46
2 10.04

43.34
52.46

0. 00
0. 00

CBS
CBE

3. A = GLOBAL_OPTION(ARC)
abbreviation for a point of an arc

A minimum of 3 points need to be measured in order to create an arc (circular curve).


CBA

3
4
5

- 26. 46
-7. 75
14. 60

21 .9 0
32 .8 4
24 .6 3

0. 00
0. 00
0. 00

CB AS
CB A
CB AE

CBAE

CB AS

4. U = GLOBAL_OPTION(CURVE)
abbreviation for point of a curve.

Instead of connecting points with an arc (circular curve), you can also connect points with a curve
(spline).
All points that get the code for curve, will become a part of a flowing curve (spline). The curve will be
tangent to existing lines and/or arcs, if they are present in the same polyline. Point symbols in a polyline
will also be aligned (rotated) in the direction of the curve. A curve will be created if 2 or more sequential
points have the curve code in a polyline. If the complete polyline only consists of 2 points that have the
curve code (and no other points), these points will be connected by a straight line.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 65

The curvature of the curve depends on the attribute "curvature" for the first point of the curve.
CB = POLYLINE (
LAYER("roads")
CURVATURE(5)
)

; layer
; curvature of the curve needs to be between 0 and 10

The CURVE option can be used in combination with parallel lines. Text objects can also be added. The
CURVE option cannot be used in combination with arcs or invisible points/angles.

C BU

CBU

C BU
C BU S
35
36
37
38
39

C BU E
-43.81
-25.67
-0.22
17.04
28.10

-12.61
-3.98
-9.29
-3.76
-12.17

0.00
0.00
0.00
0.00
0.00

CBUS
CBU
CBU
CBU
CBUE

A curve can be closed by using the "single close option C. It can also be closed tangentially by using
the "double close" option "CC".
CBU

CBU
CBU

CBUS
35
36
37
38
39

CBUC
-43.81
-25.67
-0.22
17.04
28.10

ADW Software

-12.61
-3.98
-9.29
-3.76
-12.17

0.00
0.00
0.00
0.00
0.00

CBUS
CBU
CBU
CBU
CBUC

Pythagoras - Importing and Exporting Data Collector files

Page 66

CBU

CBU
CB U

C B UC C

C B US

35
36
37
38
39

- 43.81
- 25.67
-0.22
17.04
28.10

-12 .61
-3 .98
-9 .29
-3 .76
-12 .17

0. 00
0. 00
0. 00
0. 00
0. 00

CBUS
CBU
CBU
CBU
CBUC C

5. Z = GLOBAL_OPTION(END_OF_ARC)
abbreviation for end of arc

This option can be used to add a straight line in-between 2 arcs or curves, without being required to
measure an additional point. This option is only valid if a minimum of 2 points with the code "curve"
precede this point.
310
311
312
313
314
315

1814.410
1815.010
1815.010
1815.010
1815.800
1816.800

797.360
800.420
800.420
800.420
804.550
806.550

2.930
2.910
2.910
2.910
2.910
2.910

CBSA
CBA
CBZ
CBA
CBA
CBAE

CB Z

CB A
C BA

C BA E

CB S A

The end of an arc/curve combined with the beginning of a new arc/curve.


When the radius or the direction of an arc or curve changes, non-tangential arcs/curves can still be
connected. The last point of the first arc/curve will become the first point of the second arc/curve.
310
311
312
313
314

1814.410
1815.010
1815.010
1815.010
1816.800

ADW Software

797.360
800.420
800.420
800.420
806.550

2.930
2.910
2.910
2.910
2.910

CBSA
CBA
CBAZ
CBA
CBAE

Pythagoras - Importing and Exporting Data Collector files

Page 67

CB A Z
CB A

CB A E

CB A

CB S A

6. L = GLOBAL_OPTION(PERPENDICULAR_LEFT)
abbreviation for perpendicular line left

The perpendicular line has a default length specified in the CDF file.

40 BDSL
41 BDLE
40

41

7. R = GLOBAL_OPTION(PERPENDICULAR_RIGHT)
abbreviation for perpendicular line right

Special case for perpendicular lines : perpendicular line left/right with a measured line length.
When using the option INVISIBLE_POINT (see further) the default length for perpendicular lines will be
over-ruled by the value that was entered previously.

0-5.

CB

797.360
800.420
800.420
800.420
804.550

C BL
CB LS

2.930
2.910
2.910
2.910
2.910

CBLS
CB
CBL I300
CBR I250
CBE

C BR
- 2 .5-

1814.410
1815.010
1815.010
1820.010
1815.800

-3 . 0 -

310
311
312
313
314

CB E

8. R = EXT_GLOBAL_OPTION(ECCENTRIC(PERPENDICULAR_RIGHT))
abbreviation for perpendicular line to the right

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 68

-2,90-

-5.70-

45

47

-2.75-

-3.10-

45 BDSL
46 BD
47 BD L290
48 BD R570
49 BD L275
50 BDEL R310

49

50

48

46

9. C = GLOBAL_OPTION(CLOSE)
abbreviation for closing a polyline.

By default a straight line will connect the last point of the polyline to the first point of the polyline.
2 exceptional cases :
1) measuring a circle :
A polyline code can be used to measure a circle. You need to measure exactly 3 points of the circle, and
these 3 points need to receive the global option "arc". In addition, you need to explicitly open the polyline
at the first point, and you need to use the "double close" option for the last point.

C BA

CB A C C

CB S A

1 -32.30 57.75
2 -21.68 76.55
3
0.00 70.14

0.00
0.00
0.00

CBSA
CBA
CBA CC

2) measuring a quadrangle (parallelogram, diamond) using only 3 polyline points :


You only need to measure 3 corner points of the quadrangle using a polyline code and use the double
close option for the third point. Neither of these points may have the code for an arc/curve.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 69

CB

CB S

4 -48.01 21.46
5 -18.81 21.46
6 -15.05 15.05

0.00
0.00
0.00

CB CC

CB S
CB
CBCC

10. P = GLOBAL_OPTION(PARALLEL_POLYLINE)
abbreviation for a parallel polyline

A parallel polyline will be drawn parallel to the complete polyline (along its complete length), using an
extra measured point. The attributes of the code of this point will determine the line style of the parallel
line. The elevation difference between the original polyline and the parallel polyline will be determined
by the difference between the elevation of the projection of the extra point on the original polyline, and
the elevation of the extra point itself. For example, if the extra point is 10 centimeters higher than its
projection on the original polyline, the parallel line will also be 10 centimeters higher than the original
polyline.
This option cannot be combined with the option to create parallel polylines based on a measured distance,
or with other options for polylines.
310
311
312
313

1814.410
1815.010
1815.010
1817.010

797.360
800.420
800.420
800.420

2.930
2.910
2.910
2.910

CBS
CB
WWP (WW is Walkway)
CBE

WWP
CB
CB S

CB E

11. H = EXT_GLOBAL_OPTION(HEIGHT_DIFFERENCE)
abbreviation for a parallel polyline with a given elevation difference

A maximum of 6 extra polylines can be automatically created in addition to a measured polyline. These
parallel polylines will be created based on the distance from the measured polyline, entered in the data
collector. The elevation difference between the measured polyline and the parallel polyline can also be
specified by making use of the option HEIGHT_DIFFERENCE. These elevation differences can vary
along the polyline. A value entered in the data collector will remain valid until a new value has been
entered. If the elevation difference does not change, it does not need to be re-specified when the distance
between the parallel polylines changes.
Elevation differences and horizontal distances between polylines need to be entered using the same units
of measure.
The HEIGHT_DIFFERENCE option can NEVER be used without abbreviation. A CDF file can thus not
use "*" as the code for EXT_GLOBAL_OPTION(HEIGHT_DIFFERENCE). The distances should
always be entered first and then the differences in heights. A distance = 0 is also valid and doesnt need to
be keyed in.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 70

310
311
312
313
314
315

1814.410
1815.010
1815.010
1815.010
1815.800
1816.800

797.360
800.420
800.420
800.420
804.550
806.550

2.930
2.910
2.910
2.910
2.910
2.910

CBS
CB
CB
CB
CB
CBE

+50H10
H15
+15

H : 10
H : +1 5

H : + 15

H : +15

CB
H : + 10

C BE

CB
CB

CB
H : +1 5

C BS

Note for Leica users : you will need to use multiple code lines in order to be able to enter all these
options.

12. * = EXT_GLOBAL_OPTION(PARALLEL_LINE)
no abbreviation for parallel lines
54

53

53 CBS 25+60-125
54 CBE
67
66
65

64

64
65
66
67

CBS 25+65-125
CB
CB 25+65-200
CBE

13. D = GLOBAL_OPTION(EXTRA_LINE)

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 71

abbreviation for a non-perpendicular line

An extra line, not perpendicular to the previous segment of the polyline, can be created by measuring a
polyline point at the opposite side of the polyline.
This option cannot be used for the first point of a polyline or used in combination with the option for a
perpendicular line to the left/right.
The length of the extra line can be specified using the option INVISIBLE_POINT (See further). When
this option is not used, the default length (specified in the CDF file) will be used. If no default length has
been specified in the CDF file, a default length of 5 meters will be used.
The attributes of this extra line will be determined by the code used for the point which received the
option EXTRA_LINE.
The extra line does not become a part of the polyline.
310
311
312
313
314
315

t a

1814.410
1815.010
1815.010
1815.010
1815.800
1816.800

797.360
800.420
800.420
800.420
804.550
806.550

2.930
2.910
2.910
2.910
2.910
2.910

CBS
CB
CBD
CB
CBD I150
CBE

de au t e gt
Ex tra line with give n le ngth
CB
CB

CB S

CB E
CB D

C BD I150

14. / = GLOBAL_OPTION(CODE_SEPARATOR)
code separator that enables multiple codes to be assigned to a point

If no extended options are used, a measured point can be used for multiple (an unlimited number)
polylines simultaneously. To do this, you need to assign multiple codes to this point, and each code needs
to be separated by the code separator. The code separator is ALWAYS only 1 character.
310
1814.410
311
1815.010
312
...
325
...
.......

797.360
800.420

2.930
2.910

CBS
CB/FES
CB
FE

FE

CB /FE S

CB S

CB

Note for Leica users : use multiple lines of code

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 72

15. X = GLOBAL_OPTION(INVISIBLE_CORNER)
abbreviation for an invisible right angle

This option is used to connect points using a right (90 degree) angle. This option can only be used after a
straight line in a polyline. It cannot be used after an arc/curve.
When this option is added to a point of a polyline, it will not be connected to the previous point using a
straight line. Instead, it will be connected to the previous point using a right angle. This right angle is
created as follows. A line is drawn perpendicular to the last measured line segment, and the line starts at
the ending point of this line segment. Another line is drawn parallel to the last measured line segment, but
this line starts at the measured point.
Multiple invisible angles can follow one right after the other.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 73

16. Y = GLOBAL_OPTION(CORNER)
abbreviation for an extra right angle

This option is used to connect points using an alternate right angle This option can only be used after a
straight line in a polyline. It cannot be used after an arc/curve.
When this option is added to a point of a polyline, it will not be connected to the previous point using a
straight line. Instead, it will be connected to the previous point using a right angle. This right angle is
created as follows. A line is drawn parallel to the last measured line segment, and the line starts at the
ending point of this line segment. Another line is drawn perpendicular to the last measured line segment,
but this line starts at the measured point.
Multiple invisible angles can follow one right after the other.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 74

17. T = EXT_GLOBAL_OPTION(TEXT)
abbreviation for text

Refer to the section above, for general text attributes.


Extra :
For polylines, text can also be placed beside the polyline, and centered in the middle of a line segment.
10
11
12
13
14

1814.410
1815.010
1815.010
1820.010
1815.800

797.360
800.420
800.420
800.420
804.550

CBS
CB
CB TSAND
CB TDRIVEWAY
CBE

DR IV EW A Y

CB

2.930
2.910
2.910
2.910
2.910

CBE

CB

CB S

Text objects can also be placed near a point that is part of the polyline. They can even be rotated along a
specific angle, in reference to the polyline, or in reference to the point to which they belong.
10
11
12
13
14

1814.410
1815.010
1815.010
1820.010
1815.800

ADW Software

797.360
800.420
800.420
800.420
804.550

2.930
2.910
2.910
2.910
2.910

CBS
CB
CB
CB TMain Entrance
CBE

Pythagoras - Importing and Exporting Data Collector files

Page 75

CB
CB
M ain E n tra n ce

CB E

CB

CB S

18. I = EXT_GLOBAL_OPTION(INVISIBLE_POINT)
abbreviation for invisible point

1) General :
An invisible point will be created in a measured direction and at a distance entered in the data collector.
This option can only be used with polylines. It cannot be used for the first point of a polyline. It can be
used after an arc/curve.
Adding this option to a point of a polyline, will identify this point as the one to be used to determine the
direction of the invisible point. The point itself will, however, not become a part of the polyline. The
direction of the point is used to construct the invisible point at a specific distance.
Sign convention :
A negative distance means that the invisible point will be created on a line between the last point of the
polyline and the point for which the option was used (in the direction of this last point).
A positive distance means that the invisible point will be created along the extension of this line (starting
from the last point of the polyline and further away from the point for which the option was used).
The position of the occupation point of the instrument thus no longer determines the direction of the
created line.
This option may be combined with the end of a polyline and the text option.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 76

2) Exceptional situation :
The INVISIBLE_POINT option can also be used without entering a distance.
In this situation, Pythagoras will calculate the point of intersection between the last line segment and the
next line segment of the polyline. This option cannot be used for the option arc/curve.
310
311
312
313
314

1814.410
1815.010
1815.010
1818.010
1815.800

ADW Software

797.360
800.420
800.420
800.420
804.550

2.930
2.910
2.910
2.910
2.910

CBS
CB
CB I
CB
CBE

Pythagoras - Importing and Exporting Data Collector files

Page 77

co ns truc ted p oint


CB

C BE
CB I
C BS

CB

EXAMPLES - USING CODES AND OPTIONS FOR A RECTANGLE


W = EXT_GLOBAL_OPTION(WIDTH)
abbreviation for width

52 B MS W 5 0
53 B ME

EXAMPLES - USING CODES AND OPTIONS FOR A POINT


1. V = EXT_GLOBAL_OPTION(ECCENTRIC(IN_EXTENSION))
abbreviation for "in the extension", or "along the extension"

2. L = EXT_GLOBAL_OPTION(ECCENTRIC(PERPENDICULAR_LEFT))
abbreviation for perpendicular line to the left

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 78

TR L45

3. 0 = GLOBAL_OPTION(SYMBOL_ORIENTATION)
abbreviation for a point that is used to orient (rotate) a symbol

A point symbol can be placed in the drawing, rotated in a specific direction. The symbol will be rotated
towards the point that is measured next. The orientation point needs to be measured using the same code
as the symbol that needs to be rotated, and it also needs to receive the option X. A new point will,
however, not be created at this point.
This attribute is not valid for points in a polyline. Those points will receive, by default, the orientation of
the polyline.
310
311
312

1814.410
1815.010
1816.010

797.360
800.420
820.420

2.930
2.910
2.910

CI
CI
CIO

CI

CIO
CI

EXAMPLES - USING CODES AND OPTIONS FOR A POINT IN A POLYLINE

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 79

46
45

ADW Software

-2.90 -

45 BDSL
46 DH
47 BD L290

47

Pythagoras - Importing and Exporting Data Collector files

Page 80

V. Creating valid data collector files for use with


Pythagoras
TOPCON
Introduction
The following Topcon formats are supported by Pythagoras :
- FCTE-1 format . (refer to FCTE-1 data structure)
Other Topcon formats can be converted by a program (1) to the FCTE-1 format
(GTS-6, FC-5 en FC-2)
- GTS-6 format
- FC-5 format
- FC-2 format

FCTE-1
General principles
This format does not contain any information about the unit of measure (meters, feet, ...) of the data, or
whether the data contain coordinates, angles, ....
For this reason, before importing, Pythagoras needs to be configured so that the data can be converted
correctly :
a) Length units, angle units and the direction of the horizontal angle (clockwise or counter clockwise)
must match the preferences selected in Pythagoras. Whether Pythagoras is configured for NE or XY does
not matter, since the sequence of coordinates in an FCTE-1 file is always NE.
b) Use the "Measurement Mode" button in the "Defaults - Configure - Data collector" Dialog box to
configure Pythagoras to match the data in the FCTE-1 file. (Refer to page 2 and 3 of this manual)
To create a valid file, the file needs to start with a header record, followed by a Station Record. The
identifier of this first station can be omitted. The record is only used to get the height of the instrument, so
that the elevation can be corrected with the difference between instrument and reflector. Even if no
correction is necessary (for the GTS6 e.g.) the file will not be considered valid without an initial station
point (2) . After the station record, detail point (side shot) records and other station records may follow.
The conventions NEZ, HDZ, HVS and HVD are supported, but all measurements in a data collector file
must use the same convention. (The FCTE-1 data format does not specify the type of data!). The XYZ
convention is not supported by Topcon total stations, but after importing the field data, the XYZ
convention maybe selected in the preference dialog.
The coordinate conversion of the "Defaults - Configure - Data collector" menu needs to match the
coordinate convention of the data collector.
Multiple stations may be used in the same data collector file. Measurements are either absolute (all
coordinates are provided relative to the same coordinate system), or relative to each station.
For more information on restrictions for station-points and back sight refer to "Station records" below.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 81

(1)TOPCON has a PC program, named TOPCOMM that allows you to read data from all Topcon
instruments and converts this data to the FCTE-1 data format.
(2) If no initial Station record is provided, a warning will result, but the program will read the data, and
no height corrections will be done.

Station records
1. Absolute measurement.
When the measurement is absolute, all coordinates in the file are relative to an arbitrary predefined
coordinate system. The first station-point does not necessarily have coordinates 0,0,0.
When starting import, Pythagoras will request the coordinates of the first station.
The station records in the file are only used for:
- obtaining the instrument height, in order to adjust the measured elevation for the difference between the
instrument height and the prism height.
- calculating the coordinates of eccentric (offset) points.

2. Relative measurement.
When measuring relative values, all coordinates will be relative to the previously recorded station record
in the file. The first station will have the coordinates 0, 0, 0, but the final coordinates in the drawing will
depend on the coordinate system used to import the data.
The codes in the station record are as follows:
1) StatPt : point number of the station. The same point number must have appeared previously in the same
file in a Detail (side shot) record.
2) Code : indicates the backsight point . This is the point relative to the station with Horizontal angle =
0.0. The back sight point is either:
a) the first station: the code field must be empty.
(The first station is not recorded and has no point number).
b) any other point: the code contains the point number.
When using rectangular coordinates, the line StatPt - Code will be used as the new N-axis. When using
polar coordinates, the line StatPt - Code will have an angle of 0 degrees.
Warning : Verify the direction of the angles! Clockwise - counter clockwise!

3. Calculation of the elevation of a point.


For the calculation of the elevation a point, please refer to the section "General Principles" in this manual.
When measuring in rectangular coordinates (NEZ) with the Topcon GTS-6, Zd will already have been
adjusted. In this case, the difference between Instrument height and prism height will be ignored.

Detail point (side shot) records


1. FCTE-1 format

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 82

The FCTE-1 detail record contains:


a) Point number allocated during measurement. The point number is alphanumeric and is used as the
point number for point created by Pythagoras
b) Code 1 : a code of 9 AN (alpha numeric) characters
c) Code 2 : a code of 9 AN characters (Not used on the GTS 6)
d) Prism height.
The FCTE-1 detail record has the following format:
1
2
3
4
5
6
12345678901234567890123456789012345678901234567890123456789012345678
D PPPPPPPP 111111111 222222222 RRRRRR xxxxxxxxx yyyyyyyyy zzzzzzzzz
Point number
Code 1
Code 2
Refl. Height
X or H
Y or V
Z or S or D

:
:
:
:
:
:
:

3
12
22
32
39
49
59

10
20
30
37
47
57
67

Warning : Since this file format does not contain information on the method used to record data in the
field, care must be taken to use the same import convention as the one used while in the field. Pay special
attention to the difference between HVS (slope distance) and HVD (horizontal distance).
Code1 needs to contain the actual code, followed by zero or more options of the first group (START,
END, ...). Code2 is used for the other options. When using the option CODE-SEPARATOR, the different
codes 1 (along with their global options) will be written in block 12-20, separated by the character used as
CODE_SEPARATOR. The extended options will be written in block 22 to 30, also separated by a
character that is used as the CODE_SEPARATOR.
2. GTS-6 format
You can convert a GTS-6 file to the FCTE-1 format, using TOPCONs communications program
TOPCOMM.
Once converted, the GTS-6 detail point record will contain the same items as the FCTE-1 format. There
is one difference : only one code field is provided. In this code field, the code is followed by zero or
multiple options of the first group (START, END, ...). If you want to add options of the second group,
separate them from the actual code using a space.
3. FC-2 format
You can convert an FC-2 file to the FCTE-1 format, using TOPCONs communications program
TOPCOMM.
Once converted, the FC-2 detail point record will contain the same items as the FCTE-1 format.
There is one difference : only one code field is provided. In this code field, the code is followed by zero
or multiple options of the first group (START, END, ...). If you want to add options of the second group,
separate them from the actual code using a number sign (#) character.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 83

Warning : if you enter a space on the FC-2, all data entered after the space will not be stored in the FC-2
memory. For this reason Pythagoras accepts the # character as a valid separator between Code1 and
Code2.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 84

GTS-6
General principles
The GTS-6 has his own format, recognized by Pythagoras. The GTS-6 format has several modes. The
following modes are supported by Pythagoras :
- SD mode
- HD mode
- NEZ mode
- Coordinates
Units :
The measurement units (meters, feet) and the angle units (degrees, grad, mil) are saved in the field
memory file.
Restrictions :
- the units and the accuracy of the data must remain the same throughout the whole data collector file.

Which files can be imported into Pythagoras?


1. Files transmitted by a plain modem program
The file is divided into lines of 128 characters, followed by a block check sum (BCC) of 4 digits and a
carriage return. The data of a measurement can begin on every position in the line. Pythagoras can read
these kind of files. First, a new file is made without check characters and it is split up so that every line
contains 1 station or detail point.
2. File transmitted by TOPCOMM
The TOPCOMM program can be used to send the file to your computer. If you dont convert to the
FCTE-1 format, you will get a file in which the measurement data are not split up into lines. The first
thing Pythagoras will do, is generate a new file in which the measurement data are split up into lines that
contain a detail or a station point.
3. Divided file
In this file every detail or station point starts at a new line. Pythagoras automatically generates this file
when an original GTS-6 file is imported. The format of the measurement data is the GTS-6 format.
All the check sums are deleted from the file. We recommend that you make corrections to this new file, if
necessary.

Station records
Format :
_Station1_(IDnumber_)1.234
Abbreviations for the different fields :
_ = Station point number (max. 8 characters in Pythagoras)
_( = point number of the opening point (max. 8 characters in Pythagoras)
_) = Instrument height (in the example 1.234)

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 85

All point numbers in a station record must refer to points which are previously known in the file. This
does not apply to the first station point. When measuring your previous station as a backsight point,
Pythagoras will take into account the measured horizontal angle. It is not obligatory to re-measure this
previous station.
If all the detail points are coordinates, the file does not need to contain station records.

Detail (side shot) records


Four different modes are possible, but the detail points in one file must all use the same mode.
This means that you may only use one mode (or format) in a file.
Detail record in SD-mode :
_+point number_ ?+00000150m0429315+260447g+00000090t**+00+**104_*code_,2.345
|
|
|
|
|
|
|
|
|
SD
m/f V
H d/g/m HD t/* P
BCC

Contains the following information :


_+
= Point number (max. 8 characters)
_?
= Start of the survey data in HVS
SD : slope distance
m/f : length unit : meters / feet
V : vertical angle
H : horizontal angle
d/g/m : angle unit : DEG / GRAD / MIL
HD : horizontal distance (is not used)
t/* : (correction, is not used),
P : atmospheric correction (is not used)
BCC : block check characters (arent used)
_*
= code
_,
= reflector height (in the example 2.345)
Example of a file in SD mode :
_!12345678901_"12345678901_#1234567890_$JUN-05-95_%12.3_&12345
_'1234567890_(12345678_)1.234
_+1_ ?+00011270m0967509+0625086g+00001270t**+00+**097_*PP_,3.210
_+2_
_+3_
_+4_
_+5_

?+00031300m0867509+3625000g+00005270t**+00+**097_*MH_,4.210
?+00151320m0927509+0525076g+00002070t**+00+**097_*PP_,5.210
?+00001330m0961209+1625086g+00001200t**+00+**097_*PP_,6.210
?+00101400m1067509+6640086g+00001420t**+00+**097_*MH_,7.210

Detail record in HD-mode :


_+point number_ R+00000090m0429257+2604482g+00000120t**+00+**012_*code_,2.345
|
|
|
|
|
|
|
|
|
HD m/f V
H d/g/m
VD t/* P
BCC

Contains the following information :


_+
= Point number (max. 8 characters)
_R
= Start of the survey data in HVD

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 86

_*
_,

HD : horizontal distance
m/f : length unit : meters / feet
V : vertical angle
H : horizontal angle
d/g/m : angle unit : DEG / GRAD / MIL
(the rest is not used, refer to SD-mode)
= code field
= reflector height (in the example 2.345)

Example of a file in HD-mode :


_!12345678901_"12345678901_#1234567890_$JUN-05-95_%12.3_&12345
_'1234567890_(12345678_)1.234
_+1_ R+00011270m0967509+0625086g+00001270t**+00+**097_*PP_,3.210
_+2_ R+00031300m0867509+3625000g+00005270t**+00+**097_*MH_,4.210
_+3_ R+00151320m0927509+0525076g+00002070t**+00+**097_*PP_,5.210
_+4_ R+00001330m0961209+1625086g+00001200t**+00+**097_*PP_,6.210
_+5_ R+00101400m1067509+6640086g+00001420t**+00+**097_*MH_,7.210

Detail record in NEZ-mode :


_+point number_ U-00000050+00099920-00000990m+2604481g108_*code_,2.345
|
|
|
|
|
| |
N
E
Z
m/f H d/g/m BCC

Contains the following information :


_+
= Point number (max. 8 characters)
_U
= Start of the survey data in NEZ
N : N (x) coordinate
E : E (y) coordinate
Z : Z coordinate
(H and BCC are not used, for the remainder refer to SD-mode)
_*
= code
_,
= reflector height (in the example 2.345)

Example of a file in NEZ-mode :


_!12345678901_"12345678_#1234567890_$JUN-05-95_%12.3_&12345
_'1234567890_(12345678_)1.234
_+1_ U+00001700+00001050+00004910m+0525088g099_*PP_,3.210
_+2_ U+00004600+00003050+00002910m+0625088g099_*PP_,4.210
_+3_ U+00005800+00004050+00001010m+1425088g099_*MH_,5.210

File in coordinates :
This file contains only measured points and no header data or station points. A measured point consists of
a point number and the x, y, z coordinates, without code.
Example of a coordinate file :

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 87

_+1_
_+2_
_+3_
_+4_

ADW Software

x+001010876_
x+001001826_
x+000995361_
x+001000000_

y+001001139_
y+001002809_
y+001005126_
y+001010000_

z+000100349
z+000099683
z+00010028
z+000100000

Pythagoras - Importing and Exporting Data Collector files

Page 88

FC-5 & FC-2


The FC-5 and FC-2 have several formats which are similar to the GTS-6 format. The FC-5 and FC-2 files
can be either modem files, (when received using a communications program), or files in which the data
are already divided in lines. Modem files are treated the same way as the GTS-6 modem files. This means
that they are converted into a divided file. (refer to GTS-6)
Below, a list of the different modes supported by Pythagoras.
1. SD-mode
Refer to GTS-6.
2. HVD-mode
Refer to GTS-6.
3.The NEZ-coordinate format of the GTS-6
Refer to GTS-6.
4. HVS-mode
FC2:
_+100_ a+0130235d_ b0901825d_ c+00063640m_*NS_,1.5
|
|
|
|
|
|
H d/g/m V
d/g/m
S
m/f

Contains the following information :


_+
= Point number (max. 8 characters)
_a
= followed by the horizontal angle (H)
d/g/m = angle unit : DEG / GRAD / MIL
_b
= followed by the vertical angle (V)
d/g/m = angle unit : DEG / GRAD / MIL
_c
= followed by the slope distance (SD)
m/f
= length unit : meters / feet
_*
= code
_,
= reflector height (in the example 1.5)

Example :
_!Vb_abc_"Name_#1_$JAN-1-97_%26_&750
_'9000_(Stat1_)1.7
_+100_ a+0130235d_ b0901825d_ c+00063640m_*NS_,1.5
_+101_ a+0130235d_ b0901825d_ c+00063640m_*NS_,1.5
_+102_ a+0412840d_ b0970210d_ c+00012010m_*NS_,1.5
FC5:

_'2_(BKL_)1.375

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 89

_+1_ ?+00058362m0875630+2753000d+00058324t60+00+00097_*PKT_,1.450
_+3_ ?+00029703m0900000+1840350d+00029703t60+00+00109_*PPB_,1.370
_+100_ ?+00006796m0890955+1810200d+00006795t60+00+00110_*1JLN_,1.450
_'3_(2_)1.700
_+2_ ?+00029704m0895905+0040350d+00029704t60+00+00101_*BKL_,1.450

5. Coordinates
_f +/- N m/f _g +/- E m/f _h +/- Z m/f
These files do not have header data and station records.
_+1_ f+001010876m_ g+001001139m_ h+000100349m_*Code1
|
|
|
|
|
|
N
m/f
E
m/f
Z
m/f

Example :
_+1_
_+2_
_+3_
_+4_

ADW Software

f+001010876m_
f+001001826m_
f+000995361m_
f+001000000m_

g+001001139m_
g+001002809m_
g+001005126m_
g+001010000m_

h+000100349m_*Code1
h+000099683m_*Code2
h+000010028m_*Code3
h+000100000m_*Code4

Pythagoras - Importing and Exporting Data Collector files

Page 90

FC-6/GTS-700
Raw data :
1. Header
The syntax of the header in the FC-6 format is as follows :
GTS-700 v2.0
JOB C:\xxxx
NAME DIRK
UNITS M,G
SCALE 1.000000,1.000000,0.000000
DATE 18/03/98,08:41:17
Only UNITS is used. These can be METER or FEET and DEGREES or GON (M/F, D/G). Since the file does not
specify whether the instrument is set in zenith or in level position, you will need to specify this setting in the
Pythagoras before importing.

2. Station points
format :

STN
XYZ
BKB
XYZ

stnpt,instht,stnid
X,Y,Z
ptno, backsight bearing, backsight angle
X,Y,Z
where :
stnpt : point number of the station
instht : instrument height
stnid : is not used by Pythagoras
XYZ : used only for polar measurements
The first XYZ is used for the first StatPnt as the OrgPnt to create a CS.
The second is used as the BacksightPnt for the CS. The points will be
imported in this CS, taking the backsight angle into account.
ptno : point number of backsight point
backsight bearing : is not used by Pythagoras
backsight angle : angle to the backsight point

Only the STN record is important for the first station point. But from the second station point on, you are required
to let the BKB record follow the STN record (an XYZ record in between them will do no harm). The next station
points do not need XYZ records, because they are calculated from the measurement.

3. Detail (side shot) points


A detail point consists of two lines: a line starting with SS or FS, followed by a line starting with SD.
Format :

SS
SD

ptno,target height,pt code,line


HA,VA,SD
Or:

FS
SD

ADW Software

ptno,target height,pt code,line


HA,VA,SD

Pythagoras - Importing and Exporting Data Collector files

Page 91

where :
ptno : point number
target height : target height
pt code : code
line : second code field
HA : horizontal angle
VA : vertical angle
SD : slope distance
HV and HD records are not supported. If they are used, Pythagoras will provide a warning. If other records are
skipped, Pythagoras will notify you with a message that they will be ignored.

4. Example of a raw data format


GTS-700
JOB
NAME
INST
UNITS
SCALE
DATE
STN
XYZ
BKB
XYZ
SS
SD
SS
SD
SS
SD
SS
SD
STN
XYZ
BKB
SS
SD
SS
SD
SS
SD
SS
SD
STN
XYZ
BKB
SS
SD
SS
SD
SS
SD
SS
SD
SS
SD

v2.0
D:\DIRK,A
A
A
M,G
1.000000,1.000000,0.000000
29/04/98,15:28:02
A,1.600,
10.000,10.000,10.000
Z,250.0000,0.0918
0.000,0.000,0.000
1,1.450,CBS#20
193.79920,97.37760,4.9900
2,1.450,CB,20
218.20420,98.58840,8.2020
3,1.450,CBE,20
257.48120,100.56400,12.9630
B,1.450,Z
388.41480,100.64600,8.1480
B,1.500,A
5.386,3.285,10.067
A,38.3230,0.0000
A,1.450,Z
399.99940,100.96340,8.1180
10,1.450,HES
50.49640,100.86580,17.7670
11,1.450,HEE
87.48680,101.41060,10.7820
C,1.450,Z
61.10920,101.27400,10.6470
C,1.550,B
16.031,3.380,9.904
B,299.4322,89.3542
B,1.450,Z
89.35360,100.01920,10.6410
200,1.450,BDS
171.84000,100.27520,10.5930
201,1.450,DH#,12
183.16000,101.03100,10.3650
202,1.450,BD
196.83320,100.43660,10.5640
203,1.450,BDE
249.47760,100.66680,8.5890

Pythagoras will create a CS (coordinate system) between point 10.000,10.000,10.000 (first XYZ record) and point
0.000,0.000,0.000 (second XYZ record). The base of the CS (X axis) will be calculated from the horizontal angle 0.0918 (angle from the BKB record). Once the coordinate system has been created, the points will be imported.
As you can see in the example, you can enter the code in different ways. You can use the code field only, to enter
only codes, or the code field and the line field. If you use the code field only, you will need to separate de code and
the code options using a #. Pythagoras will replace this # by a space.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 92

Example:
SS
SS
SS

1,1.450,CBS#20
1,1.450,CBS#,20
1,1.450,CBS,20

will have the same result

If you would like to transfer the Topcon GTS-700 data into the GTS-6 or the FC-5 format, you can only use the
code field. This is because the instrument will omit the line field while transferring from/to these formats.
Polar data produced by a FOIF or SOUTH instrument can be imported in the same way since the file format is
identical to the Topcon GTS700/FC6 format.
Coordinates :
Since these data collector files do not contain a header, you will need to set the preferences in Pythagoras for the
appropriate distance units. The sequence of the coordinates will always be XYZ when transferring them from the
instrument into Pythagoras, even if you select the NEZ format in the instrument.
format : (Refer to Nikon 700)
Example of a coordinate file:
1,100.0000,10.0000,0.0000,RB
2,11.8125,10.0000,-0.0202,RB
3,52.0418,7.0281,-0.0758,RB
4,111.9341,9.3891,-0.0531,RB
5,100.5128,8.1494,-0.0737,RB
6,88.8716,7.1338,-0.0637,RB
7,80.3611,6.6195,-0.0709,RB
8,72.8962,6.2407,-0.1757,RB
9,68.3825,6.0572,-0.1732,RB
10,55.7820,5.7697,-0.0711,RB
11,43.1221,5.8255,-0.0670,RB
12,30.7316,6.2490,-0.1028,RB
13,17.6403,7.0387,-0.0859,RB
14,4.3853,8.1885,-0.1312,RB
15,-10.7667,9.8747,-0.2051,RB

Note:
The instrument sorts the points when transmitting them to the computer. This can cause problems when using the
extended code conversion.
Coordinates produced by a FOIF or SOUTH instrument can be imported in the same way since the file format is
identical to the Topcon GTS700/FC6 format.
Stake out list
Is similar to the coordinate format and also in XYZ.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 93

NIKON
The following Nikon models are supported by Pythagoras :
- Nikon 800 series
- Nikon 700 series
- Nikon 300
- Nikon 400
Note for the Nikon 300/400 series : due to the limited code field in these instruments, the use of coding
options is limited. Using multiple codes for a point is not possible.

Nikon 700 series/AP800


The Nikon 700/AP800 has several data formats : the Raw data format and the coordinate format.

Raw data format


1. Header
The file must begin with header data. The header data contain a series of lines that all start with CO,.
These lines reflect the configuration of the instrument. If there are no header data, the file will be treated
as a coordinate list. The following lines must be present in the header data :
a)

b)

c)
d)
e)
f)

CO,Dist Units: Meters or Feet INTL or USFeet


If the value of Dist Units is not one of these three, you will get an error message. The file will then be imported using the
length unit meters.
CO,Angle Units: Degrees, DMS (DDDMMSS) or Gons
Any other value than those above will result in an error message, and the angle unit used, will be degrees. An invalid value
can be "Quadrants.
CO,Zero azimuth: North
In the instrument South can also be selected, but Pythagoras only accepts North.
CO,Zero VA: Zenith OR Horizon
If any other value has been selected, an error massage will pop up, and Pythagoras will use "Zenith" as the vertical angle.
CO,Coord Order: ENZ OR NEZ
If any other value has been selected, an error message will pop up, and Pythagoras will use "ENZ" as the coordinate format.
CO,HA Raw data: HA Raw data
In the instrument Azimuth can also be selected, but Pythagoras will only accept "HA Raw data".

All other lines in the header data will be treated as comment and will have no effect on importing the file.

2. Station points
Format 700
Format AP800

:
:

ST,stnpt,stnid,bspt,bsid,hi,bsazim
ST,stnpt,stnid,bspt,bsid,hi,bsazim,bsho

station point number


not used by Pythagoras
point number of the opening (backsight) point
not used by Pythagoras
instrument height
Applies only if 2 coordinates precede the first station point:
stnpt
stnid
bspt
bsid
hi

ADW Software

:
:
:
:
:

Pythagoras - Importing and Exporting Data Collector files

Page 94

bsazim
bsho

: Backsight azimuth
: Backsight horizontal observation

For the first station point.


If no coordinates are found, the data will be imported into the active coordinate system (CS). If
coordinates are found, a CS will be created and the data will be imported relative to that new CS.
Station points must refer to points, which are predefined in the file. So, two detail points (a UC, UP, MC,
MP, CC or RE record) must precede the first station point. These detail points must have the same point
number as bspt and stnpt.
If you let your instrument process the eccentrically (offset) measured points or if you do not make use of
extended coding, the station point must be known but the coordinates will have no meaning.
You can always manually import this point later, if needed.
The orientation point (bspt) to which the first station is oriented, is not used.

3. Detail (side shot) points


Coordinate records that start with UC, UP, MC, MP, CC or RE, are not used by Pythagoras. They will be
skipped and a warning will result for each of these records.
Only the detail points (side shots), that appear before the first station point and have the same point
numbers as the station point, will be used. Records that start with CP or SO will be skipped just like the
coordinate records. F2 records will be imported, but will not be taken into account in the calculation.
Only records which start with SS or F1 will be considered valid points. SS records with an (*) will be
skipped.
SS record format :

SS,pt,hr,sd,ha,va,time,code
pt
hr
sd
ha
va
time
code

:
:
:
:
:
:
:

point number
reflector height
slope distance
horizontal angle
vertical angle
not used by Pythagoras
code

4. An example of a raw data collector file :


CO,B:\ADW
CO,Description: TEST
CO,Client:
CO,Comments: PARKING
CO,Downloaded 22-Aug-96 11:30:01
CO,Software: AP700 version: 1.31
CO,Instrument: Nikon DTM730
CO,Dist Units: Meters
CO,Angle Units: Degrees
CO,Zero azimuth: North
CO,Zero VA: Zenith
CO,Coord Order: ENZ
CO,HA Raw data: HA zero to BS
CO,Tilt Correction: VA:OFF HA:OFF
CO, ADW <JOB> Created 1-JAN-97 10:15:16
CO,Prism constant: 0

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 95

MP,500,,0.0000,50.0000,0.0000,
CO,Temperature: 20 Centigrade Pressure: 760 mmHg
ST,500,,200,,1.5000,0.0000
F1,200,,0.0000,92.3805,10:22:08
SS,501,1.8000,4.0960,358.3620,100.4650,10:26:20,RLS
SS,502,1.8000,5.1284,8.3046,98.3256,10:27:54,RLE
SS,503,0.1500,10.4686,22.4351,98.3759,10:35:18,CBS
SS,504,0.1500,3.7872,349.5752,112.5249,10:38:00,CB
SS,505,0.1500,2.5428,49.3643,122.1618,10:40:38,CB
SS,506,0.1500,4.1202,67.2753,108.3113,10:42:12,CBE
SS,507,0.1500,5.2800,120.2038,104.1147,10:43:20,CBS
SS,508,0.1500,3.1556,173.2636,114.1109,10:44:48,CBE
SS,509,0.1500,2.9632,175.5028,108.3917,10:47:56,RWSA +15
SS,510,0.1500,5.6304,190.5011,99.3509,10:49:50,RWA
SS,511,0.1500,5.9736,215.3034,99.0633,10:50:38,RWA
SS,512,0.1500,6.1304,238.2522,98.4746,10:51:46,RWE
SS,513,0.6500,6.2694,238.1001,98.3448,10:53:24,CBS
SS,514,0.1500,8.8402,246.5322,99.3931,10:55:08,CB
SS,515,0.1500,12.6060,239.0827,96.5142,10:56:50,CB
SS,516,0.1500,13.3818,248.2221,96.2646,10:58:12,CBE
SS,517,0.1500,8.1050,242.3606,95.4311,10:59:30,PP
SS,518,0.1500,3.7532,116.2522,99.2630,11:00:18,PP
SS,519,0.1500,3.3068,80.1749,100.4048,11:01:08,PP
SS,520,0.1500,6.2422,264.0354,103.5356,11:06:48,MH
CO,Temperature: 20 Centigrade Pressure: 760 mmHg
ST,520,,,,1.6000,0.0000
F1,500,6.2104,0.0000,102.5709,11:22:58
CP,500,,0.1500,6.2104,0.0000,102.5709,11:22:58,
SS,521,0.1500,12.7228,340.3924,95.5448,11:25:32,B

If you were to import this data collector file example, you would get error messages for certain lines
where data will not be used. This would be for all lines that start with CP.

Files with coordinates


Since these files do not have header data, the Pythagoras Preference settings will be used for length units
and for the coordinate order (NEZ/XYZ).
format : pt,coord1,coord2,Z,code
pt
:
coord1,coord2,Z :
code
:

point number
XYZ or NEZ
code

example :
1,0.0000,0.0000,0.0000,V
2,-0.0979,4.0225,-1.0661,RLS
3,0.7507,5.0155,-1.0624,RLE
4,3.9993,9.5461,-0.2214,CBS
5,-0.6080,3.4358,-0.1225,CB
6,1.6376,1.3931,-0.0077,CB
7,3.6085,1.4973,0.0413,CBE
8,4.4175,-2.5859,0.0551,CBS

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 96

9,0.3287,-2.8598,0.0572,CBE

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 97

Nikon 800 series


Refer to the Nikon 700 format

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 98

Nikon 300
1. General
The Nikon 300 format is very simple. It contains no header data.
The coordinate order (NEZ/XYZ) is not specified in the file. You need to make sure that you specify the
coordinate order in the Pythagoras Preference setting to match that used while surveying.
The Nikon 300 file format does not record station points. So, a survey in polar coordinates will need to be
split up into several files, one for each station point. Then, for each station point, you can activate the
appropriate coordinate system in the Pythagoras drawing and import the files one by one relative to their
respective coordinate systems.

2. Detail (side shot) points


The Nikon 300 has two formats :
- Measurement with angles and distances
Format :

s,datatype,lh,ptnr,sa,vh,hh,rh
s
: not used by Pythagoras
datatype = 0 : HVS data
lh
: units
first byte
: length unit : M(eters), F(US feet), N(Intern.
second byte : angle unit : D(DMS),G(Gon),M(Mil)
ptnr : point number
sa
: slope distance
vh
: vertical angle
hh
: horizontal angle
rh
: reflector height

feet)

- Coordinates :
Format :

s,datatype,lh,ptnr,coord1,coord2,Z
s
: not used by Pythagoras
datatype = 1,2,3 : coordinates
lh
: units
first byte
: length unit : M(eters), F(US feet), N(Intern.
second byte : angle unit :D(DMS),G(Gon),M(Mil)
ptnr : point number
coord1,coord2,Z : NEZ or XYZ coordinates

feet)

3. Coding
There is no code field, but the point number field is 12 characters long.
Pythagoras will use this field for the point number and for the code. Since the point number field is
numeric and spaces and other characters can not be imported, you can only use numeric coding.
Normally with extended coding you can specify options after the code, but since in this case options can
not be separated by a space, the following options cannot be used with the Nikon 300 :
- Eccentrically (offset) measured points

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 99

- Points of a polyline which are along the extension of/or are perpendicular to the previous line
- Polylines with parallel lines : the distance of the parallel line can not be specified
- Rectangles : the width can not be specified
- Simple lines : the point number of the point which must be joined can not be specified
- Text options : variable text can not be used, but fixed text can be used

If you want to use coding, the point number field must first contain the code and then the point number.
The code and point number are separated by a minus sign. This way you can still have your instrument
automatically increase the point number. The maximum length of the code is 8 characters.

4. Examples
- In angles and distances
1 , 0 , FM , 2001-1 , 3.207 , 38.4285 , 103.3915 , 1.500
1 , 0 , FM , 200-2 , 3.208 , 38.4285 , 92.9490 , 1.500
1 , 0 , FM , 2009-388 , 3.21 , 38.4285 , 100.4045 , 1.500

- In Coordinates
1
1
1
1

,
,
,
,

1
1
1
2

,
,
,
,

MG
MG
MG
MG

,
,
,
,

300-1 , 112.638 , 101.819 , 49.889


2001-2 , 110.638 , 101.819 , 50.321
200-3 , 120.640 , 101.820 , 50.040
2009-4 , 200.000 , 205.000 , 50.890

5. Export format
The Nikon instrument gives you the choice to either set it in the Mathematical Coordinate System or not.
If you measure with rectangular coordinates and your instrument is set in the Mathematical Coordinate
System, you will need to set the Pythagoras Preference for coordinate systems to North-East. If you do
not work with this system, the Pythagoras Preference for coordinate systems will need to be set to X-Y.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 100

Nikon 400
1. General
A Nikon 400 file always starts with a header. Pythagoras does not use this header information. The unit of
measure used during field data collection is stored in the file and is used by Pythagoras during the import
process. The order of the coordinates (N, E) or (X, Y) is not specified in the file, so you will need to
select the right order in the Pythagoras Preferences. If you measure with angles and distances, you need to
select the right format for vertical angles (zenith based or level based) in Pythagoras. (Menu Defaults Preferences)

2. Station points
Format :

s,0,lh,stpn,code,ih,bpn,azimb,time
s
0
lh
stpn
code
ih
bpn
azimb
time

: not used by Pythagoras


: station point record
: units (Refer to Nikon 300)
: station point number
: not used by Pythagoras
: instrument height
: point number of the opening
: not used by Pythagoras
: not used by Pythagoras

point (backsight point)

Point numbers that are used in station records, must appear in the data collector files, prior to the station
record. There is one exception. The point numbers uses for the first station record, do not need to be
known. The point number (bpn) that specifies the opening direction is not used by the first station point.
But the first station point must be followed by a record that specifies the coordinates of the first station.
This is accomplished by a record for station coordinates.
Format :

s,1,lh,stpn,code,coord1,coord2,z,time
s
: not used by Pythagoras
1
: station point coordinates record
lh
: units (Refer to Nikon 300)
stpn : station point number
code : not used by Pythagoras
coord1,coord2,z : XYZ /NEZ coordinates.
time : not used by Pythagoras

This type of record must follow directly after the first station point. For all other station points it will be
ignored. These coordinates are only of importance in case Pythagoras needs to determine the coordinates
of eccentrically (offset) measured points. If you do not use extended coding or if you let your instrument
automatically calculate the coordinates of eccentrically measured points, they are of no concern.
If you want to have one data collector file contain multiple station positions, you will need to remember
that the horizontal angle in the opening direction (backsight) must be set back to 0 when you change from
one station to the next.

3. Detail (side shot) points

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 101

On your instrument, you can specify whether you want measurements stored in coordinates or in angles
and distances. You can import both formats into Pythagoras. Beware : you need to maintain the same
format throughout the data collector file.
The Nikon 400 has a separate code field. This field is alphanumeric. Here you can select either numeric
or alphanumeric coding. All Pythagoras coding options can be used. Options and codes are separated by a
space.
format in angles and distances :
s,2,lh,pntnr,code,sa,hh,vh,rh,time
s
2
lh
pntnr
code
sa
hh
vh
rh
time

:
:
:
:
:
:
:
:
:
:

not used by Pythagoras


HVS detail point
units (Refer to Nikon 300)
point number
code
slope distance
horizontal angle
vertical angle
reflector height
not used by Pythagoras

format with coordinates :


s,3,lh,pntnr,code,coord1,coord2,z,time
s
: not used by Pythagoras
3
: detail point coordinates
lh
: units (Refer to Nikon 300)
pntnr : point number
code : code
coord1,coord2,z : XYZ or NEZ coordinates
time : not used by Pythagoras

4. Examples
- In angles and distances
2 , 9 , , NS000
1 , 0 , FG , 1 , MH , 1.5000 , 2 , 0.0000 , 1996-11-05 , 08:59:34
1 , 1 , FG , 1 , PP, 100.0000 , 100.0000 , 50.0000 , 1996-11-05 , 08:59:36
1 , 2 , FG , 1.1 , PP , 4.5150 , 146.8750 , 103.3542 , 1.5000 , 1996-11-05 , 09:00:58
1 , 2 , FG , 1.2 , RWSA +15 , 2.1690 , 319.4286 , 108.5902 , 1.5000 , 1996-11-05 ,
09:01:18
1 , 2 , FG , 1.3 , RWA , 3.6610 , 42.2154 , 107.9494 , 1.5000 , 1996-11-05 , 09:01:18
1 , 2 , FG , 1.4 , RWA , 4.1760 , 59.6406 , 106.9034 , 1.5000 , 1996-11-05 , 09:01:18

- In coordinates
2
1
1
1
1

,
,
,
,
,

9
0
1
3
3

,
,
,
,
,

,
MG
MG
MG
MG

NS000
, 1 , , 1.5000 , 2
, 1 , , 100.0000 ,
, 2 , MH , 102.8698
, 3 , MH , 102.8752

ADW Software

, 0.0000 ,
100.0000 ,
, 101.3112
, 101.3136

1996-11-05 , 08:59:34
50.0000 , 1996-11-05 , 08:59:36
, 50.5748 , 1996-11-05 , 09:02:02
, 50.0578 , 1996-11-05 , 09:02:20

Pythagoras - Importing and Exporting Data Collector files

Page 102

1 , 3 , MG , 4 , CBS 15+12 , 90.8000 , 77.0300 , 10.0000 , 1996-11-05 , 09:07:38


1 , 3 , MG , 5 , CB , 120.0150 , 113.0000 , 9.0000 , 1996-11-05 , 09:08:26

5. Export format
Refer to the Nikon 300 format

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 103

PENTAX
PCS-Series/ R100-Series/ R300-Series
General
The unit of measure used during field data collection is not stored in the file. So, before importing the file,
you must first set the preferences in Pythagoras to match those used while surveying.
This applies to the length unit, the angle unit, the vertical angle (zenith based or level based) and the order
of the coordinates (NEZ of XYZ). The Pentax instruments have 2 different formats : a raw data format
(with angles and distances) and a coordinate format.

RAW DATA FORMAT : DC1-Z


Measuring a detail point (side shot) or station point results in a series of lines in the data collector file.
Each line has the following format : label: value
Pythagoras ignores most labels. The labels that Pythagoras requires to import a detail point or a station
point are described further in this document. Note that only points measured in polar coordinates are
accepted. Pythagoras never uses the horizontal distance.

1. Station point
Labels :
STA :
STC :
INH :

station point number


point number of the opening point (back sight)
instrument height

A valid station point starts with the label STA. Height correction will not be possible if the INH labels are
missing. The labels STC and INH must follow STA and must precede the next detail measurement (label
PPT). The STC label is not used for the first station point. The point numbers that are specified must
appear as detail points before the station record (except for the first station record).
Note for the R300 series instruments : the label STA has been replaced by the label STS (= station point
number)

2. Detail (side shot) points


Labels :
PPT
PPD
PPH
RTH
RTV
RTD

:
:
:
:
:
:

point number
code
reflector height
Horizontal angle
Vertical angle
slope distance

A new detail point starts with the label PPT. If the label PPH is missing, no height correction can be
calculated. A measurement is only valid if all labels occur after the label PPT and before the next label
PPT. A incomplete combination will result in an error message.
Note for the R300 series instruments : the label PPT has been replaced by the label PPD (= point number)

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 104

and the label PPD by the label PPC (= code). However the label PPT is still existing, but it remains
empty.

3. Example
for R300 :
ENQ:DC1
STL:CCC
SOP:CCC
DAT:1996-09-18
SIN:ATS02519022
STA:100
STS:ST1
STC:CODE
INH:1.7000
TIM:16.49.35
TMP:15
PPM:0PRS:1013
PSM:-30P
PPT:1
PPD:EP
PPH:1.3500
RTH:60.0640
RTV:392.8712
RTD:4.2861
PPT:2
PPD:EP
PPH:1.3500
RTH:60.0540
RTV:392.8812
RTD:4.1861
PPT:3
PPD:IP
PPH:1.3500
RTH:41.9374
RTV:392.0558
RTD:3.6404

ENQ:DC1
STL:SURVEY
STA:
STS:1
STC:2
INH:00001.570
TMP:025.9
PRS:1006.3
PPM:0012
PSM:-30
PPD:2
PPC:V
PH:00001.800
RTH:399.9998
RTV:100.4096
RTD:0109.8240
PPT:
PPD:100
PPC:KVS
PPH:00001.800
RTH:397.9896
RTV:100.0854
RTD:0052.1190
PPT:
PPD:101
PPC:KV
PPH:00001.800
RTH:397.3780
RTV:099.9862
RTD:0042.6280

COORDINATE FILE
a) in the DC1-Z format :
In this file format every line is one measurement. Although angles can be recorded, only measurements
with coordinates will be imported into the Pythagoras drawing. This format does not contain station
records.
Format :

xxxxTAppppppppppp:x:y:z:
xxxx
T

ADW Software

: line number (4 characters)


: record type
1 : title : not used by Pythagoras
P : angles : not used by Pythagoras
2 : coordinates
: fixed if coordinate record : not used

by Pythagoras

Pythagoras - Importing and Exporting Data Collector files

Page 105

pppppppppp : point number, in Pythagoras


:
: separator sign between the fields
x,y,z : coordinates XYZ or NEZ

Max 8 characters

There is no separate field in which the code is stored. Therefore, Pythagoras makes use of the point
number field for coding. This field will first contain the point number, then possibly the code, and then
possibly an option.
The point number, code and option will be separated by a space. The total length is a maximum of 11
characters.
e.g. 1 RWSA +15 means point number 1, code RWSA, option +15
Example :
00011ANEZ:
00022A2 MH:100.000:100.000:10.000:
00032A3 PP:1000.000:1000.000:0.000:
00042A4 MH:98.411:95.810:9.955:
0005P:249.1345:93.0727:4.4881:
00062A5 PP:98.248:98.632:9.974:
0007P:217.5919:103.1937:2.2839:
00082A6 MH:96.687:101.606:9.845:
0009P:154.0810:97.0233:3.7095:
00102A7 PP:99.300:101.973:9.868:
0011P:109.3220:104.1457:2.1600:

b) in the CSV (Comma Separated Values) format :


Since this type of data collector file does not contain a header, the Pythagoras Preference settings will be
used for length unit of measure and coordinate format (NEZ / XYZ).
format :

pt,coord1,coord2,Z,code
where :
pt
coord1,coord2,Z
code

: point number
: XYZ or NEZ coordinates
: code

Example :
S1,+00000100.000,+00000100.000,+00000010.000,ST,
1,+00000101.238,+00000100.000,+00000012.306,P,
2,+00000099.576,+00000101.165,+00000012.308,P,
3,+00000099.440,+00000101.032,+00000012.254,P,
4,+00000099.427,+00000101.056,+00000012.224,P,
5,+00000099.427,+00000101.056,+00000014.128,P,

Pythagoras stakeout format

Always line number, point number, E, N, Z, Code


Unit of measure (in the Pythagoras Preferences) must match the instrument settings.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 106

Example :
00011:EXPORT
00022:1:-36.317:17.009:10.000:POINT 1
00032:2:-6.206:34.248:12.500:POINT 2
00042:3:8.505:12.182:20.860:POINT 3
00052:4:-11.033:-8.045:-45.600:POINT 4
Note:

Pentax instruments support a maximum of 4 characters for point numbers. Please take this into account
when creating stakeout files from a Pythagoras drawing.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 107

ATSTOPO
General
This Pentax format uses fixed units for length, angles and the order of the coordinates. The units are
meters, gon and the order of the coordinates is always XYZ. The Pentax ATSTOPO has 2 different
formats : a polar format (with angles and distances) and a coordinate format.

POLAR DATA FORMAT


The point after the first station point will be considered an ordinary detail point. But beginning at the
second station point, Pythagoras will interpret this point as a reference point. This point will not be
created when it is considered a reference point. The Pentax ATSTOPO format works with labels. There
are however two versions of labels, one with French labels and one with English labels. Pythagoras
supports both versions. Below, you will find a list of the different labels that Pythagoras uses and their
meaning:
French English
Meaning
MA
AH
AV
HV
HT
DI
DH
DZ
C

PN
HA
VA
PH
IH
SD
HD
VD
C

point number
Horizontal angle
Vertical angle
Reflector height
Instrument height
Slope distance
Horizontal distance
Vertical distance
Code

If the file contains eccentric (offset) points, a warning will follow saying that they will not be used in
Pythagoras. The Pentax instrument will already have calculated the correction. Eccentric points begin
with :
#:ER
#:ET
#:EV
#:ED

correction to the horizontal distance


correction to the tangential distance
correction to the vertical distance
correction to the slope distance

1. Station points
A station point always starts with #,S, followed by the point number and the instrument height. Starting
at the second station point, Pythagoras will consider the point that follows as a reference point. Only the
point number and the horizontal angle of this reference point will be used.

2. Detail (side shot) points


A detail point starts with #:x, and x is a value between a..z, as long as it is lower case. Next, the
following labels must appear in the line in order to be interpreted as a valid detail point :
MA or PN

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 108

AH or HA
AV or VA
HV or PH
MA or PN
DI or SD

or

DH or HD

or

DZ or VD

The order in which the labels appear is of no importance. It is free to choose. If you want to use codes,
you will also need the label C.

3. Example
French labels :
#:S,MA=5,HT=1.5
#:p,MA=50,AH=30.9280,AV=106.7970,DI=2.652,HV=0.200,C=PP
#:p,MA=51,AH=383.5480,AV=105.5750,DI=3.375,HV=0.200,C=MH
#:p,MA=52,AH=323.8960,AV=98.8870,DI=2.118,HV=0.200,C=MH
#:S,MA=52,HT=1.5
#:p,DI=2.118,AV=99.9220,HV=1,AH=334.9040,C=PP,MA=5
#:p,MA=54,AH=237.5370,AV=107.2880,DI=2.733,HV=1.000,C=PP
#:p,MA=55,AH=237.3110,DI=2.734,HV=1.000,AV=107.4610,C=PP

English labels :
#:S,PN=5,IH=1.5
#:p,PN=50,HA=30.9280,VA=106.7970,SD=2.652,PH=0.200,C=PP
#:p,PN=51,HA=383.5480,VA=105.5750,SD=3.375,PH=0.200,C=MH
#:p,PN=52,HA=323.8960,VA=98.8870,SD=2.118,PH=0.200,C=MH
#:S,PN=52,IH=1.5
#:p,SD=2.118,VA=99.9220,HV=1,HA=334.9040,C=PP,PN=5
#:p,PN=54,HA=237.5370,VA=107.2880,DI=2.733,PH=1.000,C=PP
#:p,PN=55,HA=237.3110,SD=2.734,PH=1.000,VA=107.4610,C=PP

COORDINATES
A line starts with a point number, followed by a colon and then X, Y, Z and perhaps a C if you use codes.
If a coordinate file contains records with angles and distances, they will be ignored, and Pythagoras will
provide a warning for these records. Note : Pythagoras simply allows additional data in angles and
distances to be recorded after the coordinates in order to have some additional control data, but
Pythagoras will only use the coordinate data.

Example
1:X=100.000,Y=103.429,Z=11.001,C=BS,AH=399.9990,AV=105.5460,DI=3.442,HV=0.200

The labels should always be in capital letters!


Pythagoras only uses the point number, X, Y, Z and the code. The rest is not used by Pythagoras.

Example
1:X=100,Y=100,Z=10,C=PP

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 109

2:X=102.752,Y=100.000,Z=11.019,C=MH,AH=100.0010,AV=106.4860,DI=2.766,HV=0.2
3:X=102.579,Y=102.260,Z=11.001,C=PP,AH=54.1960,AV=105.5450,DI=3.442,HV=0.200
#:S,MA=100,HT=1.500
#:U,MA=2,AH=237.3120,AV=107.4620,DI=2.734,HV=1.000
#:U,MA=3,AH=314.5630,AV=102.1790,DI=4.454,HV=1.000
100:X=104.089,Y=100.484,Z=10.746,C=PP

The lines that start with #: are not used.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 110

Pentax POWERTOPO
THE IMPORT FORMAT
The Pythagoras import format consists of lines, which contain only ASCII codes. Each line starts with an H, S, M
or C, meaning the following:
H
S
M
C

: HEADER : needs to precede the first S and D line in the measurement


: STATION : contains data on the station point
: MEASUREMENT : Data of the measurement
: COMMENT : comment line, will not be processed by Pythagoras

1. Header
1.1. Data in the header
The header contains data to interpret the measurement records.
These data are:
a) Nature of the measurement data: one of the following:
HVS : Horizontal angle, vertical angle, slope distance
HVD : Horizontal angle, vertical angle, horizontal distance
ENZ : Easting, Northing, Elevation
NEZ : Northing, Easting, Elevation
Note: the abbreviations XYZ and YXZ are avoided to avoid confusion in Europe between the German and the
other European standards. The order is clearly given by ENZ and NEZ.
b) Angle units:
GON
(Default)
DMS
DEG
RAD
MIL
Note : in DMS mode you can have up to 5 decimals. The last figure is 1/10 of a second.
c) Distance units
METER
(Default)
INT_FEET
US_FEET
d) Angle direction
CW
(Clockwise)
CCW
Following settings are optional:
ABS_COORDS (default), REL_COORDS
ADJUST_Z : Z- needs also to be adapted.

1.2. Syntax of the header


The following rules need to be observed:
1) the line starts with an H, followed by a TAB or a space

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 111

2) the rest of the line has a free format concerning spaces, commas or tabulations
3) only the above mentioned keywords are tolerated. The order is arbitrary.
4) The data of a, b, c and d are required in the header.
Example:
H HVS , METER , GON , CW
This means that all the measurement data will be in the HVS format. Distances will be in meters and the angles in
GON.
A data collector file need to maintain the same units throughout the file.

2. Station Record
2.1. Data in the Station record.
a) Point number of the station.
b) Number of the backsight point
c) Instrument height
d) Backsight angle
e) C1
f) C2
g) C3
h) Code

(Max. 8 AN characters)
(Max. 8 AN characters)
(Numeric character)
(Numeric character)

The number of decimals can freely be chosen.

2.2. Syntax of the Station record.


The following rules need to be observed:
1) the line starts with an S, followed by a TAB or a space
2) the above mentioned data appear in this order in the record
3) the data need to be separated by:
- 1 TAB and 0 n spaces
- 1 n spaces
If certain data are not applicable e.g. backsight angle for the first station), it will be replaced by - - (two
successive minus signs)

Example:
S
or
S

S25

135

1.45

0.000

--

--

--

Code

S25

--

--

--

Code

3. Measurement Record
3.1. Data in the measurement record.
a) Point number
(Max. 8 AN characters)
b) 2 numeric values: depends on the chosen convention in the header
c) Target height

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 112

d) Information (code) : TABs are not allowed in the code field. All subsequent information will be considered code,
including spaces.

3.2. Syntax of a measurement record.


1) The line starts with an M, followed by a TAB or a space.
2) The above mentioned data appear in this order in the record
3) The data need to be separated by :
- 1 TAB and 0 n spaces
1 n spaces.
4) If certain data are not applicable (e.g. only angles are measured), they will be replaced by - - (two successive
minus signs)

Example
M

1024

235.3254

100.2364

23.654

1.45

CB+125

4. Comment Record
The comment record can be used for e.g. inserting instrument data, day, name of the project, etc.
These records will not be interpreted by Pythagoras.

PYTHAGORAS STAKE OUT FORMAT


Always point number, E, N, Z, Code
Without spaces and separated by exactly 1 TAB.
The units of measure set in the Pythagoras Preference settings need to match those of the instrument.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 113

GEODIMETER
1. General
Geodimeter does not have a real fixed file format. The format is partly specified by the user. But the file
has global features. One measurement consists of several lines and each line contains information about
an item of the measurement. This item is characterized with the help of a number : the label. All lines
have the same format : label=value.
A description of the labels also needs to be specified. This will record the labels in order to result in a
valid file.
Both polar and rectangular data can be imported. Since 1 Geodimeter file can contain both formats,
Pythagoras will only take into account the format that it encounters first.

2. Header
Of all the header labels, the only one used by Pythagoras is label 23. This label contains the length and
angle unit. If label 23 exists in the file, the unit of measure specified in the label will be used. If not, you
will need to set the Pythagoras Preferences to match those of your Geodimeter instrument.

3. Station points
Format :
Label
Label
Label
Label
Label
Label
Label

2
3
37
38
39
62
21

: Station point number


: Instrument height
: X-coordinate
: Y-coordinate
: Z-coordinate
: Point number of the opening point (back sight)
: Horizontal angle (value of the opening angle)

A station point starts with label 2. The point number of the station point and the opening point (backsight)
must be known prior to the station record, except for the first station point. All other labels are ignored.

4. Detail (side shot) points


Format :
Label 5 : Detail point number
Label 4 : Code
Label 6 : Reflector height
Label 7 : Horizontal angle
Label 8 : Vertical angle
Label 9 : Slope distance
Label 11 : Horizontal distance
Label 37 : X-coordinate
Label 38 : Y-coordinate
Label 39 : Z-coordinate
Label 98 : Coding options
:

ADW Software

optional

Pythagoras - Importing and Exporting Data Collector files

Page 114

A valid detail point starts with label 5.


A data collector file can contain either slope distance, horizontal distance or both. Just make sure that the
format remains the same throughout the file.
The use of label 4 and label 98 with extended coding
If you wish to specify options in the code, you need to add label 98. Because all codes are numeric, a
point is used as a separation between the different options.
Example :
Assume that 200 is a code for a polyline
1 is the abbreviation for start.
9 is the abbreviation for end.
2 is the abbreviation for parallel lines
the unit for options is set to cm
then the following labels mean
4=2001

polyline 200 starts

4=2009

polyline 200 ends

4=2001
98=2.90
4=200
98=2.35+50-30 :

polyline 200 starts, with 1 parallel line at 90 cm

next point for polyline 200, 3 parallel lines


at 35 cm, 50cm and -30 cm

Label 4 contains the code followed directly by global options as arc, start, end, close.
Label 98 contains the other options. The value after label 98 consists of an abbreviation, followed by a
point and the value of the option. If for a certain code only one kind of option is allowed, you can skip the
abbreviation and the separator sign.
e.g. Assume we specified (in the CDF file) that only the parallel lines option can be used with
code 200. Then the following labels will also be valid :
4=2001
98=35+50-30

first point of a polyline with code 200, 3 parallel lines


at 35 cm, 50cm and -30 cm

5. Stake out list


A stake out list is only supported in the coordinate format, with the format described below:
5=49
37=1468.652
38=1565.814
39=38.380

ADW Software

Detail point 49
X-coordinate
Y-coordinate
Z-coordinate

Pythagoras - Importing and Exporting Data Collector files

Page 115

6. Example
50=PYTHA2
51=1996.0911
52=14.0051
53=ADW
55=61010860
56=20.0
23=1113
74=760.00
2=1000
4=Stat1
3=1.570
21=354.9791
62=2000

From the header data only label 23 will be used

Station point

Importing only coordinates


5=49
6=1.400
37=1468.652
38=1565.814
39=38.380
7=23.5810
8=101.4350
9=68.053
5=41
6=1.600
37=1382.793
38=1549.400
39=39.139
7=82.4260
8=100.3350
9=109.489

Detail point 49
X-coordinate
Y-coordinate
Z-coordinate

Detail point 41
X-coordinate
Y-coordinate
Z-coordinate

Importing only polar data


5=44
6=1.600
7=120.3985
8=101.2355
9=47.366
37=1432.786
38=1493.270
39=38.794
5=47
6=1.600
7=280.4155
8=101.3295
9=152.411
37=1612.564
38=1423.864
39=36.529

ADW Software

Detail point 44
Hor. angle
Vert. angle
Slope distance

Detail point 47
Hor. angle
Vert. angle
Slope distance

Pythagoras - Importing and Exporting Data Collector files

Page 116

SOKKIA
SDRxx series
These data collectors contain a very large amount of record types and a large set of software to
manipulate the data before you transmit the data collector file to your computer.

General principles
1. How to record your data
Start your measurements in such a way that the Sokkia SDRxx can calculate coordinates. This means that
you will need to provide a station point before you start the measurement. If you want to use several
stations during the survey, follow the rules of your Sokkia SDRxx to obtain valid coordinates for all your
measured points.
You can record data in your own preferred format. At the moment of transmission of the data collector
file to your computer, you can decide the type records that needs to be recorded in the file, and the format
in which the measured points will be recorded.
If you choose to send only POS records, ("Send all as POS" setting), all records will be read by
Pythagoras. You can also choose to add the POS records to the measurements in order to save the
originally measured angles and slope distances in the file. If you do so, Pythagoras will ask which data
you would like to import. For every other record, Pythagoras will generate a warning saying that it
skipped the record. These warnings will be generated, along with other possible warnings, during the
interpretation of the data collector file. The data collector file will open in the Pythagoras text editor, and
the lines to which the warning applies will be highlighted. You can correct the errors right there in the
text editor, save the file and re-import the file.
If you would like Pythagoras to import only the polar data (angles and distances), there are a few different
options for the first station:
1. 2 coordinate records precede the first station point (08-records):
these 2 points will be used to create a Coordinate System (CS), taking into account the horizontal
angle (in this case, the azimuth will NOT be used). The next points measured in polar coordinates,
will be imported into this CS.
2. Only 1 coordinate record precedes the first station point:
Pythagoras will create a second point on its own, taking the azimuth and the horizontal angle into
account. A CS will be created with these 2 points to import the remaining points.
3. No coordinate records precede the station record, or the point numbers of the coordinate records
differ from those in the BKB record (07-record), or there are not enough data to create a CS:
in this situation, Pythagoras will import the measured data into the active CS. Just make sure that you
are in the right CS.
Example a:
08KI80001000.000001000.0000025.0000000ST1
08KI80011000.000001010.0000025.0000000ST1
02TP80001000.000001000.0000025.00000001.46100000ST1
11KI800080010.00000000
ST1
07TP8000800140.0000000313.205800
09F100020001588.67200089.49416660.00000000MNS

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 117

Example b :
08KI80011000.000001010.0000025.0000000ST1
02TP80001000.000001000.0000025.00000001.46100000ST1
11KI800080010.00000000
ST1
07TP8000800140.0000000313.205800
09F100020001588.67200089.49416660.00000000MNS

Example review
1. The BKB records of the example say that we need to create a CS from point 8000 to point 8001 with
a horizontal angle of -313.20528 (always make the horizontal angle negative). We dont take the
azimuth of 40.000 in the BKB record into account.
2. If only point 8000 preceded the first station record, Pythagoras would have made a second point on
its own, taking the azimuth of 40.0000000 and the horizontal angle into account.
3. In case there is no coordinate record with point number 8000 preceding the station record, Pythagoras
cannot make a CS. The measurement data will then be imported into the actual CS.

2. Eccentrically (offset) measured points


Since information about intermediate stations is missing from the data file, Pythagoras can not calculate
eccentrically measured points (simple points that contain the eccentric option) if the survey contains
several stations. Use the possibilities of the SDR to measure eccentric points.
We recommend that you import the raw data (the *.raw file made after transmission to the computer ).
Files that are edited by the editor that is included with the transmission program, can be imported also.
This editor allows you to correct errors in de data file.
The data transmitted to the computer must have a scale factor = 1.
The file must start with a header record that contains all units of measure. Pythagoras will interpret the
units and translate the data to the units set in Pythagoras. The Preference settings in Pythagoras do not
need to match those of the data collector to import the data.

Detail (side shot) point records


SDR33
The records provide 3 fields of 16 characters each for the coordinates (polar or rectangular). With polar
coordinates, the slope distance is shown first, followed by the vertical and horizontal angle. Pythagoras
will only import real numbers with a maximum of 15 significant digits. A warning will result if the least
significant digit is ignored.
When rectangular coordinates are used the pointid field is 16 characters long, If the point number is larger
than 8 characters it will be truncated and a warning will result.
When polar coordinates are used, the pointid field consists of two parts: the source point id and the
target point id. Both are 16 characters long.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 118

The Description field is used to add the code. This field is 16 characters long. The code must be entered
first. The primary options such as start line, end of line, arc connection and parallel polyline must follow
the code directly without a separator. The options with value(s) can then also follow, but a space must
separate both groups.
Example :
Station record
02TP

P131000.000

1000.000

100.000

1.646

Position 1-2 : type code (02)


Position 3-4 : observation code (TP)
Position 5-20 : station point number
Position 21-36 : Northing
Position 37-52 : Easting
Position 53-68 : Height
Position 69-84 : instrument height
Position 85-100 : code

Polar data
09F100020001588.67200089.49416660.00000000MNS
Position 1-2 : type code (09)
Position 3-4 : observation code (F1-F2 or MD)
Position 5-20 : station point number (not used by Pythagoras)
Position 21-36 : pointnumber detail point
Position 37-52 : slope distance
Position 53-68 : vertical angle
Position 69-84 : horizontal angle
Position 85-100 : code
SDR2x series :
The records provide 3 fields of 10 characters each containing the coordinates, so no truncation can occur
here. The same is true for the pointid. It is only 4 characters long. When polar coordinates are used, this
field also has two parts, but only 4 characters long (source point id and target point id)
The description has the same length as the SDR33 description record field. The format of the description
field is the same as that of the SDR33.
Example :
Polar measurement (always begins with 09 and then F1 or F2 )
09F100020001588.67200089.49416660.00000000MNS
Rectangular coordinates :
08TP001325.535

ADW Software

0.000

-0.056

BDSL

Pythagoras - Importing and Exporting Data Collector files

Page 119

Note :
When measuring in USfeet, the first station point needs to be preceded by the following line :
13DU3
Example :
00NMSDR20 V03-05 Jan-31-03 12:29 122211
10NM10045RESPIN
13CPSea level crn: N
13CPC and R crn: N
13CPAtmos crn: N
06NM1.00000000
13OOCurrent view
13TSJan-31-03 09:55
13JS10000
13TSJan-31-03 10:16
01NMV
000000
00000031
0.00000000
13PCP.C. mm Applied: 0.000
13DU3
02TP00025000.000005000.00000500.0000005.23000000MNS
11KI000200010.00000000
07TP000200010.00000000359.999305
03NM105.23000000
09F100020001588.67200089.49416660.00000000MNS

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 120

SET 2C,3C,4C II
1. Introduction
These Total stations can again record the measurements using several conventions. As for the Sokkia
SDRxx series, only rectangular coordinates will be imported into Pythagoras. To get valid coordinates
during a survey, follow the guidelines in the manual of the total station.
A valid data collector file has the following format : It starts with an instrument Data record (the A
record), then it is followed by the instrument station data, (the M record). This record contains the units
and NE or EN convention and may not be omitted. After the instrument station data, the measurements
follow.
Of all the possible record types for detail point
measurements, only the N,E,Z
MEASUREMENT DATA (Ed record type), the N,E,Z + S,V,H MEASUREMENT DATA (the Eh record
type) and the COORDINATE DATA (Fd record type) are imported. By using the combined record
format N,E,Z + S,V,H, you can retain the originally measured angles and slope distances in the file as a
double check of your data.
Any other measurement record in the file will be ignored by Pythagoras. Pythagoras will generate a
warning for every record that could not be interpreted. Notes and feature codes records will be ignored
during import.
All coordinates must be measured using the same units. Changing the N-E convention in the middle of
the data collector file is not permitted.
If the file contains only COORDINATE DATA records (Fd record), an instrument station data record is
not mandatory. If it is omitted, a dialog box will pop up to ask whether the coordinates are stored in the
format NEZ or ENZ in the file. Only COORDINATE DATA records are allowed in such a file.
For data collector files that contain multiple station points, follow the guidelines in the Sokkia manual to
obtain valid coordinates for your measured points. You can also group all the measurements from one
station point in one file. Then, you can import the data one station at a time, by selecting the appropriate
user coordinate system for every import. However you may not do this when polylines remain open
between stations.
The target station number field of the measurement record is used as the point identifier in Pythagoras. A
code can be added in the code field of the measurement record. When extended code conversion is used,
then add the group 1 option (START, END, ARC, ...) directly after the code. The other options can be
added after the code, separated by a space.
We recommend that you import the raw data file (.raw as file extension) that is stored on your computer
by the SOKKIA download software. These data are in the Sokkia Set format. If you use the included
editor to change the data or code, the file will be saved in the SOKKIA SDR format. This file can also be
imported into Pythagoras, but you will need to change the data collector type. If the saved file has
SDR2x as instrument name in the first line of the text file, then select that Sokkia data collector. If you
find SDR33 as instrument name, select the SOKKIA SDR33 in Pythagoras.
Stake out
For stake out, make sure that the NE - XY convention of Pythagoras is the same as the convention used
on the total station. The points will be exported by a COORDINATE record (the Fd record format ). The
points will be numbered starting at 1. The pointid of the point in Pythagoras will be added to the code
field of the Fd record.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 121

LEICA
1. Introduction
The Wild data format is rather complicated. If you are not familiar with it, we recommend that you first
read the documentation of Wild before studying this chapter in detail.
The Wild data format does not support the use of the CODE_SEPARATOR option.
2. Units
The units of the measurements (meters, gon, ...) are stored in the data collector file. So there is no need to
match the Pythagoras Preference setting with that of the instrument.
Restrictions :
- the units of measure must remain the same throughout the complete data collector file
- the accuracy of the data must remain the same throughout the complete data collector file

3. Measurement mode
On the WILD instruments you may select the data which need to be recorded by the data collector. You
could change this selection between measurements. E.g. a record could contain polar coordinates, and the
next record only rectangular coordinates.
Pythagoras does not allow you to mix different conventions in the same file.
Pythagoras will import files containing data measured recorded in the following formats:
- XYZ : the words with index 81,82,83 are in the measurement block.
- HDZ : the words with index 21,32,33 are in the measurement block.
- HVS : the words with index 21,22,31 are in the measurement block.
- HVD : the words with index 21,22,32 are in the measurement block.
You may have XYZ and polar coordinates in the same record. In this case Pythagoras will only retain the
XYZ (WI 81,82,83) coordinates.
4. Height correction
Height correction means the adjustment of the measured z-value by the difference between the instrument
height and the reflector height. When recording rectangular coordinates, some WILD instruments will
correct the z-value directly when you enter the right data in the instrument. Depending on the instrument,
you may also record the instrument height (WI 88) and the reflector height (WI 87). However, no
information is available that specifies whether or not the height correction has been done by the
instrument.
In order to avoid that a height correction is performed by Pythagoras even though the instrument already
did the correction, we recommend that you always use what we call a Station Record and a Reflector
Record (discussed further) and leave it up to Pythagoras to perform the height correction.

The following table explains when and how Pythagoras handles height corrections :

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 122

S-R
Yes
Yes

XYZ
Polar

S-87 / 88-87 / 88-R


No
yes

No S, R, 87 of 88
-

Where :
yes
: Pythagoras does height correction
no
: Pythagoras does not do height correction.
S-R
: the first line of the file is a Station record, the second line a Reflector record.
S-87 : the first line of the file is a Station record. There is no Reflector record.
The reflector height is given by Word Index 87.
88-87 : Word indexes 88 and 87 are in the file.
88-R : Data with Word index 88 (station height) and Reflector records in the file.
Warning : when combinations S and 88 or R and 87 are in the file. Pythagoras will use the first value of
the first data. The second will be ignored.
When recording data in rectangular coordinates, we strongly recommend that you verify the z-values of
the imported data to see whether these elevations correspond with the values that you expected.
5. Reflector Record - Station Record
The reflector record and the station record are stored in the file by using Code blocks.
Defining the codes for these records is done in Pythagoras when you configure the data collector. Once
you have selected "Wild", you need to specify a code for the Reflector Record and the Station Record.
Just be careful that these codes do not conflict with codes that you used in the CDF file.
a) Reflector Record
Word 1 (41)
Word 2 (42)

: Code for Reflector Record


: reflector height.

b) Station Record
Word 1 (41)
Word 2 (42)
Word 3 (43)
Word 4 (44)

: Code for Station Record


: Point number of the station.
: instrument height.
: Point number of the backsight point.

Unless it is the first station record, the point number of the station must be in the file. If no point number
of the backsight point is provided, the first station is considered to be the backsight point.
The units of the height of reflector and instrument are the same as the units used in the extended coding
for parallel lines, distance of eccentric (offset) points, ...
For more details refer to "Configure Data collector", "Options"
Note1 : Station records are only required if more than one station point is used and the data are recorded in HVS, HVD or HDZ
format. If you save all data measured from one station, in one file, you can omit station points. You can then import your survey
one station at a time, by first selecting the appropriate user coordinate system for each file. However, keep in mind that all
polylines must have been closed (END option), at the end of an import file.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 123

Note 2: If you record data in rectangular coordinates and you use more than one station, you only need to add the station record
if you want Pythagoras to calculate the position of eccentrically (offset) measured points. We recommend that you use the
possibilities of the instrument and/or data collector to measure eccentric (offset) points.

6. Using codes
There are two ways to add codes to a record :
a) using the remark words : word index 71.. 79 in the measurement block or
b) inserting a code block : word index 41..49 before the measurement block of the point.
If both occur, the remarks in the measurement block overrule the values of the code block. Taken into
account the way you enter remark words and code blocks, and the coding possibilities of Pythagoras, we
believe that using code blocks is preferable over the use of remark words. In some exceptional situations,
using simple codes without options and many subsequent points having the same code, storing the code in
REM1 could be useful.
If no code block is provided before the measurement block, the previous code block will still apply. The
result is that you will need to enter less data when measuring subsequent points that have the same code.
If you would like to enter multiple codes per point, you need to make use of multiple code lines.
The following explains how you need to enter the code, the options of group 1 and of group 2 in the code
block.
I. THE MOST COMMON SITUATION : A CODE POSSIBLY FOLLOWED BY A GROUP 1 OPTION
Word Index

Meaning

41
42

Code
Zero, one or more Group 1 options.

Example :
410002+00000510
110003+00000005
410004+00000510
110004+00000006

42....+00000001
81...0-00072076 82...0+00011169 83...0-00000303
42....+00000009
81...0-00068586 82...0+00006841 83...0-00000224

If the CDF file contains the following definitions:


1 = GLOBAL_OPTION(START)
9 = GLOBAL_OPTION(END)

; Abbreviation for start of line


; Abbreviation for end of line

510 = POLYLINE(
LAYER(B5)
STYLE(..., ...)
....
GROUP(Buildings)
)

The example above will result in a starting point of a polyline of group "Buildings", followed by a
measurement of the end point of the polyline. Pythagoras will generate this line with the attributes, color,
layer, ... as defined in the CDF file.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 124

Note : Wild instruments do not allow you to enter decimal points in a code block. The dot (.) and (..) used
to indicate that the point of type LINE needs to be connected to the previous point, needs to be identified
using -1 and -2 respectively. (42....-00000001, 42....-00000002)

II. USING GROUP 2 OPTIONS : THE GROUP 2 OPTION IS FIXED FOR THE CODE
If you define codes which require options of group 2, it is recommended that you specify the type of
option which follows in the CDF file. This makes it easier to enter the data while in the field.
Word Index

Meaning

41
42
43
44
45

Code
Zero, one or more Group 1 options.
Value 1 of group 2 option.
Value 2 of group 2 option.
Value 3 of group 2 option.

Unless you want to specify the distances of multiple parallel lines, only WI 43 will be used.
Example :
410004+00000540
110005+00000019
410006+00000540
110007+00000020

42....+00000001 43....+00000038
81...0+00002509 82...0+00006768 83...0-00000276
42....+00000009
81...0+00002977 82...0+00006883 83...0-00000245

If the CDF file contains the following definitions:


1 = GLOBAL_OPTION(START)
9 = GLOBAL_OPTION(END)

; Abbreviation for start of line


; Abbreviation for end of line

540 = RECTANGLE(
OPTION(WIDTH)
TYPE(R1)
)

; Code 43 will contain width.

The example above will generate a rectangle where one side is defined by the measured points, and the
other side has a length of 38 cm. : ( 43....+00000038)
III. USING GROUP 2 OPTIONS : THE KIND OF OPTION IS DEFINED IN WORD 43 OF THE CODE BLOCK
If you define codes which require options of group 2, it is recommended that you specify the type of
option that follows in the CDF file. This makes it easier to enter the data while in the field.
Word Index

Meaning

41
42
43
44
45
46

Code
Zero, one or more Group 1 options.
Type of group 2 option.
Value 1 of group 2 option.
Value 2 of group 2 option.
.....

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 125

Invalid measurement
An execution of an invalid measurement or a registration of an invalid code can be monitored very easily.
It is sufficient to define a code e.g. x as an object code and to register this extra code line after an invalid
execution and/or measurement is determined.
The code x will be expected in WI41, in WI 42 the number of lines that need to be skipped during
import can be defined. When nothing is defined in WI 42, only the previous line will be skipped.
e.g.
Definition in CDF :
X = INVALID_MEASUREMENT
Measure file :
410001+0000000000000101 42....+000000000000ST01 43....+0000000000001758
44....+000000000000ST05 45....+0000000000000000
410002+0000000000000102 42....+0000000000001300 43....+0000000000000000
44....+0000000000000000 45....+0000000000000000
#410295+0000000000002021 42....+0000000000000001 43....+0000000000000002
44....+0000000000000100 45....+0000000000000000
#110296+0000000000000156 21.042+0000000028099729 22.042+0000000010089930
31..00+0000000000007904 51....+00000003+0000000
#410297+00000000000000X 42....+0000000000000002 43....+0000000000000000
44....+0000000000000000 45....+0000000000000000
110298+0000000000000157 21.042+0000000028626750 22.042+0000000010001368
31..00+0000000000010174 51....+00000003+0000000

The red line will be ignored, the 2 previous lines as well. They will be marked with #

7. Point numbers
The point number of the measurement block (the data of the word with index 11) will be used as point
identifier for the new created point during import.

8. Stake out list


All selected points will be exported in rectangular coordinates. The point identifiers are used as point
numbers in the point number word (word index 11) of the measurement block. The coordinates are
exported in meters. The accuracy is close to 1 mm.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 126

ZEISS
The following Zeiss formats are supported by Pythagoras :
- Zeiss REC 500 /REC Elta
- Zeiss Elta 40R and Elta 50R

REC 500 /REC Elta


1. Introduction
Pythagoras supports the REC 500 data format used by the REC 500 data collector and the REC Elta
instruments. If you are not familiar with the data format of the REC 500 / REC Elta, we recommend that
you first read the documentation of your instrument before studying this chapter in detail.
2. Units
The units of the measurement (meters, gon, ...) are not stored in a REC 500 file. So you first need to
match the Pythagoras Preference settings to match those of the instrument before importing.
3. Measurement mode
A REC 500 data record contains information in the Type codes fields T1, T2 and T3 indicating the
meaning of the values stored in the record. If for example T1 = D, T2 = Hz and T3 = V1 then the first
value contains the slope distance, the second the horizontal angle, and the third the vertical angle.
Pythagoras recognizes these codes and automatically converts the measurement to coordinates.
You may store your data in one of the following formats :
T1 T2 T3
D, Hz, Vx
E, Hz, Vx
E, Hz, h
E, Hz, Y, X, Z
X, Y, Z
E, N, Z
N, E, Z

Convention
HVS
HVD
HDZ
HDZ (z = 0 )
ENZ
ENZ
ENZ
NEZ

Note Vx is either V, V1. V2 or V3. This specifies the meaning of the vertical angle. (Refer to
documentation Zeiss). V4 and V5 are not supported.
Pythagoras does not allow you to mix different conventions in the same file.
4. Height correction
Height correction means the adjustment of the calculated z-value by the difference between the
instrument height and the reflector height. When recording rectangular coordinates, it is possible depending on the instrument you use- that the z-value has already been adjusted. However there is no
information available in the REC 500 records that specifies whether or not the height correction has
already been done by the instrument.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 127

In order to avoid that a height correction is performed by Pythagoras even though the instrument already
did the correction, we recommend that you always use what we call a Station Record and a Reflector
Record (discussed further) and leave it up to Pythagoras to perform the height correction.

5. Reflector Record - Station Record


The reflector record and the station record are recorded by using specific codes in the Additional Info
field in a REC 500 record. On a REC 500, additional info is entered by using the Project Data lines.
(Using item 1 in the main menu). On a Rec Elta, an Info line can be entered by using the Soft key Inf.
Defining the codes for these records is done in Pythagoras when you configure the data collector. Once
you have selected "Zeiss", you need to specify a code for the Reflector Record and the Station Record. Be
careful that these codes do not conflict with codes that you used in the CDF file.
a) Reflector Record
<Code for Reflector Record> <reflector height>
This means that the code indicating Reflector Record must be followed by the reflector height. There
must be at least one space character between both values.
b) Station Record
<Code for Station Record> <Id station> <instrument height> <Id Backsight point>
Unless it is the first station record, the point number of the station must be in the file. If no point number
of the backsight point is provided, the first station is considered to be the backsight point.
The units of the height of reflector and instrument are the same as the units used in the extended coding
for parallel lines, distance of eccentric points, ...
For more details refer to "Configure Data collector", "Options"
Note1 : Station records are only required if more than one station point is used and the data are recorded in HVS, HVD or HDZ
format. If you save all data measured from one station, in one file, you can omit station points. You can then import your survey
one station at a time, by selecting the appropriate user coordinate system for each file. However, keep in mind that all polylines
must have been closed (END option), at the end of an import file.
Note 2: If you record data in rectangular coordinates and you use more than one station, you only need to add the station record
if you want Pythagoras to calculate the position of eccentrically (offset) measured points. We recommend that you use the
possibilities of the instrument and/or data collector to measure eccentric (offset) points

6. Using codes
Codes are recorded in the Additional Info field. The code can be followed by options of the first group
(START, END, ...). If you want to add options of the second group, separate them from the actual code
using a space.

7. Point numbers

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 128

The Zeiss record structure has a comment field, that can be split in two parts : a point identifier that can
be incremented automatically and a true comment part. Since the length of the two parts is not fixed, you
need to provide the length while configuring the data collector in Pythagoras (Coding Options). Point
numbers can only be 8 characters long in Pythagoras. If you specify a length of the point numbers equal
to 0, Pythagoras will create point numbers starting at 1, and increment the point number of each
additional point number by 1. But referring to point numbers when using simple lines is not very practical
in that situation.

8. Stake out list


All selected points will be exported using rectangular coordinates.

9. Example
For the example given below the following settings were used:
- Length Point number ; 4
- Code for Station Record : 100
- Code for Reflector Record : 101

123456789012345678901234567890123456789012345678901234567890123456789012345678
444 100 S1 1.525
445 101 1.450
446 1

TR L-40

12.804 Hz

358.6790 V1 100.6630

447 2

EPS 52-400

42.269 Hz

309.9430 V1 100.6010

24.757 Hz

57.5210 V1 100.7720

20.115 Hz

40.6920 V1

99.6000

453 101 MH

46.428 Hz

0.0140 V1

99.9940

454 5

BM

34.152 Hz

389.5360 V1

99.6120

455 6

CI

34.355 Hz

399.2780 V1 100.1820

456 7

EP

31.028 Hz

397.8990 V1 100.0760

457 8

BDSR

35.216 Hz

374.7520 V1

99.5590

458 9

DHR OFFICE

29.385 Hz

367.3830 V1

99.1720

459 10

FH

27.682 Hz

387.1200 V1

99.8210

448 101 1.800


449 3

BD R61

450 101 1.450


451 4

BDB

452 100 S2 1.480

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 129

Zeiss Elta 40R en Elta 50R


1. General
The file format of these Zeiss instruments is more restrictive than the Rec 500/Rec Elta format.
You will notice the difference in two instances : when changing stations and when using codes.
1.1. Measuring with different stations :
If, during the survey, you change station positions, you can find clues to this effect in the file. But the
data will not be not sufficient to automatically detect this. Besides, the format is language dependent. That
is why it is not possible with the present format, to import files, recorded in angles and distances (HVS),
with different stations, as one file in Pythagoras. If you do not want to work in coordinates, you will need
to import the data each station at a time. To do this, you will need to identify each data collector file as
the station used, or you will have to split up the data file after getting back to the office.
2.2. Coding :
The information field is only 7 characters long. 4 positions are reserved for the point number, so the code
can be a maximum of 3 characters long.
If you wish to use extended coding, can only do so to a certain extent. There is no room for options after
the code.

2. Detail (side shot) points


Pythagoras can import measured points which are recorded in angles and distances (HVS), polar or as
coordinates. All points throughout the file must be recorded in the same way.

Format :
Elta 40R
0

12345678901234567890123456789012345678901234567890123456789012345678901234567890
For R4|XX iiiiiii|T1 aaaaaaaaaaa dim1|T2 bbbbbbbbbbb dim2|T3 ccccccccccc dim3|

Elta 50R
0

123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
For R5|Adr 1234|XX iiiiiii|T1 aaaaaaaaaaa dim1|T2 bbbbbbbbbbb dim2|T3 ccccccccccc dim3|

XX
type identification TR or KR
iiiiiii
information field
T1, T2 en T3
labels that indicate the type of
a,b,c
survey values
dim1,dim2,dim3
surveying units
length units :
m (meter)
angle units :

ADW Software

the measured data

ft (US feet)
grd, grad, gon (GRAD)

Pythagoras - Importing and Exporting Data Collector files

Page 130

deg (decimal 360 degrees)


DMS (degrees minutes seconds)
mil
The following combinations survey values are considered detail points by Pythagoras :
T1

T2

T3

SD
HD
x
y
e
n

Hz
Hz
y
x
n
e

Vi
h
h
h
h
h

the

ih

i := 1,2,3 : Slope distance, Horizontal angle, Vertical angle


polar : Horizontal distance, Horizontal angle, height
XYZ coordinates
XYZ coordinates (German notation)
XYZ coordinates
NEZ coordinates
Instrument height, Reflector height : these values are used to
correct the height for HVS surveying.

3. Examples
Example1 : Elta 40R , Coordinates
For R4|KR

MH0001|y

0.654 m

|x

127.7155 m

|h

112.0705 m

For R4|KR

PP0002|y

80.655 m

|x

107.7710 m

|h

106.6430 m

For R4|KR

MH0003|y

2.656 m

|x

127.7715 m

|h

68.6415 m

For R4|KR

PP0004|y

12.657 m

|x

77.7705 m

|h

115.1456 m

For R4|KR

MH0005|y

5.658 m

|x

137.7505 m

|h

120.0705 m

For R4|KR

PP0006|y

9.659 m

|x

117.7457 m

|h

32.0705 m

Example 2 : Elta 40R, HVS mode


For R4|TR EINGABE|the

10.000 m

For R4|KR

MH0001|SD

0.654 m

|Hz

|ih

127.7155 grd |V1

5.000 m

|
112.0705 grd |

For R4|KR

PP0002|SD

80.655 m

|Hz

107.7710 grd |V1

106.6430 grd |

For R4|KR

MH0003|SD

2.656 m

|Hz

127.7715 grd |V1

68.6415 grd |

For R4|KR

PP0004|SD

12.657 m

|Hz

77.7705 grd |V1

115.1456 grd |

For R4|KR

MH0005|SD

5.658 m

|Hz

137.7505 grd |V1

120.0705 grd |

For R4|KR

PP0006|SD

9.659 m

|Hz

117.7457 grd |V1

32.0705 grd |

Example 3 : Elta 50R, Coordinates


For R5|Adr 0001|KR

MH0001|x

0.654 m

|y

127.7155 m

|h

112.0705 m

For R5|Adr 0001|KR

PP0002|x

0.655 m

|Y

127.7710 m

|h

106.6430 m

For R5|Adr 0001|KR

MH0003|x

0.656 m

|y

127.7715 m

|h

108.6415 m

For R5|Adr 0001|KR

PP0004|x

0.657 m

|y

127.7705 m

|h

115.1456 m

For R5|Adr 0001|KR

MH0005|X

0.658 m

|y

127.7505 m

|h

120.0705 m

For R5|Adr 0001|KR

PP0006|x

0.659 m

|y

127.7457 m

|h

132.0705 m

Example 4 : Elta 50R, HVS mode


For R5|Adr 0001|TR EINGABE|the

ADW Software

10.000 m

|ih

5.000 m

Pythagoras - Importing and Exporting Data Collector files

Page 131

For R5|Adr 0001|KR

MH0001|SD

0.654 m

|Hz

127.7155 grd |V1

112.0705 grd |

For R5|Adr 0001|KR

PP0002|SD

0.655 m

|Hz

127.7710 grd |V1

106.6430 grd |

For R5|Adr 0001|KR

MH0003|SD

0.656 m

|Hz

127.7715 grd |V1

108.6415 grd |

For R5|Adr 0001|KR

PP0004|SD

0.657 m

|Hz

127.7705 grd |V1

115.1456 grd |

For R5|Adr 0001|KR

MH0005|SD

0.658 m

|Hz

127.7505 grd |V1

120.0705 grd |

For R5|Adr 0001|KR

PP0006|SD

0.659 m

|Hz

127.7457 grd |V1

132.0705 grd |

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 132

Zeiss M5
General
The Zeiss M5 format is almost the same as the format above (Elta 40R/50R). The big difference is that
you can work with extended codes.
The code is entered along with the point number in the field after PI (1, 2 or 3). This field has a length of
27 characters. Because of this, it is necessary to specify the number of digits used for point numbers, in
advance. This is done using the Defaults - Configure - Data Collector menu. Select the Zeiss M5 format
and set the number of digits of the point number in the Options dialog box. The rest of the field will be
used for codes.
The newest Trimble instruments supporting the Zeiss M5 format have ALWAYS 15 characters for the
point number, the remaining 12 characters can be used for a code.
Importing measurement data
If you set the number of digits to 0, Pythagoras will determine the length of the point number on its
own.
When you enter a value, Pythagoras will know exactly where the code will start (everything after the
point number will be interpreted as code).
Stake Out Data
The stake out format is basically the same as the import data. This is because the structures of the PI
fields are the same.
If the number of characters for the point number is set to 0, Pythagoras will not create any point
numbers in the stake out file.
When setting a value, Pythagoras will respect this value. If a point number exceeds the number of
characters, Pythagoras will cut off the remainder of the number.
Examples
Below you will find a few examples of measurement data (rectangular and polar) for a Zeiss M5
instrument.
Coordinates :
For M5|Adr 44|PI1 123485678 code|Y

2937.7706 m |X

28021.1518 m |Z

51.9592 m

For M5|Adr 46|PI1 1

code |Y

1932.5627 m |X

29102.1229 m |Z

350.2146 m

For M5|Adr 48|PI1 2

code |Y

2228.0720 m |X

29118.1830 m |Z

449.8910 m

For M5|Adr 50|PI1 3

code |Y

2704.7775 m |X

29203.9019 m |Z

748.4134 m

For M5|Adr 52|PI1 4

code |Y

2886.0378 m |X

29220.7350 m |Z

647.7591 m

HVS :
For M5|Adr 49|PI1 1 MH

|D 107.8142 m |Hz

For M5|Adr 49|PI1

|m 1.000000

|th

360.23900 gon

|V1

30.3000 m |ih

101.64548 gon |
0.5000 m

For M5|Adr 51|PI1 2 BDS |D 128.3175 m |Hz

382.30286 gon

|V1

101.70740 gon |

For M5|Adr 53|PI1 3

|D 68.3565 m

|Hz

380.59201 gon

|V1

102.70740 gon |

For M5|Adr 55|PI1 4 BD

|D 18.9395 m

|Hz

372.57445 gon

|V1

100.69911 gon |

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 133

For M5|Adr 45|PI1 5 BD

|D 12.3141 m

|Hz

74.78888 gon

|V1

105.09442 gon |

For M5|Adr 47|PI1 6 BDE |D 21.9283 m

|Hz

20.21384 gon

|V1

103.79964 gon |

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 134

TDS-48 DATA COLLECTOR


General
The TDS-48 is an external data collector. It is connected to a total station and stores data from the total
station. Data that are generated by this data collector consist of a sequence of ASCII text records.
Pythagoras only supports the polar data format. Coordinates are not supported.

Job record :
Job records are not used. They will simply be ignored. They look as follows:
JB,NMMURRAY,DT1-25-1991,TM04:22:49.70

Header data :
Each file must start with header data such as :
MO,AD0,UN0,SF1.0000000,EC0,EO0.0,AU0

MO:

Record type

Field headers:
UN:
Distance unit
AU:
Angle unit

(0 for feet, 1 for meters)


(0 DMS, 1 for GON)

The following items are not used by Pythagoras:


AD:
SF:
EC:
EO:

Azimuth direction ( 0 for North, 1 for South)


Scale factor
Earth Curvature (0 for off, 1 for on)
EDM offset(inch)

Pythagoras will read the file until it reaches the first detail point in order to get some information about
the measurement:
For more information on a SS record: Refer to Detail Point:

Record to adjust the height:


This record is also called the Line of Sight Record and it looks as follows:
LS,HI0.000,HR0.000

LS: Record type


Field headers:

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 135

HI:
HR:

Height of Instrument
Height of Rod

Station point:
Is divided in two types of records: the Occupy record (OC) and the Backsight record (BK)
OC,OP1,N 0.0000,E 0.0000,EL0.000,--START
BK,OP1,BP1,BS0.0000,BC0.0000

Occupy record
OC: Record type
Field headers:
OP:
station point number
Items that are skipped by Pythagoras:
N :
E :
EL:
-- :

Northing (the header is N space)


Easting (the header is E space)
Elevation
Note

Backsight Record
Record type: BK
Field headers:
BP:
Backsight Point number
BC:
Back Circle --> Backsight angle
not used:
--------OP:
Occupy point
BS:
Backsight

If more than 1 BK-records follow an OC-record, Pythagoras will use the last one. The previous BKrecords will be ignored.

Detail point (Side Shot) :


A detail point record or Side Shot Record looks as follows:
SS,OP1,FP2,AR16.55160,ZE89.49180,SD132.129,--FENCE

SS: Record type


Field headers:
FP:
point number

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 136

Horizontal angle :
AR:
Angle-Right
AL:
Angle-Left

(clockwise)
(anti-clockwise)

ZE:
VA:

ZenithZenith (Vertical angle 90 degrees)


Vertical angle (Vertical angle Level)

SD:
HD:

Slope Distance
Horizontal Distance

-- :

Comment or code

Not used: OP: Occupy Point, reference to the station point

Example:
JB,NMMURRAY,DT1-25-1991,TM04:22:49.70
MO,AD0,UN0,SF1.0000000,EC0,EO0.0
OC,OP1,N 0.0000,E 0.0000,EL0.000,--START
BK,OP1,BP1,BS0.0000,BC0.0000
LS,HI0.000,HR0.000
SS,OP1,FP2,AR16.55160,ZE89.49180,SD132.129,--FENCE
SS,OP1,FP3,AR13.34480,ZE90.32480,SD81.756,--FENCE
SS,OP1,FP4,AR349.59130,ZE92.02000,SD33.405,--FENCE
SS,OP1,FP5,AR26.40440,ZE91.19250,SD118.120,--FENCE
SS,OP1,FP6,AR42.17130,ZE84.43520,SD102.441,--FENCE
SS,OP1,FP7,AR79.25350,ZE78.43560,SD90.685,--FENCE
SS,OP1,FP8,AR90.30440,ZE79.40190,SD93.894,--FENCE
SS,OP1,FP9,AR108.4139,ZE74.1246,SD35.461,-SS,OP1,FP10,AR54.3918,ZE80.0459,SD25.622,-SS,OP1,FP11,AR34.3057,ZE83.43000000000001,SD54.67,-SS,OP1,FP12,AR29.3926,ZE89.22239999999999,SD52.629,-SS,OP1,FP13,AR140.07490,ZE89.20200,SD106.016,--CP
-- BS point check:13-1, Horiz err: 0.013, Vert err: 0.150
OC,OP13,N -81.3623,E 67.9564,EL1.223,--CP
BK,OP13,BP1,BS320.0749,BC0.0000
BK,OP13,BP1,BS320.0749,BC320.0749
SS,OP13,FP14,AR33.18260,ZE79.47310,SD71.730,--FENCE
SS,OP13,FP15,AR65.28350,ZE80.25350,SD65.260,--FENCE
SS,OP13,FP16,AR101.40180,ZE82.03460,SD79.475,--FENCE
SS,OP13,FP17,AR144.08100,ZE83.39320,SD61.915,--HOUSE
SS,OP13,FP18,AR332.2748,ZE83.1317,SD70.27,--

--> comment line!

Lines that start with "--" are comment lines and will be ignored.

Stake out
Not supported

TRIMBLE DC10 AND DC10.70 FORMAT


Supported records are :

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 137

00 (HEADER)
69 (GRID POSITION) containing the fixed coordinates for the first station.
This record will only be taken into account when its available before the first station point.
02 (STATION) in DC10.70 replaced by E0
07 (BKB record) in DC10.70 replaced by E1
79 (OBSERVATION) in DC10.70 replaced by D9
77 (TARGET)

00 - HEADER
Position
1
3
5
21
25
41
42
43
44
45
46

Length Data format


2
2
16
4
16
1
1
1
1
1
1

Description of field
Type code Record type code = 00
Derivation Derivation code
Text 16 Version number "SC V10-70"
Integer 4 Serial number
Text 16 Date/time of file creation
Angle units Units of angle fields within file
Distance units Units of distance fields within file
Pressure units Units of pressure fields within file
Temperature unit Units of temperature fields within file
Coordinate order Order of map grid coordinates within file
Angle direction Direction of angles within file

02 - STATION (Obsolete - replaced by E0 record)


Position
Length Data format
Description of field
1
2
Type code Record type code = 02
3
2
Derivation Derivation code
5
16
Name Station point name
21
16
Distance (Northing - unused, set to null)
37
16
Distance (Easting - unused, set to null)
53
16
Distance (Elevation - unused, set to null)
69
16
Distance Theodolite Height
85
16
Text 16 (Station description - unused, set to spaces)
OR
E0 - STATION (replaces 02 record)
Position
Length Data format
1
2
3
2
5
16
21
16
37
16
53
1

Description of field
Type code Record type code = E0
Derivation Derivation code
Name Station point name
Distance Theodolite Height
Scale factor Station scale factor
Scale type Scale factor type

07 - BACKBEARING (Obsolete - replaced by E1 record)


Position
Length Data format
Description of field
1
2
Type code Record type code = 07

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 138

3
5
21
37
53

2
16
16
16
16

Derivation Derivation code


Name Station Name
Name Back Sight Name
Azimuth Azimuth (Only if keyed in, otherwise null)
Angle Horizontal Circle Reading

OR
E1 - BACKBEARING (replaces 07 record)
Position
Length Data format
1
2
3
2
5
16
21
16
37
16
53
16
69
16

Description of field
Type code Record type code = E1
Derivation Derivation code
Name Station Name
Name Back Sight Name
Azimuth Azimuth (Only if keyed in, otherwise null)
Angle Face 1 Horizontal Circle Reading (may be null)
Angle Face 2 Horizontal Circle Reading (may be null)

79 - OBSERVATION (Obsolete - replaced by D9 record)


Position
Length Data format
Description of field
1
2
Type code Record type code = 79
3
2
Derivation Derivation code
5
16
Name Station Point name
21
16
Name Target Point name
37
16
Distance EDM (Slope) Distance
53
16
Angle Vertical Circle Reading (Zenith)
69
16
Angle Horizontal Circle Reading
85
16
Text 16 Feature code
101
1
Classification Classification of the point
OR
D9 - OBSERVATION (replaces 79 record)
Position
Length Data format
1
2
3
2
5
16
21
16
37
16
53
16
69
16
85
16
101
1
102
16
118
16
134
16

Description of field
Type code Record type code = D9
Derivation Derivation code
Name Station Point name
Name Target Point name
Distance EDM (Slope) Distance
Angle Vertical Circle Reading (Zenith)
Angle Horizontal Circle Reading
Text 16 Feature code
Classification Classification of the point
Distance Slope distance standard error
Angle Vertical angle standard error
Angle Horz. angle standard error

77 - TARGET
Position
1
3
5
21

Description of field
Type code Record type code = 77
Derivation Derivation code
Distance Target Height
Prism Constant Prism Constant

ADW Software

Length Data format


2
2
16
16

Pythagoras - Importing and Exporting Data Collector files

Page 139

37

16

Distance Prism Offset

69 - GRID POSITION
Position
Length Data format
1
2
3
2
5
16
21
16
37
16
53
16
69
16
85
1
86
1

Description of field
Type code Record type code = 69
Derivation Derivation code
Name Point name
Distance Northing
Distance Easting
Distance Elevation
Text 16 Feature code
GPS Method Measurement method
Classification Classification of the point

Example :
00NMSC V10-70
209711-Sep-04 02:53 211121
10NMtest 122211
13TSTime Date 09/05/2004 Time 05:40:21
95FCADW Software
100000ADW Software
64KI>
1.00000000000000
E4NMS Series
10149 R3.0.41
3
273.942009210302105.6746113989640.000000000000000.00000000000000
C7NM0.000617283950620.000617283950620.003000000000002.00000000000000
C3AJ111
69KI
1000 1000.000000000005000.00000000000120.000000000000Stp
11
D2NM747.45000000000020.00000000000000.14200000000000
69FD
1000 1000.000000000005000.00000000000120.000000000000Stp
11
E0NM
1000 1.700000000000001.000000000000001
E1NM
1000
2000 0.000000000000000.00000000000000
77NM1.500000000000002.000000000000000.00000000000000
D9F1
1000
2000 129.206970000000101.9242000000000.00000000000000Sti
50.003258413940000.000617283950620.00061728395062
D9F1
1000
1
224.624780000000101.752800000000373.009200000000As1D
10.003449249560000.000617283950620.00061728395062
D9F1
1000
2
227.005960000000101.731200000000373.728600000000As2D
10.010454011920000.000617283950620.00061728395062

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 140

Appendix
This appendix provides a sample code description file.
SIMPLE POINT CODES
Code 1

Code 2

Description

Symbol on drawing

TV
TR
PT
IP
MH
TL
RS
PP
LP
UP
FH
MO
BM
Z
C
V
TP
FP

(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)

(small) TV box
Tree
Pine tree
Iron Pin
Man hole
Traffic light
Road Sign
Power Pole
Light pole
Utility pole
Fire hydrant
Monument
Boundary marker
Elevation
Comment
Traverse point
Unknown traverse point
Fixed traverse point

Rectangle 30x30
Trunk (d=0.2m) and crown (d=4.0m)
Round point
Round point
Circle (d=0.7m)
Round point
Round point + RS
Round point + PP
Round point + LP
Round point + UP
Round point + FH
Round point
Rectangle point
Point
The text in Code 2.
Point
Rectangle point
Triangle

text
(1)
(1)
(1)

(1) Optional code for eccentrically (offset) measured points.

CODES FOR LINES


Code 1

Description

Line style on drawing

FE
HE
WA
CB
RW
RG
EP
CL
RL
DI
TS
BS
LB
BD

Fence
Hedge
Wall
Curb (Road)
Right of Way
Road gutter
Edge of Pavement
Centerline
Reference line
Ditch
Top of slope
Bottom of Slope
Lot boundary
Building

Example line style


Example line style
Example line style
Normal line 0.1
Normal line 0.1
Normal line 0.1
Normal line 0.1
Dash Dot line 0.1
Normal line 0.1
Example line style
Example line style
Example line style
Normal line 0.1
Normal line 0.5

CODES FOR POINTS WITHIN POLYLINES


Code 1

Code 2

DH
DG

housenr.DoorThreshold
housenr.DoorGarage

Description

Symbol on drawing
Triangle on frontline + height + housenr
Triangle on frontline + height

The codes DH and DG may be followed by the letter L or R, to specify whether the point lies to the left or
to the right of the reference line. If not specified, left is assumed.
The codes DH and DG may only be used while measuring a building.

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 141

CI

(1)

Curb inlet

Symbol Curb inlet (30x70).


The coordinates specify the middle of
the curb inlet

The code CI may only be used while measuring a road (CL, CB, ...).
(1) Optional code for eccentrically (offset) measured points.

CODES FOR RECTANGLES


Code 1

Code 2

Description

Symbol on drawing

BAx
HWx
EBx
UBx

(2)
(2)
(2)
(2)

Barn
Headwall
Electric box
Utility box

Rectangle with 2 diagonals


Rectangle
Rectangle with diagonal + EB
Rectangle with diagonal + Utility

x = S or E

(2) The width (in cm) of an rectangle. The direction is perpendicular to the measured line. The
direction is determined by the direction S-E. (Refer to direction of lines)

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 142

CODE DESCRIPTION FILE


;---------------------------; SECTION 1 : CDF FILE HEADER
;---------------------------EXAMPLE = CDF
(
LENGTH(2)
LINEMODE(START_END)
SIGNCONVENTION(RIGHTPOS)
STRINGS(
1 = "Flower"
2 = "Tree"
3 = "Grass"
)
UNKNOWN_ELEVATION(-999.0)
LENGTH_OPTION(1)

; EXAMPLE : name of CDF


;
;
;
;

Codes will have a length of 2


Start and End polylines using the code for Start and End
A positive distance means "to the right". Negative "to the left"
Abbreviations used for text strings

; Elevation (in m) of 2D objects if the actual elevation is not known


; Default = 1. Alternative = 2 : All abbreviations must then have
; a length of 2 positions.

; The attributes below are comments (;). They are only provided for illustration.
;
;
;

ATTRIBUTES_OF_FIRST_POINT

; The code of the first point will determine the line style.
;
Default : code of the last point.
SYMBOLORIENTATION_TO_NEXT_POINT ; A symbol in the polyline will be oriented (rotate)
;
towards the next point. Default : to the previous point.
GROUP_TEXT_SYMBOL
; Specifies that text object(s) and symbol that belong to
;
the same point, will be grouped together.
)

;------------------------------------------; SECTION 2 : ABBREVIATIONS USED FOR OPTIONS


;------------------------------------------S = GLOBAL_OPTION(START)
E = GLOBAL_OPTION(END)
C = GLOBAL_OPTION(CLOSE)
A = GLOBAL_OPTION(ARC)
Z = GLOBAL_OPTION(END_OF_ARC)
U = GLOBAL_OPTION(CURVE)
X = GLOBAL_OPTION(INVISIBLE_CORNER)
Y = GLOBAL_OPTION(CORNER)
L = GLOBAL_OPTION(PERPENDICULAR_LEFT)
R = GLOBAL_OPTION(PERPENDICULAR_RIGHT)
D = GLOBAL_OPTION(EXTRA_LINE)
O = GLOBAL_OPTION(SYMBOL_ORIENTATION)
/ = GLOBAL_OPTION(CODE_SEPARATOR)
P = GLOBAL_OPTION(PARALLEL_POLYLINE)

;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;

Abbreviation for start of line


(Polyline, Rectangle)
Abbreviation for end of line
(Polyline, Rectangle)
Abbreviation for closing a polyline
(Polyline)
Abbreviation for arc
(Polyline)
Abbreviation for the last point of an arc
(Polyline)
Abbreviation for a point of a curve (spline)
(Polyline)
Abbreviation for invisible angle (inside angle)
(Polyline)
Abbreviation for visible angle (outside angle)
(Polyline)
Abbreviation for Perpendicular Line to the left of a polyline
(Polyline)
Abbreviation for Perpendicular Line to the left of a polyline
(Polyline)
Abbreviation for an extra line. Direction of the line is defined
by measuring an additional point (Polyline)
Abbreviation for a point that specifies the direction
of a symbol (Point)
Character that specifies the separator between
2 codes in one measurement
Abbreviation for a complete parallel polyline
through a point (Polyline)

; Abbreviations used with extra options (Code 2)


H = EXT_GLOBAL_OPTION (HEIGHT_DIFFERENCE)
* = EXT_GLOBAL_OPTION (PARALLEL_LINES)
T = EXT_GLOBAL_OPTION (TEXT)
W = EXT_GLOBAL_OPTION (WIDTH)

;
;
;
;
;
;
;
;

Abbreviation for the height difference between


parallel lines (Polyline)
no Abbreviation for Parallel Lines
(Polyline)
Abbreviation for Text
(Polyline, Point, Rectangle)
Abbreviation for width
(Rectangle)

; Abbreviations used for invisible points


L = EXT_GLOBAL_OPTION (ECCENTRIC(PERPENDICULAR_LEFT))
R = EXT_GLOBAL_OPTION (ECCENTRIC(PERPENDICULAR_RIGHT))
V = EXT_GLOBAL_OPTION (ECCENTRIC(INEXTENSION))
I = EXT_GLOBAL_OPTION (INVISIBLE_POINT)

;
;
;
;
;
;
;
;
;

(1)
(2)
(1)
(2)
(1)
(2)
(1)
(2)
(3)

line to the left


eccentric (offset) point to the left of the prism
line to the right
eccentric point to the right of the prism
line along the extension
eccentric point along the extension of the prism
point specifies the direction
length of line
intersection of 2 lines

;------------------------------------; SECTION 3 : DESCRIPTION OF THE CODES

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 143

;------------------------------------XX = INVALID_MEASUREMENT

; use the code XX to have Pythagoras ignore this measurement

; Polylines Z0 .. Z9 : can be open at the same time


Z# = POLYLINE

(
STYLE(0, 0)
COLOR(RED)
GROUP(Line#)
TEXT(
CONTENT("%H")
OBLIQUE
ALIGNMENT(CENTERED)
VALIGNMENT(CENTERED)
SIZE(5)
)
)

; oblique text
; alignment = centered
; alignment = centered

; Simple points
; TREE
TR = POINT

; PINE TREE
PT = POINT

; IRON PIN
IP = POINT

; MAN HOLE
MH= POINT

(
LAYER("Environment")
OPTION(ECCENTRIC)
STYLE(0, 5)
COLOR(GREEN)
)

;
;
;
;

layer
optional coding
(name of the point library ,Id)
color

(
LAYER("Environment")
OPTION(ECCENTRIC)
STYLE(0, 5)
COLOR (GREEN)
)

;
;
;
;

layer
optional coding
(name of the point library ,Id)
color

(
LAYER("Environment")
OPTION(ECCENTRIC)
STYLE(0, 5)
COLOR (BLACK)
)

;
;
;
;

layer
optional coding
(name of the point library ,Id)
color

(
LAYER("Environment")
OPTION(ECCENTRIC)
STYLE(1, 3)
COLOR (BLACK)
)

;
;
;
;

layer
optional coding
(name of the point library ,Id)
color

;
;
;
;

layer
optional coding
(name of the point library ,Id)
color

;
;
;
;

layer
optional coding
(name of the point library ,Id)
color

;
;
;
;

layer
optional coding
(name of the point library ,Id)
color

; TRAFFIC LIGHT
TL = POINT
(
LAYER("Traffic")
OPTION(ECCENTRIC)
STYLE(0, 5)
COLOR(BLACK)
)
; MONUMENT
MO = POINT

(
LAYER("Environment")
OPTION(eccentric)
STYLE(0, 5)
COLOR(BLACK)
)

; BOUNDARY MARKER
BM = POINT
(
LAYER("Boundaries")
OPTION(ECCENTRIC)
STYLE(0, 7)
COLOR(BLACK)
)
; POWER POLE
PP = POINT

ADW Software

(
LAYER("Utilities")
; layer
OPTION(ECCENTRIC)
; optional coding
STYLE(0 , 5)
; (name of the point library ,Id)
COLOR(BLACK)
; color
TEXT
(
LAYER("Utilities")
; Layer
STYLE(NORMAL)
; Style
WEIGHT(MEDIUM)
; Weight
SIZE(6)
; point size
ALIGNMENT(CENTERED)
; Alignment
COLOR( BLACK)
; Color
CONTENT("PP")
HORIZONTAL
; OBLIQUE /HORIZONTAL
POSITION(0 , 0)
; DELTA X, DELTA Y in mm (page units)
)
)

Pythagoras - Importing and Exporting Data Collector files

Page 144

; LIGHT POLE
LP = POINT

; ROAD SIGN
RS = POINT

; UTILITY POLE
UP = POINT

; FIRE HYDRANT
FH = POINT

(
LAYER("Utilities")
; layer
OPTION(ECCENTRIC)
; optional coding
STYLE(0 , 5)
; (name of the point library ,Id)
COLOR(BLACK)
; color
TEXT
(
LAYER("Utilities")
; Layer
STYLE(NORMAL)
; Style
WEIGHT(MEDIUM)
; Weight
SIZE(6)
; point size
ALIGNMENT(CENTERED)
; Alignment
COLOR( BLACK)
; Color
CONTENT("LP")
HORIZONTAL
; OBLIQUE /HORIZONTAL
POSITION(0 , 0)
; DELTA X, DELTA Y in mm (page units)
)
)
(
LAYER("Traffic")
; layer
OPTION(ECCENTRIC)
; optional coding
STYLE(0 , 5)
; (name of the point library ,Id)
COLOR(BLACK)
; color
TEXT
(
LAYER("Traffic")
; Layer
STYLE(NORMAL)
; Style
WEIGHT(MEDIUM)
; Weight
SIZE(6)
; point size
ALIGNMENT(CENTERED)
; Alignment
COLOR( BLACK)
; Color
CONTENT("RS")
HORIZONTAL
; OBLIQUE /HORIZONTAL
POSITION(0,0)
; DELTA X, DELTA Y in mm (page units)
)
)
(
LAYER("Utilities")
; layer
OPTION(ECCENTRIC)
; optional coding
STYLE(0 , 5)
; (name of the point library ,Id)
COLOR(BLACK)
; color
TEXT
(
LAYER("Utilities")
; Layer
STYLE(NORMAL)
; Style
WEIGHT(MEDIUM)
; Weight
SIZE(6)
; point size
ALIGNMENT(CENTERED)
; Alignment
COLOR( BLACK)
; Color
CONTENT("UP")
HORIZONTAL
; OBLIQUE /HORIZONTAL
POSITION(0,0)
; DELTA X, DELTA Y in mm (page units)
)
)
(
LAYER("Environment")
; layer
OPTION(ECCENTRIC)
; optional coding
STYLE(0 , 5)
; (name of the point library ,Id)
COLOR(BLACK)
; color
TEXT
(
LAYER("Environment")
; Layer
STYLE(NORMAL)
; Style
WEIGHT(MEDIUM)
; Weight
SIZE(6)
; point size
ALIGNMENT(CENTERED)
; Alignment
COLOR( BLACK)
; Color
CONTENT("FH")
HORIZONTAL
; OBLIQUE /HORIZONTAL
POSITION(0 , 0)
; DELTA X, DELTA Y in mm (page units)
)
)

; CABLE TV UTILITY BOX


TV = POINT
(
LAYER("Utilities")
STYLE(0,5)
COLOR(BLACK)
)

; Layer
; name of the point library, id

; TRAVERSE POINT (not used for Traverse calculations, only to identify the point)
V = POINT
(
LAYER("Traverse")
; Layer
STYLE(0,1)
; name of the point library, id
COLOR(BLACK)
)
; TRAVERSE POINT (used for Traverse calculations)
TP = POINT
(
LAYER("Traverse")
STYLE(0, 8)

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 145

COLOR(0)
NETWORKPOINT(TP)
)

; regular traverse point

; FIXED (KNOWN) POINT (used for Traverse calculations)


FP = POINT
(
LAYER("Traverse")
STYLE(0, 2)
COLOR(0)
NETWORKPOINT(FP)
; traverse point with known coordinates
)
; ELEVATION
Z = POINT

(
LAYER("Base")
STYLE(0,1)
COLOR(BLACK)
OPTION(TEXT)
)

; Layer
; name of the point library, id

; POINTS WITHIN POLYLINE


; CURB INLET
CI = POINT_WITHIN_POLYLINE
(
LAYER("Roads")
STYLE(1, 2)
COLOR(RED)
NO_PROJECTION
GROUP("Roads")
)

;
;
;
;

Layer
Name of the point library,id
color
Project point on polyline ?

; DOOR HOUSE (THRESHOLD)


DH = POINT_WITHIN_POLYLINE
(
LAYER("Buildings")
; Layer
OPTION(Text)
; valid option = text only
STYLE(1, 1)
; Name of the point library
COLOR(BLUE)
; color
PROJECTION
; Project point on polyline
GROUP("Buildings")
TEXT
(
LAYER("Buildings")
; Layer
STYLE(NORMAL)
; Style
WEIGHT(MEDIUM)
; Weight
SIZE(10)
; point size
ALIGNMENT(CENTERED)
; Alignment
VALIGNMENT(CENTERED)
; Vertical Alignment
COLOR( BLUE)
; Color
CONTENT("%T")
; Content : %T replace by text in record
BORDER(CIRCLE)
; Border = circle
HORIZONTAL
; OBLIQUE /HORIZONTAL
POSITION(0, 8)
; DELTA X, DELTA Y in mm (page units)
)
TEXT
(
LAYER("Buildings")
; Layer
STYLE(ITALIC)
; Style
WEIGHT(LIGHT)
; Weight
SIZE (6)
; point size
ALIGNMENT(CENTERED)
; Alignment
VALIGNMENT(CENTERED)
; Vertical Alignment
COLOR(BLUE)
; Color
CONTENT("(%H)")
; Content : %H replace by elevation of point
ANGLE (30)
; Text angle = 30
OBLIQUE
; Oblique text
POSITION(0, 2.9)
; Delta x, Delta y in mm (page units)
)
)
; DOOR GARAGE
DG = POINT_WITHIN_POLYLINE
(
LAYER("Buildings")
; Layer
OPTION(TEXT)
; valid option = text only
STYLE(1, "1")
; Name of the point library
COLOR(BLACK)
; color
PROJECTION
; Project point on polyline
GROUP("Buildings")
TEXT
(
LAYER("Buildings")
; Layer
STYLE(ITALIC)
; Style
WEIGHT(MEDIUM)
; Weight
SIZE (6)
; point size
ALIGNMENT(CENTERED)
; Alignment
VALIGNMENT(CENTERED)
; Vertical Alignment
COLOR(BLUE)
; Color
CONTENT("(%H)")
; Content : %H replace by elevation of point
OBLIQUE
; Oblique text
POSITION(0, 2.9)
; Delta x, Delta y in mm (page units)
)
)
; TEXTS

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 146

C = TEXT

(
LAYER("Comment")
STYLE(NORMAL)
WEIGHT(MEDIUM)
SIZE(6)
ALIGNMENT(CENTERED)
COLOR( BLACK)
CONTENT (" %T ")
)

;
;
;
;
;
;
;

Layer
Style
Weight
point size
Alignment
Color
%T replace by text in record

(
LAYER("Environment")
OPTION(ECCENTRIC)
STYLE(1, 0)
WIDTH(1)
COLOR(BLACK)
LENGTH(5.00)
)

;
;
;
;
;
;

Layer
optional coding only eccentric points allowed
Name of the line library
Line Width
Color
Length of the perpendicular line in m

(
LAYER("Environment")
OPTION(ECCENTRIC)
STYLE(1, 3)
WIDTH(1)
COLOR(GREEN)
LENGTH(5.00)
)

;
;
;
;
;
;

Layer
optional coding only eccentric points allowed
Name of the line library
Line Width
Color
Length of the perpendicular line in m

; POLYLINES
; FENCE
FE = POLYLINE

; HEDGE
HE = POLYLINE

; WALL
WA = POLYLINE

;BUILDING
BD = POLYLINE

; CENTERLINE
CL = POLYLINE

(
LAYER("Environment")
; Layer
OPTION(ECCENTRIC)
; optional coding only eccentric points allowed
STYLE(1, 4)
; Name of the line library
WIDTH(1)
; Line Width
COLOR(BLACK)
; Color
LENGTH(5.00)
; Length of the perpendicular line in m
TEXT
(
LAYER("texts")
; Layer
STYLE(NORMAL)
; Style
WEIGHT(MEDIUM)
; Weight
SIZE(6)
; Point size
ALIGNMENT(CENTERED)
; Horizontal Alignment
COLOR( BLACK)
; Color
OBLIQUE
; Oblique text
CONTENT("wall")
POSITION(0 , 5)
; DELTA X, DELTA Y in mm (page units)
)
POINT (
TEXT
(
LAYER("texts")
; Layer
STYLE(NORMAL)
; Style
WEIGHT(MEDIUM)
; Weight
SIZE(6)
; Point size
ALIGNMENT(CENTERED)
; Horizontal Alignment
COLOR( BLACK)
; Color
OBLIQUE
; Oblique text
CONTENT("corner")
POSITION(0 , 5)
; DELTA X, DELTA Y in mm (page units)
)
)
)
(
LAYER("Buildings")
OPTION(ECCENTRIC)
STYLE("DEFAULT", 0)
WIDTH( 5)
COLOR(BLUE)
LENGTH(5.00)
2D_POINT
GROUP("Buildings")
)

;
;
;
;
;
;
;

Layer
optional coding only in extension allowed
Name of the line library
Line width
Color
Length of the perpendicular line in m
Unknown elevation. Elevation of header will be used

(
LAYER("Roads")
OPTION(ECCENTRIC)
STYLE("DEFAULT", "3")
WIDTH(1)
COLOR(RED)
LENGTH(5.00)
)

;
;
;
;
;
;

Layer
optional coding only eccentric points allowed
Name of the line library
Line Width
Color
Length of the perpendicular line in m

;
;
;
;

Layer
Name of the line library
Line Width
Color

; CURB (of the Road)


CB = POLYLINE
(
LAYER("Roads")
STYLE("DEFAULT", "0")
WIDTH(1)
COLOR(RED)

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 147

LENGTH(0.00)
GROUP("Roads")
)
; ROAD GUTTER
RG = POLYLINE

(
LAYER("Roads")
STYLE("DEFAULT", "0")
WIDTH(1)
COLOR(RED)
LENGTH(0.00)
GROUP("Roads")
)

; Length of the perpendicular line in m

;
;
;
;
;

Layer
Name of the line library
Line Width
Color
Length of the perpendicular line in m

;
;
;
;
;

Layer
Name of the line library
Line Width
Color
Length of the perpendicular line in m

; EDGE OF PAVEMENT
EP = POLYLINE
(
LAYER("Roads")
STYLE("DEFAULT", "0")
WIDTH(1)
COLOR(RED)
LENGTH(5.00)
GROUP("Roads")
)

;
;
;
;
;

Layer
Name of the line library
Line Width
Color
Length of the perpendicular line in m

; REFERENCE LINE
RL = POLYLINE
(
LAYER("Basis")
STYLE("DEFAULT", "0")
WIDTH(1)
COLOR(BLACK)
LENGTH(5.00)
)

;
;
;
;
;

Layer
Name of the line library
Line Width
Color
Length of the perpendicular line in m

;
;
;
;
;
;

Layer
Name of the line library
Line Width
Color
Length of the perpendicular line in m
Curvature of curve = 7

;
;
;
;
;

Layer
Name of the line library
Line Width
Color
Length of the perpendicular line in m

(
LAYER("Environment")
STYLE("DEFAULT", "0")
WIDTH(1)
COLOR(BLACK)
LENGTH(5.00)
)

;
;
;
;
;

Layer
Name of the line library
Line Width
Color
Length of the perpendicular line in m

(
LAYER("Boundary")
STYLE("DEFAULT", "0")
WIDTH(1)
COLOR(BLACK)
LENGTH(5.00)
)

; Layer
; Name of the line library
; Line Width
; Color
; Length of the perpendicular line in m

(
LAYER("Buildings")
OPTION(WIDTH)
STYLE(0,0)
WIDTH(2)
COLOR(BLUE)
TYPE(R2)
)

;
;
;
;
;
;

; RIGHT OF WAY
RW = POLYLINE

; DITCH
DI = POLYLINE

(
LAYER("Roads")
STYLE("DEFAULT", "0")
WIDTH(1)
COLOR(RED)
LENGTH(5.00)
GROUP("Roads")
)

(
LAYER("Environment")
STYLE(1, 15)
WIDTH(1)
COLOR(BLUE)
LENGTH(5.00)
CURVATURE(7)
)

; BOTTOM (TOE) OF SLOPE


BS = POLYLINE
(
LAYER("Environment")
STYLE("DEFAULT", "0")
WIDTH(1)
COLOR(BLACK)
LENGTH(5.00)
)
; TOP OF SLOPE
TS = POLYLINE

; LOT BOUNDARY
LB = POLYLINE

; RECTANGLES
; BARN
BA = RECTANGLE

; ELECTRIC UTILITY BOX


EB = RECTANGLE (
LAYER("Utilities")

ADW Software

Layer
Option = Width
Solid line
Width
Color
Rectangle with 2 diagonals

; Layer

Pythagoras - Importing and Exporting Data Collector files

Page 148

OPTION(WIDTH)
; Option = Width
STYLE("DEFAULT", 0)
; Solid Line
WIDTH(1)
; Width
COLOR(BLACK)
; Color
TYPE(R1)
; Rectangle with 1 diagonal
TEXT
(
LAYER("Utilities")
; Layer
STYLE(NORMAL)
; Style
WEIGHT(MEDIUM)
; Weight
SIZE(6)
; point size
ALIGNMENT(CENTERED)
; Alignment
COLOR(BLACK)
; Color
CONTENT("EB")
; Fixed content
POSITION( 0, 1.5)
; Delta x, Delta y in mm (page units)
)
)
; UTILITY BOX
UB = RECTANGLE

; HEADWALL
HW = RECTANGLE

(
LAYER("Utilities")
; Layer
OPTION(WIDTH)
; Option = Width
STYLE("DEFAULT", 0)
; Solid Line
WIDTH(1)
; Width
COLOR(BLACK)
; Color
TYPE(R1)
; Rectangle with 1 diagonal
TEXT
(
LAYER("Utilities")
; Layer
STYLE(NORMAL)
; Style
WEIGHT(MEDIUM)
; Weight
SIZE(6)
; point size
ALIGNMENT(CENTERED)
; Alignment
COLOR(BLACK)
; Color
CONTENT("UTILITY")
; Fixed content
POSITION(0, 1.5)
; Delta x, Delta y in mm (page units)
)
)
(
LAYER("Environment")
OPTION( WIDTH)
STYLE("DEFAULT", 0)
WIDTH(1)
COLOR(BLACK)
TYPE(R0)
)

;
;
;
;
;
;

Layer
Option = Width
Solid Line
Width
Color
Rectangle with 1 diagonal

In the CDF file it is best to replace the style of Library symbols and line styles (1, n) by the full name of
the symbol or the line style as they are used in the library.
e.g. (1, 2) -> (Example, Doorstep)

ADW Software

Pythagoras - Importing and Exporting Data Collector files

Page 149

You might also like