The Accuracy of a Marine Satellite Compass under Terrestrial Urban Conditions

: When used at sea, satellite compasses are capable of determining the course of a sailing vessel with high accuracy. It is di ﬃ cult to verify the accuracy declared by the device manufacturer under such conditions, as it is di ﬃ cult to deﬁne a reliable reference. This study analyses the accuracy of the satellite compass in an urban setting, with the satellite signal being obscured to various extents. It is an important point in the study to refer the measurement results to a reference route, which is the axis of a tramway track, determined by the precise GNSS RTK method. The measurement data were processed in the original software developed by the authors. The results demonstrate a high 2D positioning accuracy with low height determination accuracy. The course determination errors exceed the limit values declared by the manufacturer. However, speciﬁc measurement conditions must be taken into account, which di ﬀ er considerably from the typical applications of a satellite compass.


Introduction
The GPS system plays an extremely important role in marine, land and air navigation. Owing to the nearly full system availability around the globe, a user's position can be determined to an accuracy of several meters [1]. The GPS system consists of three functionally interlinked segments: land-based, control-based and space-based [2]. The GPS system has been modernised continuously since the beginning of its operation with the aim of gradually improving its functions. Such progress has been most noticeable as a change in the satellite constellation [3]. Older satellite blocks have been replaced with newer models equipped with modules that allow for satellite signal transmission on new frequencies [4]. Currently, satellite receivers used for object positioning mostly do not only use the GPS system. The Russian Glonass, Chinese BeiDou and European Galileo systems are also widely used. The number of global navigation satellite systems (GNSS) depends on the class and the intended use of a device. Precise geodetic receivers can usually make use of all GNSS, which is associated with a relatively high price for the measurement apparatus. Now that mobile devices are commonly used for navigation and as maps, their motherboards often contain positioning modules using three GNSS

