1.1. General Framework
Orientation to the north is widely recognized as a standard practice across numerous fields and applications due to its ability to establish a consistent and common reference direction. This alignment simplifies the interpretation of spatial data and facilitates communication among diverse users. Why specifically the north as a reference? Addressing this question is beyond the scope of this work, as it would require considering numerous historical aspects that extend beyond purely technical factors. Readers are referred to insightful books such as [
1,
2]. Instead, this work takes as its starting point the fact that the north has become an established reference, both in various technical disciplines and beyond, on an international level.
The concept of the north direction is fundamental in both historical and modern applications, serving as a key reference in navigation and cartography. This idea has been integral to the development of various disciplines throughout history and remains crucial in contemporary practices. For instance, in navigation, north orientation is essential for determining direction and plotting courses. Before the advent of the GNSS (global navigation satellite system) and other advanced navigational technologies, sailors primarily depended on celestial navigation to traverse the oceans [
3,
4,
5]. Celestial navigation is deeply linked to astronomical measurements and spherical trigonometry, which have been fundamental tools for surveyors. Its enduring significance highlights the continuity of this concept across time.
North orientation is an essential element in modern disciplines ranging from geospatial analysis and urban planning to engineering and architectural projects, such as digital documentation. Orientation plays a critical role in archaeology, influencing the documentation, analysis, and interpretation of archaeological sites, artifacts, and landscapes. True north holds a fundamental role in archaeoastronomy [
6]. Including a north arrow in plans is a common and standard practice. This simple yet essential symbol provides a consistent reference for interpreting the orientation of the depicted features. Nowadays, maps are almost universally oriented with north, which serves as a standardized framework for spatial analysis. When using modern GNSSs (global navigation satellite systems), north orientation provides a natural and universal basis for spatial reference, ensuring consistency in the collection, analysis, and presentation of geographic data. Astronomy, geospatial sciences, geography, geophysics, remote sensing, environmental sciences, etc.—the list of disciplines where this convention has become a standard practice is too extensive to cover exhaustively.
In surveying and mapping, north orientation is fundamentally related to the concept of azimuth, as both are integral to defining directions. North (particularly true north) serves as the fixed reference from which azimuths are calculated. Azimuth is defined as the angle measured clockwise from the meridian to the point of interest on the horizon. Different types of meridians are used to define azimuths, each suited for specific purposes. These include astronomic, geodetic, and grid meridians [
7]. Converting between these azimuths requires understanding the specific relationships related to the Earth’s shape and map projections. Specifically, the Laplace equation enables the conversion of azimuths between geodetic and astronomical azimuths [
8]. Meridian convergence, also known as grid convergence, allows for the conversion between geodetic coordinates and grid coordinates [
9].
Historically, the concept of azimuth is closely tied to both astronomy and field astronomy in the context of surveying [
10]. The practical connection between astronomy and surveying emerged from the fundamental need to establish positions and directions in the field. Surveyors working on the ground traditionally used astronomical observations to orient their measurements and create reliable reference points. Astronomical measurements have played a fundamental role in the development of modern surveying techniques, laying the foundation for contemporary surveying techniques and providing the methods and concepts that continue to guide measurement and mapping today. Before the advent of modern technology like GPS (Global Positioning System) or other GNSSs, surveyors relied heavily on star observations to determine positions and directions on Earth.
However, it is not widely known today that astronomical methods for azimuth determination remain some of the most accurate techniques available. At the same time, these methods directly provide true north, offering a unique advantage over other modern techniques. While satellite-based technologies have revolutionized surveying practices, the accuracy and reliability of astronomical observations continue to be unparalleled in certain contexts. Overall, this method is not only valuable for historical reasons but also holds practical significance in specific applications requiring high-precision surveying.
Before moving on to the next section addressing the scope of this work, one final consideration deserves mention. In this manuscript,
magnetic azimuth is not addressed, as the focus is on ‘true’ north orientation and azimuths measured relative to true north. Magnetic azimuths, which are based on magnetic north, can be measured using a compass, but they typically have lower precision (ranging from 1° to 5°) compared to other surveying methods. Since magnetic north differs from true north due to magnetic declination, a correction must be applied to obtain directional measurements relative to true north. The declination value varies by location and time, making it crucial to account for this difference when converting magnetic azimuth to true azimuth. The World Magnetic Model (WMM) provides a global representation of the Earth’s magnetic field and is used to calculate magnetic declination and other geomagnetic parameters worldwide [
11]. The correction for magnetic declination can vary significantly depending on geographic location and time, ranging from nearly 0° to more than 20° (
Figure 1). In areas near the magnetic poles, such as parts of Canada or Russia, declination can be very high, reaching 30° or more.
1.2. Scope of This Work
While astronomical measurements were once crucial in surveying for determining position and orientation, the development of faster and more automatic GNSS solutions [
12] has largely replaced the need for these traditional methods in modern surveying practices.
GNSS measurements provide highly accurate position data and, particularly with advanced techniques such as differential GPS (DGPS) and real-time kinematic (RTK), can achieve positional accuracies down to a few centimeters or even a few millimeters [
13]. This level of accuracy in positions generally surpasses what can be obtained through traditional astronomical methods, especially for routine surveying tasks.
Determining azimuths using GNSSs can also be highly accurate when using specialized equipment and differential acquisition. Different GNSS methods can yield azimuths with very high metric accuracy, depending on the baseline length [
14] and techniques used. However, traditional astronomical methods for determining azimuths, which rely on observations of celestial bodies, can be even more accurate, often achieving accuracies of a few arcseconds or even less than 1 arcsecond. These methods, however, require clear skies, careful observation, and advanced calculations, which can lead to errors if not performed with meticulous attention to detail. The reader is referred to [
15,
16,
17,
18,
19,
20,
21] for a review and discussion on various methods for determining astronomical azimuths and their diverse applications across different fields.
The main objective of this work is to simplify complex calculations by offering Python-implemented functions along with an intuitive graphical interface. This approach allows surveyors to make precise observations under favorable sky visibility conditions, achieving astronomical azimuths with accuracies within a few arcseconds, depending on the operator’s skill and the equipment used. The operator only needs a total station with a diagonal eyepiece, an application to obtain precise UTC time (which can be sourced from various mobile or desktop applications that use NTP servers or GPS time, or external radio-controlled clocks), and a stopwatch with a split function. Furthermore, Python’s open-source nature fosters collaboration and innovation, making advanced astronomical tools accessible to a wider audience and encouraging ongoing improvements. An image illustrating the overall workflow and interface for planet observation is presented in
Figure 2. The script is a Tkinter-based GUI application designed to compute the azimuth and altitude of celestial objects. While azimuth is the primary focus, representing the horizontal angle between the observer’s meridian and the celestial body, the script also calculates altitude angles. These are crucial for astrogeodetic applications, including zenith angle determination. Furthermore, the program incorporates atmospheric corrections, adjusting altitude values based on temperature and pressure to enhance accuracy in real-world observations.
At the same time, the author would like to underline the historical importance of field astronomy for surveyors, an essential discipline that shaped the development of surveying techniques over time. Astronomical measurements involved the precise measurement of celestial bodies to determine coordinates and directions and establish reference points. This process was fundamental for experts, such as surveyors and cartographers, who relied on astronomical observations to map and chart vast territories. These methods laid the foundations for numerous disciplines, including physics, mathematics, statistics, calculus, astronomy, geography, engineering, navigation, and even environmental science, all of which have been critical to the advancement of science and technology.
The method described in this paper and facilitated by the Python scripts also holds practical significance for azimuth determination using basic surveying equipment. The work presented by [
22] has already shown that highly accurate measurements can be achieved by observing Polaris, even with standard total stations (angle precision of 5–7 arcseconds).
However, Polaris is only visible from the Northern Hemisphere. Near the equator, Polaris lies very close to the horizon, making accurate observation challenging. The implemented codes provide the azimuth of stars, four planets (Venus, Mars, Jupiter, Saturn), and the Moon. The user simply has to input the observation location (astronomical latitude
and longitude
) and UTC in the implemented graphic interface, obtaining the astronomical azimuth
A of the selected body. Then, basic calculations using the horizontal circle readings
taken with the total station with a (terrestrial) reference target
P will provide the astronomical azimuth
between the station point
S and the target
P. The user also needs the horizontal angle with the considered celestial body
. Using the configuration shown in
Figure 3, the astronomical azimuth can be calculated as
. This formula can be easily adapted to other configurations.
Stars are usually the primary choice for accurate measurements but, for the sake of completeness and considering the brightness of various celestial bodies (and the related visibility issues in specific areas, especially with significant light pollution), the code has been extended to include certain planets and the Moon. For example, Venus can reach a magnitude of −4.9, making it more luminous than any star. Jupiter, with a maximum magnitude of −2.9, also surpasses the brightness of most stars, including Sirius, which has a magnitude of −1.46. Mars can reach a magnitude of −2.9, comparable to that of Jupiter. Saturn, with a magnitude of around −0.5, is less bright but still exceeds the brightness of many stars. The Moon, however, is the most luminous, with a visual magnitude ranging from −12.7 to −13.5, significantly exceeding the brightness of any planet or star. The work of [
23] demonstrated that the Moon can serve as a reliable alternative when stars are not visible.
The code is also suitable for planning observations, as it employs error propagation to estimate the uncertainty in the derived azimuth. This uncertainty arises from the input parameters’ uncertainties, specifically the hour angle and latitude . The uncertainty in declination can be neglected, as the Skyfield library provides highly accurate celestial data, making the associated error negligible in our calculations. Indeed, the precision of the Hipparcos Catalogue is at the level of milliarcseconds, ensuring highly accurate positional data.
Accurate timing is essential for these measurements, as it significantly impacts the hour angle. The uncertainty in position is considered in this context because it is more practical and convenient to measure geodetic coordinates
using a GPS rather than taking complex astronomical measurements to determine astronomical coordinates
. The difference between these two types of positions is the deflection of the vertical
. If a geoid model is available, the correction can be applied as
and
. Different local geoid models are available on the International Service for the Geoid (ISG) webpage at
https://www.isgeoid.polimi.it/Geoid/reg_mod.html, accessed on 5 March 2025. Global gravity field models can be found on the International Centre for Global Earth Models (ICGEM) website at
https://icgem.gfz-potsdam.de/tom_longtime (accessed on 5 March 2025) which also offers a calculation service for computing the deflection of the vertical.
However, this process introduces uncertainties. The code allows for the inclusion of errors in and , representing the potential uncertainties in the astronomical coordinates derived from the geodetic measurements. The error in directly affects the hour angle since the hour angle is determined by the difference between the observer’s local sidereal time and the right ascension of the celestial object. In this way, the user can simulate the error associated with the absence of a reliable correction for the deflection of the vertical, while also selecting optimal celestial bodies and the best times for measurement to minimize these errors.
A final consideration deserves to be mentioned before moving to the next sections. The Sun is not currently incorporated in this work, but the proposed code can be extended to include it for azimuth determination. The Sun offers the clear advantage of being visible during the day and has minimal parallax (approximately ), which is manageable since the code already accounts for topocentric observations. However, using the Sun requires a solar filter for the total station, which typically costs around USD 200–300 (or more). Alternatively, a Roelofs prism would be an ideal solution for solar observations. As most users may not have this equipment, the current version of the Python code does not include solar observations, but this feature can be easily added in future updates.