Escolar Documentos
Profissional Documentos
Cultura Documentos
Version 4.71
October 2007
TABLE OF CONTENTS
TABLE OF CONTENTS............................................................................................................................................ 2
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.
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.
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.
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
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.
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.
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.
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 dS dZ
GPS091 0.038 0.117
GPS090 0.008 0.226
GPS016 0.647 1.221
GPS015 3.281 -0.048
ADW Software 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.
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 :
Example:
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
5
Fig. 1
Traverse Adjustment
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 HVD,DMS,US_FEET,CW,REL_COORDS
S 1 -- 5.0 -- -- -- -- ; Occupy 1st Station point
M 5 0 90 100 5.0 TP ; Measure last Station pt as backsight
M 2 123.3142 89.5910 139.59 5.0 TP ; Measure 2nd Station point
S 2 1 5.0 -- -- -- -- ; Occupy 2nd Station point
M 3 142.3055 90.2045 138.49 5.0 TP ; Measure 3rd Station point
S 3 2 5.0 -- -- -- -- ; Occupy 3rd Station point
M 4 95.5143 89.0531 131.25 5.0 TP ; etc.
S 4 3 5.0 -- -- -- --
M 5 91.5918 89.4557 259.50 5.0 TP
S 5 4 5.0 -- -- -- --
M 1 86.0615 91.3858 81.26 5.0 TP
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)
S2…Sn-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 -- 5.00 STN (Occupy Station 1)
M S2 90.0000 90.0000 9.90 5.00 TP (Measure point S2)
S S2 S1 5.00 STN (Occupy Point S2, backsight to S1)
M S1 0.0000 90.0000 10.00 5.00 FP
M S3 320.0000 92.0000 55.00 5.00 TP
...
S Sn-1 Sn-2 5.00 STN
M Sn-2 0.0000 90.0000 80.00 5.00 TP
M Sn 208.0000 90.0000 30.00 5.00 FP
S Sn Sn-1 5.00 STN
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
S2…Sn-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 S1 0 5.00 STN
M 0 0.0000 90.0000 95.00 FP
M S2 90.0000 72.0000 10.00 TP
S S2 S1 5.00 STN
M S1 0.0000 89.0000 10.00 FP
M S3 225.0000 90.0000 40.00 TP
...
S Sn-1 Sn-2 5.00 STN
M Sn-2 67.0000 90.0000 40.00 TP
M Sn 200.0000 90.0000 65.00 FP
S Sn Sn-1 5.00 STN
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
S2…Sn-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 S1 0 5.00 STN
M 0 0.0000 90.0000 89.90 FP
M S2 90.0000 90.0000 10.00 TP
S S2 S1 5.00 STN
M S1 0.0000 85.0000 10.00 FP
M S3 180.0000 87.0000 35.00 TP
...
S Sn-1 Sn-2 5.00 STN
M Sn-2 0.0000 90.0000 20.00 TP
M Sn 90.0000 90.0000 10.00 FP
S Sn Sn-1 5.00 STN
M Sn-1 0.0000 90.0000 10.00 TP
M X 135.0000 90.0000 70.00 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
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):
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.
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 : the elevation of the origin of the coordinate system in which imported.
Zm : measured elevation.
Zd : Instrument height - Reflector height.
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 18
FILE - EXPORT
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
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.
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 "Text" type of code can be used to automatically add different types of comments to the drawing.
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.
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))
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.
ADW Software 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.
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
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 measuring-
tape. 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.
A point is left of a polyline if it is at the left side of the last segment of a polyline.
Example:
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.
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.
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.
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.
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.
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:
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)
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)
)
)
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.
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.
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 Code2
CB 20+45 -120 lines will be created at 20 cm, 45 cm and -1.20m of the measured point.
CB 20+45 -100 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.
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 don’t 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
P = GLOBAL_OPTION(PARALLEL_POLYLINE)
Q = GLOBAL_OPTIONPARALLEL_POLYLINE)
P= EXT_GLOBAL_OPTION(PARALLEL_LINE)
Q=EXT_GLOBAL_OPTION(PARALLEL_LINE)
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)
)
)
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’
Remark : The previous attribute ‘parallel’ won’t be used anymore because of these constructions..
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.
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.
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".
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.
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
- WIDTH option : the parameter must be a distance. It is only used to specify the depth of a
rectangle
- 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
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
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.
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.
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.
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).
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.
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 :
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.
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.
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 EXTRA-
LINE 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.
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.
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.
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.
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.
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.
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.
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.
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 measuring-
tape. 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.
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.
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 doesn’t need to be keyed
in.
This option can be used in 3 situations. Refer to the drawings in Chapter IV:
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.
All sections have the same structure and consist of one or more blocks, and look like :
NAME = KEYWORDS([ATTRIBUTE])
NAME 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.
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.
MYCDF = CDF
(
LENGTH(3) ; Length of code = 3
LENGTH_OPTION(1) ; Length for global and extended options
STRINGS(
T1 = "Big tree" ; Text for parameter T1
T2 = "Small tree" ; Text for parameter T2
)
LINEMODE(START_END) ; Use of START_END convention
SIGNCONVENTION(LEFTPOS) ; LEFT of polyline is positive
ATTRIBUTES_OF_FIRST_POINT ;Attributes of the polyline will
be defined by the attributes of
the code of the first point of
the polyline
GROUP_TEXT_SYMBOL ;Group symbol and related text
SYMBOLORIENTATION_TO_NEXT_POINT ;Rotate symbols along the
direction of the next point
UNKNOWN_ELEVATION(-999.9) ;Ignore the measured elevation
and replace it by –999.9 meters
)
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
x, y Style
0, 0 Hidden (Invisible)
0, 1 Cross (+) Default
0, 2 x Cross (x)
0, 3 Slash (/)
0, 4 Round dot (•)
0, 5 Round dot hollow (o)
0, 6 Rectangle dot
0, 7 Rectangle dot hollow
0, 8 Triangle (-)
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”.
LAYER
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
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.
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.
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.
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).
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
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.
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 54
Attributes for simple point codes (POINT)
LAYER
COLOR
STYLE
OPTION
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)
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
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
)
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 56
COLOR
STYLE
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
Example :
RL = LINE(
LAYER("Border") ; layer "Border"
COLOR(RED) ; red line
STYLE("Road", "Border") ; Name of the line style in library.
WIDTH(2) ; 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.
COLOR
STYLE
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
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
TEXT
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
COLOR
STYLE
OPTION
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
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
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") ; Layer
STYLE(NORMAL) ; Style
WEIGHT(MEDIUM) ; Weight
SIZE(6) ; Point size
ALIGNMENT(CENTERED) ; Horizontal Alignment
COLOR( BLACK) ; Color
OBLIQUE ; Oblique text
CONTENT(%H) ; Content = height
POSITION(0 , 5) ; 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
COLOR
STYLE
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
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
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
1. S = GLOBAL_OPTION(START)
2. E = GLOBAL_OPTION(END)
CBS
1 -26.46 43.34 0. 00 CBS
2 10.04 52.46 0. 00 CBE
3. A = GLOBAL_OPTION(ARC)
abbreviation for a point of an arc
CBA
3 - 26. 46 21 .9 0 0. 00 CB AS
4 -7. 75 32 .8 4 0. 00 CB A
5 14. 60 24 .6 3 0. 00 CB AE CBAE
CB AS
4. U = GLOBAL_OPTION(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") ; layer
CURVATURE(5) ; 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.
CBU C BU
C BU
C BU S C BU E
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 CBUC
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 66
CBU CBU
CB U
C B UC C
C B US
5. Z = GLOBAL_OPTION(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 1814.410 797.360 2.930 CBSA
311 1815.010 800.420 2.910 CBA
312 1815.010 800.420 2.910 CBZ
313 1815.010 800.420 2.910 CBA
314 1815.800 804.550 2.910 CBA
315 1816.800 806.550 2.910 CBAE
CB Z C
CB A
C BA
C BA E
CB S A
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 1814.410 797.360 2.930 CBSA
311 1815.010 800.420 2.910 CBA
312 1815.010 800.420 2.910 CBAZ
313 1815.010 800.420 2.910 CBA
314 1816.800 806.550 2.910 CBAE
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 67
CB A Z
CB A
CB A CB A E
CB S A
6. L = GLOBAL_OPTION(PERPENDICULAR_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)
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.
CB C BR
0-
C BL
- 2 .5-
CB LS 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
-3.10-
45 BDSL 49 50
-2.75-
46 BD
47 BD L290 -5.70-
48 BD R570 47 48
-2,90-
49 BD L275
50 BDEL R310
45 46
9. C = GLOBAL_OPTION(CLOSE)
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
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 69
CB S CB
CB S
CB CC
4 -48.01 21.46 0.00
5 -18.81 21.46 0.00 CB
6 -15.05 15.05 0.00 CBCC
10. P = GLOBAL_OPTION(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.
WWP
CB
CB S CB E
11. H = EXT_GLOBAL_OPTION(HEIGHT_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 doesn’t need to
be keyed in.
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 70
310 1814.410 797.360 2.930 CBS +50H10
311 1815.010 800.420 2.910 CB
312 1815.010 800.420 2.910 CB H15
313 1815.010 800.420 2.910 CB
314 1815.800 804.550 2.910 CB +15
315 1816.800 806.550 2.910 CBE
H : 10
H : +1 5
H : +15 H : + 15
CB C BE
H : + 10 CB
CB
CB
C BS H : +1 5
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)
53
53 CBS 25+60-125
54 CBE
67
66
65
64 CBS 25+65-125
64
65 CB
66 CB 25+65-200
67 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 1814.410 797.360 2.930 CBS
311 1815.010 800.420 2.910 CB
312 1815.010 800.420 2.910 CBD
313 1815.010 800.420 2.910 CB
314 1815.800 804.550 2.910 CBD I150
315 1816.800 806.550 2.910 CBE
t a e t de au t e gt
CB S CB E
CB D
C BD I150
14. / = GLOBAL_OPTION(CODE_SEPARATOR)
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 797.360 2.930 CBS
311 1815.010 800.420 2.910 CB/FES
312 ... CB
325 ... FE
.......
FE
CB /FE S
CB S CB
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 72
15. X = GLOBAL_OPTION(INVISIBLE_CORNER)
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)
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)
Extra :
For polylines, text can also be placed beside the polyline, and centered in the middle of a line segment.
10 1814.410 797.360 2.930 CBS
11 1815.010 800.420 2.910 CB
12 1815.010 800.420 2.910 CB TSAND
13 1820.010 800.420 2.910 CB TDRIVEWAY
14 1815.800 804.550 2.910 CBE
C
CB DR IV EW A Y
D
N
A
CBE
S
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.
ADW Software 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)
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 :
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 1814.410 797.360 2.930 CBS
311 1815.010 800.420 2.910 CB
312 1815.010 800.420 2.910 CB I
313 1818.010 800.420 2.910 CB
314 1815.800 804.550 2.910 CBE
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 77
co ns truc ted p oint
CB
C BE
CB I
C BS
CB
W = EXT_GLOBAL_OPTION(WIDTH)
52 B MS W 5 0
53 B ME
1. V = EXT_GLOBAL_OPTION(ECCENTRIC(IN_EXTENSION))
2. L = EXT_GLOBAL_OPTION(ECCENTRIC(PERPENDICULAR_LEFT))
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 78
TR L45
3. 0 = GLOBAL_OPTION(SYMBOL_ORIENTATION)
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.
CI
CIO
CI
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 79
45 BDSL
46 DH
-2.90 -
47 BD L290 46
45 47
ADW Software 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.
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.
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.
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.
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.
Point number : 3 - 10
Code 1 : 12 - 20
Code 2 : 22 - 30
Refl. Height : 32 - 37
X or H : 39 - 47
Y or V : 49 - 57
Z or S or D : 59 - 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 TOPCON’s 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 TOPCON’s 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.
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.
The TOPCOMM program can be used to send the file to your computer. If you don’t 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
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.
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)
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.
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 87
_+1_ x+001010876_ y+001001139_ z+000100349
_+2_ x+001001826_ y+001002809_ z+000099683
_+3_ x+000995361_ y+001005126_ z+00010028
_+4_ x+001000000_ y+001010000_ z+000100000
ADW Software 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)
1. SD-mode
Refer to GTS-6.
2. HVD-mode
Refer to GTS-6.
Refer to GTS-6.
4. HVS-mode
FC2:
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
Example :
_+1_ f+001010876m_ g+001001139m_ h+000100349m_*Code1
_+2_ f+001001826m_ g+001002809m_ h+000099683m_*Code2
_+3_ f+000995361m_ g+001005126m_ h+000010028m_*Code3
_+4_ f+001000000m_ g+001010000m_ h+000100000m_*Code4
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 90
FC-6/GTS-700
Raw data :
1. Header
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
where :
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.
A detail point consists of two lines: a line starting with SS or FS, followed by a line starting with SD.
Or:
ADW Software 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.
GTS-700 v2.0
JOB D:\DIRK,A
NAME A
INST A
UNITS M,G
SCALE 1.000000,1.000000,0.000000
DATE 29/04/98,15:28:02
STN A,1.600,
XYZ 10.000,10.000,10.000
BKB Z,250.0000,0.0918
XYZ 0.000,0.000,0.000
SS 1,1.450,CBS#20
SD 193.79920,97.37760,4.9900
SS 2,1.450,CB,20
SD 218.20420,98.58840,8.2020
SS 3,1.450,CBE,20
SD 257.48120,100.56400,12.9630
SS B,1.450,Z
SD 388.41480,100.64600,8.1480
STN B,1.500,A
XYZ 5.386,3.285,10.067
BKB A,38.3230,0.0000
SS A,1.450,Z
SD 399.99940,100.96340,8.1180
SS 10,1.450,HES
SD 50.49640,100.86580,17.7670
SS 11,1.450,HEE
SD 87.48680,101.41060,10.7820
SS C,1.450,Z
SD 61.10920,101.27400,10.6470
STN C,1.550,B
XYZ 16.031,3.380,9.904
BKB B,299.4322,89.3542
SS B,1.450,Z
SD 89.35360,100.01920,10.6410
SS 200,1.450,BDS
SD 171.84000,100.27520,10.5930
SS 201,1.450,DH#,12
SD 183.16000,101.03100,10.3650
SS 202,1.450,BD
SD 196.83320,100.43660,10.5640
SS 203,1.450,BDE
SD 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 1,1.450,CBS#20
SS 1,1.450,CBS#,20 will have the same result
SS 1,1.450,CBS,20
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.
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.
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.
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 :
All other lines in the header data will be treated as comment and will have no effect on importing the file.
2. Station points
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 94
bsazim : Backsight azimuth
bsho : Backsight horizontal observation
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.
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.
pt : point number
hr : reflector height
sd : slope distance
ha : horizontal angle
va : vertical angle
time : not used by Pythagoras
code : code
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.
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 : point number
coord1,coord2,Z : XYZ or NEZ
code : 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
Format : s,datatype,lh,ptnr,sa,vh,hh,rh
- Coordinates :
Format : s,datatype,lh,ptnr,coord1,coord2,Z
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 :
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 Coordinates
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
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
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.
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.
4. Examples
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 , 9 , , NS000
1 , 0 , MG , 1 , , 1.5000 , 2 , 0.0000 , 1996-11-05 , 08:59:34
1 , 1 , MG , 1 , , 100.0000 , 100.0000 , 50.0000 , 1996-11-05 , 08:59:36
1 , 3 , MG , 2 , MH , 102.8698 , 101.3112 , 50.5748 , 1996-11-05 , 09:02:02
1 , 3 , MG , 3 , MH , 102.8752 , 101.3136 , 50.0578 , 1996-11-05 , 09:02:20
ADW Software 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
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 103
PENTAX
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.
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 : station point number
STC : point number of the opening point (back sight)
INH : 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)
Labels :
PPT : point number
PPD : code
PPH : reflector height
RTH : Horizontal angle
RTV : Vertical angle
RTD : 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 ENQ:DC1
STL:CCC STL:SURVEY
SOP:CCC STA:
DAT:1996-09-18 STS:1
SIN:ATS02519022 STC:2
STA:100 INH:00001.570
STS:ST1 TMP:025.9
STC:CODE PRS:1006.3
INH:1.7000 PPM:0012
TIM:16.49.35 PSM:-30
TMP:15 PPD:2
PPM:0PRS:1013 PPC:V
PSM:-30P PH:00001.800
PPT:1 RTH:399.9998
PPD:EP RTV:100.4096
PPH:1.3500 RTD:0109.8240
RTH:60.0640 PPT:
RTV:392.8712 PPD:100
RTD:4.2861 PPC:KVS
PPT:2 PPH:00001.800
PPD:EP RTH:397.9896
PPH:1.3500 RTV:100.0854
RTH:60.0540 RTD:0052.1190
RTV:392.8812 PPT:
RTD:4.1861 PPD:101
PPT:3 PPC:KV
PPD:IP PPH:00001.800
PPH:1.3500 RTH:397.3780
RTH:41.9374 RTV:099.9862
RTV:392.0558 RTD:0042.6280
RTD:3.6404
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:
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 105
pppppppppp : point number, in Pythagoras Max 8 characters
: : separator sign between the fields
x,y,z : coordinates XYZ or NEZ
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:
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 : point number
coord1,coord2,Z : XYZ or NEZ coordinates
code : 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,
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.
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 PN point number
AH HA Horizontal angle
AV VA Vertical angle
HV PH Reflector height
HT IH Instrument height
DI SD Slope distance
DH HD Horizontal distance
DZ VD Vertical distance
C C 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 :
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.
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
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
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:
1. Header
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
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:
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
Example:
3. Measurement Record
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.
Example
4. Comment Record
The comment record can be used for e.g. inserting instrument data, day, name of the project, etc.
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 2 : Station point number
Label 3 : Instrument height
Label 37 : X-coordinate
Label 38 : Y-coordinate
Label 39 : Z-coordinate
Label 62 : Point number of the opening point (back sight)
Label 21 : 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.
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 : optional
ADW Software 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.
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 :
4=2001
98=2.90 : polyline 200 starts, with 1 parallel line at 90 cm
4=200
98=2.35+50-30 : 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
A stake out list is only supported in the coordinate format, with the format described below:
ADW Software 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 From the header data only label 23 will be used
74=760.00
ADW Software 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
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:
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 don’t 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.
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 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.
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
Polar data
09F100020001588.67200089.49416660.00000000MNS
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 :
09F100020001588.67200089.49416660.00000000MNS
Rectangular coordinates :
ADW Software 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 :
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 S-87 / 88-87 / 88-R No S, R, 87 of 88
XYZ Yes No -
Polar Yes yes -
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.
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
b) Station Record
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
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.
41 Code
42 Zero, one or more Group 1 options.
Example :
410002+00000510 42....+00000001
110003+00000005 81...0-00072076 82...0+00011169 83...0-00000303
410004+00000510 42....+00000009
110004+00000006 81...0-00068586 82...0+00006841 83...0-00000224
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.
41 Code
42 Zero, one or more Group 1 options.
43 Value 1 of group 2 option.
44 Value 2 of group 2 option.
45 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 42....+00000001 43....+00000038
110005+00000019 81...0+00002509 82...0+00006768 83...0-00000276
410006+00000540 42....+00000009
110007+00000020 81...0+00002977 82...0+00006883 83...0-00000245
540 = RECTANGLE(
OPTION(WIDTH) ; Code 43 will contain width.
TYPE(R1)
)
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.
41 Code
42 Zero, one or more Group 1 options.
43 Type of group 2 option.
44 Value 1 of group 2 option.
45 Value 2 of group 2 option.
46 .....
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.
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
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 Convention
D, Hz, Vx HVS
E, Hz, Vx HVD
E, Hz, h HDZ
E, Hz, - HDZ (z = 0 )
Y, X, Z ENZ
X, Y, Z ENZ
E, N, Z ENZ
N, E, Z 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.
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
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.
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
1 2 3 4 5 6 7
123456789012345678901234567890123456789012345678901234567890123456789012345678
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.
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.
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 1 2 3 4 5 6 7 8
12345678901234567890123456789012345678901234567890123456789012345678901234567890
For R4|XX iiiiiii|T1 aaaaaaaaaaa dim1|T2 bbbbbbbbbbb dim2|T3 ccccccccccc dim3|
Elta 50R
0 1 2 3 4 5 6 7 8 9
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 the measured data
a,b,c survey values
dim1,dim2,dim3 surveying units
length units : m (meter)
ft (US feet)
angle units : grd, grad, gon (GRAD)
ADW Software 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
3. Examples
ADW Software 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.
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).
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 :
HVS :
For M5|Adr 49|PI1 1 MH |D 107.8142 m |Hz 360.23900 gon |V1 101.64548 gon |
For M5|Adr 49|PI1 |m 1.000000 |th 30.3000 m |ih 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
Field headers:
UN: Distance unit (0 for feet, 1 for meters)
AU: Angle unit (0 DMS, 1 for GON)
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”:
LS,HI0.000,HR0.000
Field headers:
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 135
HI: Height of Instrument
HR: Height of Rod
Station point:
Is divided in two types of records: the Occupy record (OC) and the Backsight record (BK)
Occupy record
Field headers:
OP: station point number
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 BK-
records will be ignored.
SS,OP1,FP2,AR16.55160,ZE89.49180,SD132.129,--FENCE
Field headers:
FP: point number
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 136
Horizontal angle :
AR: Angle-Right (clockwise)
AL: Angle-Left (anti-clockwise)
-- : Comment or code
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 --> comment line!
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,--
Lines that start with "--" are comment lines and will be ignored.
Stake out
Not supported
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 it’s available before the first station point.
77 (TARGET)
00 - HEADER
Position Length Data format Description of field
1 2 Type code Record type code = 00
3 2 Derivation Derivation code
5 16 Text 16 Version number "SC V10-70"
21 4 Integer 4 Serial number
25 16 Text 16 Date/time of file creation
41 1 Angle units Units of angle fields within file
42 1 Distance units Units of distance fields within file
43 1 Pressure units Units of pressure fields within file
44 1 Temperature unit Units of temperature fields within file
45 1 Coordinate order Order of map grid coordinates within file
46 1 Angle direction Direction of angles within file
OR
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 138
3 2 Derivation Derivation code
5 16 Name Station Name
21 16 Name Back Sight Name
37 16 Azimuth Azimuth (Only if keyed in, otherwise null)
53 16 Angle Horizontal Circle Reading
OR
OR
77 - TARGET
Position Length Data format Description of field
1 2 Type code Record type code = 77
3 2 Derivation Derivation code
5 16 Distance Target Height
21 16 Prism Constant Prism Constant
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 139
37 16 Distance Prism Offset
69 - GRID POSITION
Position Length Data format Description of field
1 2 Type code Record type code = 69
3 2 Derivation Derivation code
5 16 Name Point name
21 16 Distance Northing
37 16 Distance Easting
53 16 Distance Elevation
69 16 Text 16 Feature code
85 1 GPS Method Measurement method
86 1 Classification Classification of the point
Example :
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 140
Appendix
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, ...).
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
;----------------------------
;-------------------------------------
; 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
; IRON PIN
IP = POINT (
LAYER("Environment") ; layer
OPTION(ECCENTRIC) ; optional coding
STYLE(0, 5) ; (name of the point library ,Id)
COLOR (BLACK) ; color
)
; MAN HOLE
MH= POINT (
LAYER("Environment") ; layer
OPTION(ECCENTRIC) ; optional coding
STYLE(1, 3) ; (name of the point library ,Id)
COLOR (BLACK) ; color
)
; TRAFFIC LIGHT
TL = POINT (
LAYER("Traffic") ; layer
OPTION(ECCENTRIC) ; optional coding
STYLE(0, 5) ; (name of the point library ,Id)
COLOR(BLACK) ; color
)
; MONUMENT
MO = POINT (
LAYER("Environment") ; layer
OPTION(eccentric) ; optional coding
STYLE(0, 5) ; (name of the point library ,Id)
COLOR(BLACK) ; color
)
; BOUNDARY MARKER
BM = POINT (
LAYER("Boundaries") ; layer
OPTION(ECCENTRIC) ; optional coding
STYLE(0, 7) ; (name of the point library ,Id)
COLOR(BLACK) ; color
)
; POWER POLE
PP = 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("PP")
HORIZONTAL ; OBLIQUE /HORIZONTAL
POSITION(0 , 0) ; DELTA X, DELTA Y in mm (page units)
)
)
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 144
; LIGHT POLE
LP = 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)
)
)
; ROAD SIGN
RS = POINT (
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)
)
)
; UTILITY POLE
UP = 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("UP")
HORIZONTAL ; OBLIQUE /HORIZONTAL
POSITION(0,0) ; DELTA X, DELTA Y in mm (page units)
)
)
; FIRE HYDRANT
FH = POINT (
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") ; Layer
STYLE(0,5) ; name of the point library, id
COLOR(BLACK)
)
; 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
)
; ELEVATION
Z = POINT (
LAYER("Base") ; Layer
STYLE(0,1) ; name of the point library, id
COLOR(BLACK)
OPTION(TEXT)
)
; POINTS WITHIN POLYLINE
; CURB INLET
CI = POINT_WITHIN_POLYLINE
(
LAYER("Roads") ; Layer
STYLE(1, 2) ; Name of the point library,id
COLOR(RED) ; color
NO_PROJECTION ; Project point on polyline ?
GROUP("Roads")
)
; 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") ; Layer
STYLE(NORMAL) ; Style
WEIGHT(MEDIUM) ; Weight
SIZE(6) ; point size
ALIGNMENT(CENTERED) ; Alignment
COLOR( BLACK) ; Color
CONTENT (" %T ") ; %T replace by text in record
)
; POLYLINES
; FENCE
FE = POLYLINE (
LAYER("Environment") ; Layer
OPTION(ECCENTRIC) ; optional coding only eccentric points allowed
STYLE(1, 0) ; Name of the line library
WIDTH(1) ; Line Width
COLOR(BLACK) ; Color
LENGTH(5.00) ; Length of the perpendicular line in m
)
; HEDGE
HE = POLYLINE (
LAYER("Environment") ; Layer
OPTION(ECCENTRIC) ; optional coding only eccentric points allowed
STYLE(1, 3) ; Name of the line library
WIDTH(1) ; Line Width
COLOR(GREEN) ; Color
LENGTH(5.00) ; Length of the perpendicular line in m
)
; WALL
WA = 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)
)
)
)
;BUILDING
BD = POLYLINE (
LAYER("Buildings") ; Layer
OPTION(ECCENTRIC) ; optional coding only in extension allowed
STYLE("DEFAULT", 0) ; Name of the line library
WIDTH( 5) ; Line width
COLOR(BLUE) ; Color
LENGTH(5.00) ; Length of the perpendicular line in m
2D_POINT ; Unknown elevation. Elevation of header will be used
GROUP("Buildings")
)
; CENTERLINE
CL = POLYLINE (
LAYER("Roads") ; Layer
OPTION(ECCENTRIC) ; optional coding only eccentric points allowed
STYLE("DEFAULT", "3") ; Name of the line library
WIDTH(1) ; Line Width
COLOR(RED) ; Color
LENGTH(5.00) ; Length of the perpendicular line in m
)
; CURB (of the Road)
CB = POLYLINE (
LAYER("Roads") ; Layer
STYLE("DEFAULT", "0") ; Name of the line library
WIDTH(1) ; Line Width
COLOR(RED) ; Color
ADW Software Pythagoras - Importing and Exporting Data Collector files Page 147
LENGTH(0.00) ; Length of the perpendicular line in m
GROUP("Roads")
)
; ROAD GUTTER
RG = POLYLINE (
LAYER("Roads") ; Layer
STYLE("DEFAULT", "0") ; Name of the line library
WIDTH(1) ; Line Width
COLOR(RED) ; Color
LENGTH(0.00) ; Length of the perpendicular line in m
GROUP("Roads")
)
; RIGHT OF WAY
RW = POLYLINE (
LAYER("Roads") ; Layer
STYLE("DEFAULT", "0") ; Name of the line library
WIDTH(1) ; Line Width
COLOR(RED) ; Color
LENGTH(5.00) ; Length of the perpendicular line in m
GROUP("Roads")
)
; EDGE OF PAVEMENT
EP = POLYLINE (
LAYER("Roads") ; Layer
STYLE("DEFAULT", "0") ; Name of the line library
WIDTH(1) ; Line Width
COLOR(RED) ; Color
LENGTH(5.00) ; Length of the perpendicular line in m
GROUP("Roads")
)
; REFERENCE LINE
RL = POLYLINE (
LAYER("Basis") ; Layer
STYLE("DEFAULT", "0") ; Name of the line library
WIDTH(1) ; Line Width
COLOR(BLACK) ; Color
LENGTH(5.00) ; Length of the perpendicular line in m
)
; DITCH
DI = POLYLINE (
LAYER("Environment") ; Layer
STYLE(1, 15) ; Name of the line library
WIDTH(1) ; Line Width
COLOR(BLUE) ; Color
LENGTH(5.00) ; Length of the perpendicular line in m
CURVATURE(7) ; Curvature of curve = 7
)
; TOP OF SLOPE
TS = POLYLINE (
LAYER("Environment") ; Layer
STYLE("DEFAULT", "0") ; Name of the line library
WIDTH(1) ; Line Width
COLOR(BLACK) ; Color
LENGTH(5.00) ; Length of the perpendicular line in m
)
; LOT BOUNDARY
LB = POLYLINE (
LAYER("Boundary") ; Layer
STYLE("DEFAULT", "0") ; Name of the line library
WIDTH(1) ; Line Width
COLOR(BLACK) ; Color
LENGTH(5.00) ; Length of the perpendicular line in m
)
; RECTANGLES
; BARN
BA = RECTANGLE (
LAYER("Buildings") ; Layer
OPTION(WIDTH) ; Option = Width
STYLE(0,0) ; Solid line
WIDTH(2) ; Width
COLOR(BLUE) ; Color
TYPE(R2) ; Rectangle with 2 diagonals
)
; ELECTRIC UTILITY BOX
EB = RECTANGLE (
LAYER("Utilities") ; Layer
ADW Software 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 (
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)
)
)
; HEADWALL
HW = RECTANGLE (
LAYER("Environment") ; Layer
OPTION( WIDTH) ; Option = Width
STYLE("DEFAULT", 0) ; Solid Line
WIDTH(1) ; Width
COLOR(BLACK) ; Color
TYPE(R0) ; 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