Materials and Methods
The measuring instruments used in the experiment were placed on three trolleys of a DWF 300 series tramway (dimensions: 2.73 m × 1.78 m × 0.75 m) and pulled behind a Bombardier tramway [25]. Five GNSS satellite receivers from two producers were installed on each of the two trolleys. Five Leica GS15 receivers were placed in a specific geometric configuration on the middle trolley and five Trimble R10 receivers were placed on the third (last) trolley. The first trolley was fitted out with a steel support with a Furuno SC-50 satellite compass. The central receivers on the last two platforms and the satellite compass were placed above the tramway track axis. A staking out procedure of a Leica TPS 1103 electronic total station was used for their precision deployment. The coordinates of the tachymetric prisms and instruments were determined by the following formulas: where: x, y, z-ortho-Cartesian coordinates of a point, d-slope distance to a point, V-vertical angle of the total station target axis, Hz-horizontal angle of the total station target axis.
This method allowed for precise (with a millimetre-error) determination of the target position of the measurement equipment. The deployment diagram for the equipment used in the experiment is presented in Figure 1. This method allowed for precise (with a millimetre-error) determination of the target position of the measurement equipment. The deployment diagram for the equipment used in the experiment is presented in Figure 1. The tramway and the measurement trolley route ran through an urbanised area in which the sky was obscured to varying extent. The tramway started at the terminus in Gdańsk Brzeźno and went southwards along Józef Haller Avenue. There are no buildings in the vicinity in this section and the conditions for satellite measurements were favourable. At the crossroads, the route turned southeastwards along Maciej Płażyński Avenue. There were no objects which would obscure the sky here either. The tramway turned north-eastwards at the next crossroads, along Gdańska Street. The sky in this section was partly obscured by roadside trees and buildings. The last part of the planned closed route ran along the westward tramway track section between the entrance to the beach and the tramway terminus. Unlike in the section along Gdańska Street, there were many buildings in the immediate vicinity of the track. The route diagram is shown in Figure 2. The tramway and the measurement trolley route ran through an urbanised area in which the sky was obscured to varying extent. The tramway started at the terminus in Gdańsk Brzeźno and went southwards along Józef Haller Avenue. There are no buildings in the vicinity in this section and the conditions for satellite measurements were favourable. At the crossroads, the route turned south-eastwards along Maciej Płażyński Avenue. There were no objects which would obscure the sky here either. The tramway turned north-eastwards at the next crossroads, along Gdańska Street. The sky in this section was partly obscured by roadside trees and buildings. The last part of the planned closed route ran along the westward tramway track section between the entrance to the beach and the tramway terminus. Unlike in the section along Gdańska Street, there were many buildings in the immediate vicinity of the track. The route diagram is shown in Figure 2.  [26].
The tramway covered the planned route over a dozen times, with satellite compass observations recorded at a frequency of 1 Hz during three passages. The satellite receivers on the other two trolleys recorded their positions at a frequency of 20 Hz. This provided a number of measured points on the reference route that was adopted in this study. They were later used for determining the reference values for the satellite compass observations. Figure 3 shows selected stages of the measurements. The files with the satellite observations data were transferred from the satellite receivers to an external drive. The compass data were registered in real time on the hard drive of a computer inside the tramway. Measurement data from the satellite compass were saved as text files in the NMEA 0183 format [27]. The data included the following types of NMEA messages: $GPZDA, $GPGGA, $GPGLL, $GPHDT. The $GPZDA contains information on the registration time-the hour (UTC The tramway covered the planned route over a dozen times, with satellite compass observations recorded at a frequency of 1 Hz during three passages. The satellite receivers on the other two trolleys recorded their positions at a frequency of 20 Hz. This provided a number of measured points on the reference route that was adopted in this study. They were later used for determining the reference values for the satellite compass observations. Figure 3 shows selected stages of the measurements. The tramway covered the planned route over a dozen times, with satellite compass observations recorded at a frequency of 1 Hz during three passages. The satellite receivers on the other two trolleys recorded their positions at a frequency of 20 Hz. This provided a number of measured points on the reference route that was adopted in this study. They were later used for determining the reference values for the satellite compass observations. Figure 3 shows selected stages of the measurements. The files with the satellite observations data were transferred from the satellite receivers to an external drive. The compass data were registered in real time on the hard drive of a computer inside the tramway. Measurement data from the satellite compass were saved as text files in the NMEA 0183 format [27]. The data included the following types of NMEA messages: $GPZDA, $GPGGA, $GPGLL, $GPHDT. The $GPZDA contains information on the registration time-the hour (UTC The files with the satellite observations data were transferred from the satellite receivers to an external drive. The compass data were registered in real time on the hard drive of a computer inside the tramway. Measurement data from the satellite compass were saved as text files in the NMEA 0183 format [27]. The data included the following types of NMEA messages: $GPZDA, $GPGGA, $GPGLL, $GPHDT. The $GPZDA contains information on the registration time-the hour (UTC time), date (day, month, year) and the time zone. The $GPGGA type is especially commonly used in general positioning because it can be used to read out the curvilinear coordinates (geodetic longitude and latitude) and to calculate the point coordinates in a selected map projection. A $GPGGA message contains information on the position registration time (UTC), geodetic latitude and longitude, positioning quality (e.g., using DGPS differential systems), number of satellites, the value of the Horizontal Dilution of Precision (HDOP), orthometric height, the distance between the geoid and the ellipsoid interpolated from the model, differential data origin and age data. The $GPGLL type contains selected fields of the previous two types, i.e., geodetic latitude and longitude, and the position registration time. The last type of NMEA message transmitted by a satellite compass is $GPHDT. It contains information on the vehicle current course relative to the northward direction. Table 1 contains a section of data from the NMEA stream. Curvilinear coordinates of geographic latitude and longitude were projected onto a plane to achieve the study objectives. Thus, metric units were obtained which made it possible to calculate the positioning and the course errors. The PL-2000 state coordinate system is used in Poland for map projections for land surveying purposes [18], which was obtained by modification of the Gauss-Krüger cylindrical transverse projection. This projection is obtained by placing the image (cylinder) surface in the transverse direction relative to the Earth's rotation axis. The PL-2000 system embraces four longitudinal zones which are 3 • wide, and the axial meridians are 15 • , 18 • , 21 • and 24 • of the eastern geodetic longitude [28]. The deployment of the longitudinal zones is shown in Figure 4. time), date (day, month, year) and the time zone. The $GPGGA type is especially commonly used in general positioning because it can be used to read out the curvilinear coordinates (geodetic longitude and latitude) and to calculate the point coordinates in a selected map projection. A $GPGGA message contains information on the position registration time (UTC), geodetic latitude and longitude, positioning quality (e.g., using DGPS differential systems), number of satellites, the value of the Horizontal Dilution of Precision (HDOP), orthometric height, the distance between the geoid and the ellipsoid interpolated from the model, differential data origin and age data. The $GPGLL type contains selected fields of the previous two types, i.e., geodetic latitude and longitude, and the position registration time. The last type of NMEA message transmitted by a satellite compass is $GPHDT. It contains information on the vehicle current course relative to the northward direction. Table 1 contains a section of data from the NMEA stream. Curvilinear coordinates of geographic latitude and longitude were projected onto a plane to achieve the study objectives. Thus, metric units were obtained which made it possible to calculate the positioning and the course errors. The PL-2000 state coordinate system is used in Poland for map projections for land surveying purposes [18], which was obtained by modification of the Gauss-Krüger cylindrical transverse projection. This projection is obtained by placing the image (cylinder) surface in the transverse direction relative to the Earth's rotation axis. The PL-2000 system embraces four longitudinal zones which are 3° wide, and the axial meridians are 15°, 18°, 21° and 24° of the eastern geodetic longitude [28]. The deployment of the longitudinal zones is shown in Figure 4. The study area is situated in zone 6 of the PL-2000 system with an axial meridian of 18°. Determination of the satellite compass accuracy in variable urban conditions involved calculation of the position and course error relative to the reference value based on the GNSS RTK differential observations of one of the satellite receivers. This solution is justified because, despite determination of the navigation parameters in the same measurement epoch at various points of the railway track The study area is situated in zone 6 of the PL-2000 system with an axial meridian of 18 • . Determination of the satellite compass accuracy in variable urban conditions involved calculation of the position and course error relative to the reference value based on the GNSS RTK differential observations of one of the satellite receivers. This solution is justified because, despite determination of the navigation parameters in the same measurement epoch at various points of the railway track axis, it was possible to develop an algorithm which assigned satellite observations of both devices according to the criterion of position. To be more precise, the frequency of 20 Hz of the RTK reference measurements enabled a quality assessment of each observation recorded by the satellite compass to be performed. This solution is presented in Figure 5. To be more precise, the frequency of 20 Hz of the RTK reference measurements enabled a quality assessment of each observation recorded by the satellite compass to be performed. This solution is presented in Figure 5. An increased frequency of the reference measurement translated to the mean distance of 0.20 m between consecutive determination of the tramway track position at a mean vehicle velocity of 15 km/h. Furthermore, the frequency of the satellite compass measurement of 1 Hz ensured that consecutive observations would be recorded at a linear interval of ca. 4 m. Therefore, with the right methodology, it was possible to select a reliable sample of reference data from the GNSS receiver observation set. The Python language software used two input text files containing selected and processed data from NMEA messages (satellite compass) and the GNSS measurement report (GNSS receiver). The first input file contained satellite compass observations ( Table 2). Each observation recorded with frequency of 1 Hz and saved as a NMEA 0183 message was converted into a single data line with a unique identifier of measurement data IDpom. The curvilinear geodetic coordinates (latitude and longitude) were converted to the coordinates xPL-2000, yPL-2000 of the PL-2000 coordinate system. The orthometric height HOrt from the $GPGGA message and the observation time from the $GPZDA was saved in the data record. It also contained the number of satellites used for the compass positional solution (SVs), HDOP and two course values (HDG1 and HDG2) from the $GPHDT message. The information about the course was placed in the data record twice, as the $GPHDT message does not contain the time identifier. Therefore, an approach was applied which includes the use of the readings for the preceding and following courses relative to the successive messages $GPZDA, $GPGGA and $GPGLL.
The input file for the program, with the reference data from the satellite receiver measurements An increased frequency of the reference measurement translated to the mean distance of 0.20 m between consecutive determination of the tramway track position at a mean vehicle velocity of 15 km/h. Furthermore, the frequency of the satellite compass measurement of 1 Hz ensured that consecutive observations would be recorded at a linear interval of ca. 4 m. Therefore, with the right methodology, it was possible to select a reliable sample of reference data from the GNSS receiver observation set. The Python language software used two input text files containing selected and processed data from NMEA messages (satellite compass) and the GNSS measurement report (GNSS receiver). The first input file contained satellite compass observations ( Table 2). Each observation recorded with frequency of 1 Hz and saved as a NMEA 0183 message was converted into a single data line with a unique identifier of measurement data ID pom . The curvilinear geodetic coordinates (latitude and longitude) were converted to the coordinates x PL-2000 , y PL-2000 of the PL-2000 coordinate system. The orthometric height H Ort from the $GPGGA message and the observation time from the $GPZDA was saved in the data record. It also contained the number of satellites used for the compass positional solution (SVs), HDOP and two course values (HDG 1 and HDG 2 ) from the $GPHDT message. The information about the course was placed in the data record twice, as the $GPHDT message does not contain the time identifier. Therefore, an approach was applied which includes the use of the readings for the preceding and following courses relative to the successive messages $GPZDA, $GPGGA and $GPGLL.
The input file for the program, with the reference data from the satellite receiver measurements conducted at the frequency of 20 Hz, had the structure shown in Table 3. Similarly to the file with satellite compass data, each observation for the reference satellite receiver was assigned a unique identifier ID ref . A data record consisted of point coordinates in the PL-2000 system (y PL-2000 , y PL-2000 ) and a normal height (H N ) calculated from the ellipsoidal height (h el ), taking into account the value of undulation interpolated from the geoid model by the GNSS receiver. Determination of the satellite compass positioning error involved projecting the point determined by the satellite compass onto a curve made up by the reference observations (further referred to as the track axis to make the description simpler). Since the deviations of the points from the track were relatively small, no approximation of the local curve course was made and a simplified approach was used which involved identification of the nearest point from the reference set and determination of the distance between two points. The problem was solved by applying two hierarchically placed loops.
where: m d -positioning linear error, x P , y P -rectangular coordinates of the point measured by the satellite compass, x re f , y re f -rectangular coordinates of the reference point measured by the satellite receiver.
Error calculation for the course determination by the satellite compass was performed by comparing the value determined by the device with the azimuth of the tangent to the track axis at the reference point. Having a record identifier ID ref from the reference file, the software was able to create a subordinate set of reference points based on which the line parameters and the azimuth were defined. A limit radius length of 0.5 m was applied. Considering the mean distance between reference points of 0.20 m, the adopted radius length ensured there was a sufficient sample size, which provided the basis for approximation of the tangent to the tramway track curve by using the least squares method. The known parameters of the tangent (the slope) can be used to determine the line azimuth, which is further used as the comparative reference value for the course saved in the $GPHDT message. The diagram of selection and approximation is shown in Figure 6. defined. A limit radius length of 0.5 m was applied. Considering the mean distance between reference points of 0.20 m, the adopted radius length ensured there was a sufficient sample size, which provided the basis for approximation of the tangent to the tramway track curve by using the least squares method. The known parameters of the tangent (the slope) can be used to determine the line azimuth, which is further used as the comparative reference value for the course saved in the $GPHDT message. The diagram of selection and approximation is shown in Figure 6.  The tangent parameters (slope and intercept) were determined with the polyfit function of the SciPy Python library. The function fits a polynomial of the predefined degree into a set of points. In the case in point, it is a straight line, so it is a first degree polynomial. Therefore, the Vandermonde matrix used in the estimation [29] is a two-column matrix. The error minimisation is the alignment criterion [30]: where: E-error (linear distance of a point from the straight line being estimated), p-Vandermonde matrix, x j , y j -rectangular coordinates of the points being fitted in (here: PL-2000 system coordinates).
The polyfit function returns the slope value and the intercept. According to the definition, the slope is the tangent of the left-hand angle between a line and the OX axis of the mathematical coordinate system [31]. The accuracy of the course parameter determined by the satellite compass and the azimuth are right-hand angles counted from the northward direction (the OY axis in the mathematical coordinate system). Additionally, the relative position of the start and end point of the line is important for the azimuth. In order to determine the azimuth at a given track axis point, it is necessary to introduce conditions for coordinates increments of the extreme points of a reference sample and to recalculate the slope value accordingly (4). The conditional formula retains the mathematical axes arrangement-OX eastwards, OY northwards. where: Az-azimuth of the tramway track axis at point P under examination, a st -slope of the track axis tangent, dx-increment of eastern rectangular coordinates of the PL-2000 system (y PL-2000 ), dy-increment of northern rectangular coordinates of the PL-2000 system (x PL-2000 ), The curvilinear shape of projected meridians in the Gauss-Krüger projection and in the PL-2000 coordinate system should be taken into account in determination of the real azimuth of the tramway track axis. Therefore, the azimuth value calculated with formula (4) must be adjusted to include the effect of convergence [28]. Elimination of the convergence effect involves taking into account the negative value of the direction angle of a meridian (or the OX axis of the conventional primary system) in the projectional plane system (secondary). The effect of convergence is shown in Figure 7.
The correction for the direction reduction was omitted because of the very small distances between the extreme points of reference point subsets. Convergence depends both on the geodetic latitude and longitude and it is calculated with the formula [32]: where: Considering the small analysis area, the convergence was calculated for the area centre of gravity and the value of  = 0.51° was obtained, which was adopted as the constant value for the whole study area. Knowing the reference value of azimuth Az and convergence  , one can compare it with the course HDG saved in the $GPHDT message and determine the error of course determination by using the satellite compass: Having the values of height determined by the satellite compass (HOrt) and by using the reference satellite receiver (HN), the height error (mH) could be determined. A simplifying assumption was made which involved comparing the normal height and the orthometric height due to the assumption of a large similarity of the geoid and the quasigeoid in the area under analysis.
The last operation in the secondary loop was used to save the results in the output text file with the structure presented in Table 4. Each record of the file data was marked with an identifier (IDpom  Convergence depends both on the geodetic latitude and longitude and it is calculated with the formula [32]: where: γ-convergence, l-difference between the geographic longitude of the point and the geographic longitude of the zone axial meridian, B-geodetic latitude of point P under examination, e -second eccentricity of GRS80 ellipsoid. Considering the small analysis area, the convergence was calculated for the area centre of gravity and the value of γ = 0.51 • was obtained, which was adopted as the constant value for the whole study area. Knowing the reference value of azimuth Az and convergence γ, one can compare it with the course HDG saved in the $GPHDT message and determine the error of course determination by using the satellite compass: m HDG = HDG − (Az + γ).
Having the values of height determined by the satellite compass (H Ort ) and by using the reference satellite receiver (H N ), the height error (m H ) could be determined. A simplifying assumption was made which involved comparing the normal height and the orthometric height due to the assumption of a large similarity of the geoid and the quasigeoid in the area under analysis.
The last operation in the secondary loop was used to save the results in the output text file with the structure presented in Table 4. Each record of the file data was marked with an identifier (ID pom ) and flat coordinates (  A total of 2039 records were obtained and taken for the final conclusions from the study. A statistical error analysis for the position, course, and height determination was conducted based on the sample and the results are provided in the next chapter of the paper.

Results and Discussion
Errors of positioning by the Furuno SC-50 satellite compass of the relative reference route measured by the geodetic satellite receiver by the RTK differential method are shown in Figure 8. The greatest positioning errors occurred in the last section of the test route loop which runs among buildings close to the track (Figure 2), where values approaching 7.5 m were recorded. The error in a great majority of position determinations was not larger than 1 m (see the histogram on the right of the legend to Figure 8). There were sections with higher errors in some parts of the north-eastward test route. It is noteworthy that there were roadside trees and buildings in this section. One can also observe that the positioning error with a compass can increase locally when the tramway changes directions on bends. This may be caused by the Kalman filter algorithm, which is widely used in devices used for navigation and positioning.  A total of 2039 records were obtained and taken for the final conclusions from the study. A statistical error analysis for the position, course, and height determination was conducted based on the sample and the results are provided in the next chapter of the paper.

Results and Discussion
Errors of positioning by the Furuno SC-50 satellite compass of the relative reference route measured by the geodetic satellite receiver by the RTK differential method are shown in Figure 8. The greatest positioning errors occurred in the last section of the test route loop which runs among buildings close to the track (Figure 2), where values approaching 7.5 m were recorded. The error in a great majority of position determinations was not larger than 1 m (see the histogram on the right of the legend to Figure 8). There were sections with higher errors in some parts of the north-eastward test route. It is noteworthy that there were roadside trees and buildings in this section. One can also observe that the positioning error with a compass can increase locally when the tramway changes directions on bends. This may be caused by the Kalman filter algorithm, which is widely used in devices used for navigation and positioning. A listing of the number of observations with specific errors and the basic statistical data for a sample is shown in Figure 9. A listing of the number of observations with specific errors and the basic statistical data for a sample is shown in Figure 9. The error distribution for the course of the device under study is shown in Figure 10. The majority of the observations did not exceed an error of 10°. The errors were similar in the test sections, along which there were no sudden changes of direction. It must be stressed that the greatest course errors, which occurred along Gdańska Street (Figure 2), were smaller in the other tramway passages. Considering that worse accuracy parameters were maintained nearly throughout the whole straightline section, this may suggest that they can be attributed to an unfavourable constellation of the GPS satellites. The histogram and the basic statistical data for the sample are shown in Figure 11.  Due to the significant exceeding of the course accuracy threshold value provided by the compass manufacturer, an additional analysis was carried out to confirm the obtained result. The check consisted of two independent calculations. The first control analysis used the algorithm presented with the formulas (3)-(6), with the difference that the determination of the slope coefficient ast in the The error distribution for the course of the device under study is shown in Figure 10. The majority of the observations did not exceed an error of 10 • . The errors were similar in the test sections, along which there were no sudden changes of direction. It must be stressed that the greatest course errors, which occurred along Gdańska Street (Figure 2), were smaller in the other tramway passages. Considering that worse accuracy parameters were maintained nearly throughout the whole straight-line section, this may suggest that they can be attributed to an unfavourable constellation of the GPS satellites. The histogram and the basic statistical data for the sample are shown in Figure 11. The error distribution for the course of the device under study is shown in Figure 10. The majority of the observations did not exceed an error of 10°. The errors were similar in the test sections, along which there were no sudden changes of direction. It must be stressed that the greatest course errors, which occurred along Gdańska Street (Figure 2), were smaller in the other tramway passages. Considering that worse accuracy parameters were maintained nearly throughout the whole straightline section, this may suggest that they can be attributed to an unfavourable constellation of the GPS satellites. The histogram and the basic statistical data for the sample are shown in Figure 11.  Due to the significant exceeding of the course accuracy threshold value provided by the compass manufacturer, an additional analysis was carried out to confirm the obtained result. The check consisted of two independent calculations. The first control analysis used the algorithm presented with the formulas (3)-(6), with the difference that the determination of the slope coefficient ast in the The error distribution for the course of the device under study is shown in Figure 10. The majority of the observations did not exceed an error of 10°. The errors were similar in the test sections, along which there were no sudden changes of direction. It must be stressed that the greatest course errors, which occurred along Gdańska Street (Figure 2), were smaller in the other tramway passages. Considering that worse accuracy parameters were maintained nearly throughout the whole straightline section, this may suggest that they can be attributed to an unfavourable constellation of the GPS satellites. The histogram and the basic statistical data for the sample are shown in Figure 11.  Due to the significant exceeding of the course accuracy threshold value provided by the compass manufacturer, an additional analysis was carried out to confirm the obtained result. The check consisted of two independent calculations. The first control analysis used the algorithm presented with the formulas (3)-(6), with the difference that the determination of the slope coefficient ast in the  The second stage of the control analysis consisted in comparing the satellite compass course readings on 11 straight sections of the route. Geometric parameters of straight sections were obtained by fitting a straight line into a set of two-dimensional points by using the least squares method [12]. Within each of the control sections, the azimuth value was determined, which was compared with the average azimuth calculated in accordance with the algorithm (3)-(4) for the compass observations along the reference line. The location of rectilinear control sections is shown in Figure 13. The results of the second control analysis are presented in Table 5. The column "Line azimuth" contains the value of azimuths of the straight line test sections. The "Estimated azimuth" column shows the corresponding average azimuth value obtained in the controlled analysis ( Figure 10) limited to the compass readings recorded along the tested line (Figure 13b). Again, the results confirmed the correctness of the results obtained in the first calculation. The average azimuth values obtained by the estimation presented in the formula (3) do not differ by more than 0.06° from the corresponding azimuth values that are appropriate for straight sections of the tram track. Therefore, when comparing the error values of the compass heading ( Figure 11) with the above azimuth deviation of 0.06°, it is legitimate to assume that the error values obtained were determined correctly. The second stage of the control analysis consisted in comparing the satellite compass course readings on 11 straight sections of the route. Geometric parameters of straight sections were obtained by fitting a straight line into a set of two-dimensional points by using the least squares method [12]. Within each of the control sections, the azimuth value was determined, which was compared with the average azimuth calculated in accordance with the algorithm (3)-(4) for the compass observations along the reference line. The location of rectilinear control sections is shown in Figure 13.  The second stage of the control analysis consisted in comparing the satellite compass course readings on 11 straight sections of the route. Geometric parameters of straight sections were obtained by fitting a straight line into a set of two-dimensional points by using the least squares method [12]. Within each of the control sections, the azimuth value was determined, which was compared with the average azimuth calculated in accordance with the algorithm (3)-(4) for the compass observations along the reference line. The location of rectilinear control sections is shown in Figure 13. The results of the second control analysis are presented in Table 5. The column "Line azimuth" contains the value of azimuths of the straight line test sections. The "Estimated azimuth" column shows the corresponding average azimuth value obtained in the controlled analysis ( Figure 10) limited to the compass readings recorded along the tested line (Figure 13b). Again, the results confirmed the correctness of the results obtained in the first calculation. The average azimuth values obtained by the estimation presented in the formula (3) do not differ by more than 0.06° from the corresponding azimuth values that are appropriate for straight sections of the tram track. Therefore, when comparing the error values of the compass heading ( Figure 11) with the above azimuth deviation of 0.06°, it is legitimate to assume that the error values obtained were determined correctly. The results of the second control analysis are presented in Table 5. The column "Line azimuth" contains the value of azimuths of the straight line test sections. The "Estimated azimuth" column shows the corresponding average azimuth value obtained in the controlled analysis ( Figure 10) limited to the compass readings recorded along the tested line (Figure 13b). Again, the results confirmed the correctness of the results obtained in the first calculation. The average azimuth values obtained by the estimation presented in the formula (3) do not differ by more than 0.06 • from the corresponding azimuth values that are appropriate for straight sections of the tram track. Therefore, when comparing the error values of the compass heading ( Figure 11) with the above azimuth deviation of 0.06 • , it is legitimate to assume that the error values obtained were determined correctly. These course determination errors are absolute values of leftward or rightward tilts relative to the current journey direction. Figure 14 contains information on the errors broken down into two sides: left (negative) and right (positive). Considering the study which is the subject of this paper (a specified test route, variable directions, and length of partial sections), the results are a special case and it would not be justified to draw general conclusions. However, it is interesting that there is a majority of positive errors for course determination with a satellite compass.  These course determination errors are absolute values of leftward or rightward tilts relative to the current journey direction. Figure 14 contains information on the errors broken down into two sides: left (negative) and right (positive). Considering the study which is the subject of this paper (a specified test route, variable directions, and length of partial sections), the results are a special case and it would not be justified to draw general conclusions. However, it is interesting that there is a majority of positive errors for course determination with a satellite compass. Switching from the horizontal to the vertical dimension, the following is a result of accuracy analysis for height determination by the device under study (Figure 15). All errors, except for the 1 Switching from the horizontal to the vertical dimension, the following is a result of accuracy analysis for height determination by the device under study ( Figure 15). All errors, except for the 1 cm deviations from full metres, exceed 27 m and reach 51 m. More detailed statistical data are presented next to the histogram ( Figure 16).   Relatively small standard deviations for the data indicate that there is a constant systematic error in all the observations. According to the author, the ellipsoid height may not have been converted to orthometric or normal height. The distance between the geoid and the ellipsoid of revolution WGS84 in the area under study would be about 29.35 m ( Table 3). After the correction is taken into account, the determination errors would be much smaller, which indicates a potential cause of low accuracy.
The GPS satellite constellation changed during the nearly two-hour measurement. Its distribution is demonstrated by the number of available satellites and the HDOP. The first parameter is shown in Figure 17. The histogram was presented in Figure 18. In the majority of cases, the satellite compass received a signal from seven satellites, although also slightly less frequently from six or eight satellites. The highest values of this parameter were recorded in sections with a small number of trees or buildings obscuring the satellite signal (Józef Haller Avenue and Maciej Płażyński Avenue). Four is the minimum number of available satellites, which-according to the literature-is the necessary condition for positioning.   Relatively small standard deviations for the data indicate that there is a constant systematic error in all the observations. According to the author, the ellipsoid height may not have been converted to orthometric or normal height. The distance between the geoid and the ellipsoid of revolution WGS84 in the area under study would be about 29.35 m ( Table 3). After the correction is taken into account, the determination errors would be much smaller, which indicates a potential cause of low accuracy.
The GPS satellite constellation changed during the nearly two-hour measurement. Its distribution is demonstrated by the number of available satellites and the HDOP. The first parameter is shown in Figure 17. The histogram was presented in Figure 18. In the majority of cases, the satellite compass received a signal from seven satellites, although also slightly less frequently from six or eight satellites. The highest values of this parameter were recorded in sections with a small number of trees or buildings obscuring the satellite signal (Józef Haller Avenue and Maciej Płażyński Avenue). Four is the minimum number of available satellites, which-according to the literature-is the necessary condition for positioning. Relatively small standard deviations for the data indicate that there is a constant systematic error in all the observations. According to the author, the ellipsoid height may not have been converted to orthometric or normal height. The distance between the geoid and the ellipsoid of revolution WGS84 in the area under study would be about 29.35 m ( Table 3). After the correction is taken into account, the determination errors would be much smaller, which indicates a potential cause of low accuracy.
The GPS satellite constellation changed during the nearly two-hour measurement. Its distribution is demonstrated by the number of available satellites and the HDOP. The first parameter is shown in Figure 17. The histogram was presented in Figure 18. In the majority of cases, the satellite compass received a signal from seven satellites, although also slightly less frequently from six or eight satellites. The highest values of this parameter were recorded in sections with a small number of trees or buildings obscuring the satellite signal (Józef Haller Avenue and Maciej Płażyński Avenue). Four is the minimum number of available satellites, which-according to the literature-is the necessary condition for positioning.  The final analysis concerned the HDOP. The distribution of the parameter values is shown in Figure 19. A detailed histogram is shown in Figure 20. The mean for the sample is 2.25 with a standard deviation of 0.080, which indicates that there were favourable conditions regarding the geometric satellite constellation for conducting measurements in the area. The highest values of the HDOP index were calculated for the northern section of the test route running through densely built-up areas.  The final analysis concerned the HDOP. The distribution of the parameter values is shown in Figure 19. A detailed histogram is shown in Figure 20. The mean for the sample is 2.25 with a standard deviation of 0.080, which indicates that there were favourable conditions regarding the geometric satellite constellation for conducting measurements in the area. The highest values of the HDOP index were calculated for the northern section of the test route running through densely built-up areas. The final analysis concerned the HDOP. The distribution of the parameter values is shown in Figure 19. A detailed histogram is shown in Figure 20. The mean for the sample is 2.25 with a standard deviation of 0.080, which indicates that there were favourable conditions regarding the geometric satellite constellation for conducting measurements in the area. The highest values of the HDOP index were calculated for the northern section of the test route running through densely built-up areas.
The results proved that the device partially fulfilled the producer's specification regarding the device accuracy in the measurement conditions. The positioning error did not exceed 7.5 m, with the vast majority of errors below 1.5 m. The positioning error without DGPS corrections was 10 m. The compass height error ranged from 27 to 51 m. Such a large error may indicate that the geoid model was not used in height determination. The course error did not exceed 10.5 • in half of the measurements, with the largest error set containing values ranging from 0 to 3.6 • . These values exceeded the level of 0.5 • declared in the specification. However, one should take into account more difficult measurement conditions than the standard conditions at sea and full visibility of the sky.  The results proved that the device partially fulfilled the producer's specification regarding the device accuracy in the measurement conditions. The positioning error did not exceed 7.5 m, with the vast majority of errors below 1.5 m. The positioning error without DGPS corrections was 10 m. The compass height error ranged from 27 to 51 m. Such a large error may indicate that the geoid model was not used in height determination. The course error did not exceed 10.5° in half of the measurements, with the largest error set containing values ranging from 0 to 3.6°. These values exceeded the level of 0.5° declared in the specification. However, one should take into account more difficult measurement conditions than the standard conditions at sea and full visibility of the sky.

Conclusions
Test measurements of the Furuno SC-50 satellite compass were conducted at night on 28/29 November as part of the measurement campaign conducted as part of the InnoSatTrack research project. An atypical device working environment-an urban setting-was a significant feature of the experiment. The measurements were conducted on a tramway track in Gdańsk Brzeźno. The route was a closed loop consisting of four sections of various degrees of sky visibility (due to the presence of, for example, trees and buildings). The objective of the experiment was to empirically determine the error of positioning and course determination with a satellite compass. The results were compared to a reference route measured with a precision two-frequency receiver operating in the GNSS RTK differential mode, ensuring centimetre accuracy for determining individual points on the track axis. The proposed methodology included an evaluation of positioning accuracy based on the distance to the nearest points of the reference route. The course determination by a compass was evaluated by approximation by the least squares method of the parameters of the track axis tangent  The results proved that the device partially fulfilled the producer's specification regarding the device accuracy in the measurement conditions. The positioning error did not exceed 7.5 m, with the vast majority of errors below 1.5 m. The positioning error without DGPS corrections was 10 m. The compass height error ranged from 27 to 51 m. Such a large error may indicate that the geoid model was not used in height determination. The course error did not exceed 10.5° in half of the measurements, with the largest error set containing values ranging from 0 to 3.6°. These values exceeded the level of 0.5° declared in the specification. However, one should take into account more difficult measurement conditions than the standard conditions at sea and full visibility of the sky.

Conclusions
Test measurements of the Furuno SC-50 satellite compass were conducted at night on 28/29 November as part of the measurement campaign conducted as part of the InnoSatTrack research project. An atypical device working environment-an urban setting-was a significant feature of the experiment. The measurements were conducted on a tramway track in Gdańsk Brzeźno. The route was a closed loop consisting of four sections of various degrees of sky visibility (due to the presence of, for example, trees and buildings). The objective of the experiment was to empirically determine the error of positioning and course determination with a satellite compass. The results were compared to a reference route measured with a precision two-frequency receiver operating in the GNSS RTK differential mode, ensuring centimetre accuracy for determining individual points on the track axis. The proposed methodology included an evaluation of positioning accuracy based on the distance to the nearest points of the reference route. The course determination by a compass was evaluated by approximation by the least squares method of the parameters of the track axis tangent

Conclusions
Test measurements of the Furuno SC-50 satellite compass were conducted at night on 28/29 November as part of the measurement campaign conducted as part of the InnoSatTrack research project. An atypical device working environment-an urban setting-was a significant feature of the experiment. The measurements were conducted on a tramway track in Gdańsk Brzeźno. The route was a closed loop consisting of four sections of various degrees of sky visibility (due to the presence of, for example, trees and buildings). The objective of the experiment was to empirically determine the error of positioning and course determination with a satellite compass. The results were compared to a reference route measured with a precision two-frequency receiver operating in the GNSS RTK differential mode, ensuring centimetre accuracy for determining individual points on the track axis. The proposed methodology included an evaluation of positioning accuracy based on the distance to the nearest points of the reference route. The course determination by a compass was evaluated by approximation by the least squares method of the parameters of the track axis tangent at the assigned reference point. The authors for this study developed software in the Python language; the program used input files with observations of the compass under study and the reference receiver. The Furuno SC-50 ensures reliable determination of the horizontal position in an urban setting (mean error of 1.5 m). The altitude coordinate has a considerable systematic error of several dozen meters. The course indicated by the device in the urban environment exceeds the values specified by the producer by several-fold.