# Uses Of Field Astronomy in surveying¶

## Example 5.1,Page 174¶

In [1]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
#printing result in degree minute and seconds respectively
l1=11.5;
l2=13.5;
r1=8.5;
r2=6.5;
alpha=3+15.0/60+28.0/3600;
OB=121+45.0/60+18.0/3600;
OA=43+25.0/60+20.51/3600;

#calculation
gamma=(l1+l2)/4-(r1+r2)/4;
e=gamma*tan(alpha*pi/180)/3600; #correction
CH=OB-OA-e;
CH=deg_to_dms(CH);

#result
print "corrected horizontal angle in deg,min,sec respectively",CH

corrected horizontal angle in deg,min,sec respectively [78, 19, 57.35]


## Example 5.2,Page 184¶

In [1]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
alpha=30+32.0/60+18.0/3600;#latitude
d=16.0/60+2.85/3600; #diameter of sun

#calculation
C1=-58.0/3600/tan(alpha*pi/180);
C2=8.8/3600*cos(alpha*pi/180);
C3=d;
CL=alpha+C1+C2+C3;
CL=deg_to_dms(CL);

#result
print "corrected latutude in deg,min,sec respectively",CL

corrected latutude in deg,min,sec respectively [30, 46, 50.12]


## Example 5.3,Page 184¶

In [2]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
alpha=40+52.0/60+10.0/3600;#latitude

#calculation
C1=-58.0/3600/tan(alpha*pi/180);
CL=alpha+C1;
CL=deg_to_dms(CL);

#result
print "corrected latutude in deg,min,sec respectively",CL

corrected latutude in deg,min,sec respectively [40, 51, 2.97]


## Example 5.4,Page 197¶

In [3]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
LMT=21+23.0/60+05.0/3600; #local chronometer time
Long=65.0+19.0/60; #longitude
GST=13+15.0/60+20.0/3600;
RA=9+32.0/60+15.0/3600;
Long2=82.0+30.0/60; #longitude of India

#calculation
e1=Long/15*9.8565/3600;  #error
SIT=RA+24-GST+e1; #sidereal time interval after LMM
e2=SIT*9.8296/3600; #error
MI=SIT-e2; #mean interval after LMM
LMT=LMT-(Long2-Long)/15.0;
CE=MI-LMT;
CE=deg_to_dms(CE);

#result
print "chronometer error in hours,min,sec respectively",CE

chronometer error in hours,min,sec respectively [0, 0, 2.56]


## Example 5.5,Page 198¶

In [1]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
MST=12+32.0/60+15.0/3600; #mean sidereal time
RA=15+45.0/60+10.0/3600;
theta=55+14.0/60+20.0/3600;#latitude
delta=15+24.0/60+30.0/3600;#declination
alpha=35+44.0/60+10.0/3600;#zenith deistance

#calculation
c=90-theta;
p=90-delta;
z=90-alpha;
H=acos(cos(z*pi/180)/sin(c*pi/180)/sin(p*pi/180)-1/(tan(p*pi/180)*tan(c*pi/180)))
H=H/15*180/pi;
LST=RA-H;
CE=MST-LST;
CE=deg_to_dms(CE);

#result
print "chronometer error in hours,min,sec respectively",CE

chronometer error in hours,min,sec respectively [0, 0, 12.94]


## Example 5.6,Page 199¶

In [4]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
LMTe=6+34.0/60+18.0/3600;#  LMT east
LMTw=8+58.0/60+2.0/3600; # LMT west
RA=16+11.0/60+25.0/3600;
Long=125+33.0/60;
GST=8+25.0/60+14.0/3600;

#calculation
e1=Long/15*9.8565/3600; #error
SIT=RA-GST+e1; #sidereal time interval after LMM
e2=SIT*9.8296/3600;
MI=SIT-e2; #mean time interval after LMM
LMTav=(LMTe+LMTw)/2; #mean LMT
CE=LMTav-MI;
CE=deg_to_dms(CE);

#result
print "chronometer error in slower side in hours,min,sec respectively",CE

chronometer error in slower side in hours,min,sec respectively [0, 0, 6.9]


## Example 5.7,Page 204¶

In [23]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
LMM=15+9.0/60+5.21/3600;# mean LMT
GMT=10+9.0/60+3.76/3600;
Long=75.0;#longitude
alpha=42+30.0/60+42.0/3600;
theta=34+48.0/60+12.0/3600;
delta=15+36.0/60+48.0/3600;

#calculation
H=acos(sin(alpha*pi/180)/cos(theta*pi/180)/cos(delta*pi/180)-(tan(delta*pi/180)*tan(theta*pi/180)))
H=H/15*180/pi;
GAT=12+H-Long/15;
LMT=GAT+Long/15-5.0/60-40.0/3600;
CE=LMM-LMT;
CE=deg_to_dms(CE);

#result
print "chronometer error in slower side in hours,min,sec respectively",CE

[0, 0, 1.45] chronometer error in slower side in hours,min,sec respectively


## Example 5.8,Page 219¶

In [5]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
d=5+1.0/60+50.0/3600;
del1=75+14.0/60+20.0/3600;
del2=70+12.0/60+30.0/3600;

#calculation
k=cos(del1*pi/180)/cos(del2*pi/180);
A2=pi/2-atan((cos(d*pi/180)-k)/sin(d*pi/180));
A2=A2*180/pi;
A2=120+15.0/60+10.0/3600-A2;
CR=360-A2;
A2=deg_to_dms(A2);
CR=deg_to_dms(CR);

#result
print "azimuth of angle R in degree,minites,seconds respectively",A2
print "true bearing of CR in degree,minites,seconds respectively",CR

azimuth of angle R in degree,minites,seconds respectively [100, 27, 40.0]
true bearing of CR in degree,minites,seconds respectively [259, 32, 20.0]


## Example 5.9,Page 223¶

In [6]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
a=26.0/60+51.0/3600;
p=56.0/60+5.1/3600;#polar distance

#calculation
H=acos(a/p);
A=p*sin(H)/cos(30.75694*pi/180);
CR=25+35.0/60+40.0/3600-A;
CR=deg_to_dms(CR);

#result
print "azimuth of angle CR in degree,minites,seconds respectively",CR

azimuth of angle CR in degree,minites,seconds respectively [24, 38, 22.01]


## Example 5.10,Page 227¶

In [1]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
Long=75.0;#longitude
GST=11+40.0/60+32.4/3600;
RA=12+25.0/60+18.35/3600;
GMT=15+45.0/60+25.3/3600;
delta=22+6.0/60+32.5/3600;

#calculation
e1=Long/15*9.8565/3600;
LSTofLMM=GST-e1;
LMT=GMT+Long/15;
SIT=LMT+LMT*9.8565/3600;#sidereal time interval
LHA=SIT+LSTofLMM;
H=RA+24-LHA;
H=H*15;
B=atan(tan(delta*pi/180)*tan(H*pi/180));
B=B*180/pi;
A=atan(tan(H*pi/180)*cos(B*pi/180)/sin((B-32-15.0/60)*pi/180))
A=A*180/pi;
TB=360+A-135-15.0/60-20.0/3600;
TB=deg_to_dms(TB);

#result
print "true bearing TB in degree,minites,seconds respectively",TB
print "there is slight difference in the answers due to rounding off error in the book"

true bearing TB in degree,minites,seconds respectively [313, 17, 36.07]
there is slight difference in the answers due to rounding off error in the book


## Example 5.11,Page 237¶

In [8]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
z=51+47.0/60+18.0/3600;#zenith distance
p=88+57.0/60+57.0/3600;#polar distance
c=61+27.0/60+55.0/3600;#co-latitude

#calculation
s=(z+p+c)/2;
A=2*atan(sqrt(sin((s-z)*pi/180)/sin(s*pi/180)*sin((s-c)*pi/180)/sin((s-p)*pi/180)));
A=A*180/pi;
TB=360-A-165-18.0/60-20.0/3600;
TB=deg_to_dms(TB);

#result
print "true bearing TB in degree,minites,seconds respectively",TB

true bearing TB in degree,minites,seconds respectively [80, 59, 47.52]


## Example 5.12,Page 241¶

In [9]:
#finding latitude

#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
z2=90-40-13.0/60-15.0/3600;
del2=12+15.0/60+30.0/3600;#declination of star

#calculation
theta=z2+del2;
theta=deg_to_dms(theta);

#result
print "altitude in degree,minites,seconds respectively",theta

altitude in degree,minites,seconds respectively [62, 2, 15.0]


## Example 5.13,Page 244¶

In [10]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
alpha1=30+45.0/60+25.0/3600;
alpha2=40+48.0/60+30.0/3600;

#calculation
e1=-58/3600/tan(alpha1*pi/180); #error 1
e2=-58/3600/tan(alpha2*pi/180); #error 2
theta=(alpha1+alpha2+e1+e2)/2;
theta=deg_to_dms(theta)

#result
print "latitude in degree,minites,seconds respectively",theta

latitude in degree,minites,seconds respectively [34, 21, 48.1]


## Example 5.14,Page 258¶

In [11]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
ZP=37+29.0/60+40.0/3600;#colatitde
ZM=56+24.0/60+50.0/3600;#coaltitude
PM=67+54.0/60+24.0/3600;#codeclination

#calculation
A1=acos((cos(PM*pi/180)-cos(ZP*pi/180)*cos(ZM*pi/180))/(sin(ZP*pi/180)*sin(ZM*pi/180)));
A1=A1*180/pi;
A=360-A1;
A=deg_to_dms(A);

#result
print "azimuth of sun in degree,minites,seconds respectively",A

azimuth of sun in degree,minites,seconds respectively [262, 53, 12.16]


## Example 5.15,Page 259¶

In [12]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
theta=54+30.0/60;#latitude
delta=62+12.0/60+21.0/3600;#declination

#calculation
alpha=asin(sin(theta*pi/180)/sin(delta*pi/180));
A1=acos(tan(theta*pi/180)/tan(alpha));
A1=A1*180/pi;
TB=360-A1-65-18.0/60-42.0/3600;
TB=deg_to_dms(TB);
alpha=deg_to_dms(alpha*180/pi);
H=atan(tan(theta*pi/180)/tan(delta*pi/180));
H=deg_to_dms(H*180/pi);

#result
print "true bearing in degree,minites,seconds respectively",TB
print "altitude in degree,minites,seconds respectively",alpha
print "hour angle in degree,minites,seconds respectively",H

true bearing in degree,minites,seconds respectively [241, 16, 19.55]
altitude in degree,minites,seconds respectively [66, 58, 7.13]
hour angle in degree,minites,seconds respectively [36, 27, 49.32]


## Example 5.16,Page 261¶

In [47]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
alpha=44+12.0/60+30.0/3600;
d=15.0/60+45.86/3600;#diameter correction
Long=7+20.0/60+15.0/3600;#longitude

#calculation
alpha=alpha+d-58/3600/tan(alpha)+8.8/3600*cos(alpha);
GAT=Long/15;
e2=6.82/3600*GAT;
delta=22+18.0/60+12.8/3600+e2;
theta=delta+90-alpha;
theta=deg_to_dms(theta);

#result
print "altitude in degree,minites,seconds respectively",theta

[67, 49, 51.7] altitude in degree,minites,seconds respectively


## Example 5.17,Page 262¶

In [4]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
GMT=16+22.0/60+55.0/3600;
ET=3.0/60+43.0/3600;
c=90-42-20.0/60;
p=90-18-45.0/60-50.0/60;
z=90-43-38.0/60;

#calculation
H=acos(cos(z*pi/180)/sin(c*pi/180)/sin(p*pi/180)-1/tan(c*pi/180)*1/tan(p*pi/180));
H=H*180/pi;
LAT=12-H/15;
LMT=LAT-ET;
Long=GMT-LMT;
Long=Long*15;
Long=deg_to_dms(Long);

#result
print "Longitude in degree,minites,seconds respectively",Long

Longitude in degree,minites,seconds respectively [114, 50, 53.21]


## Example 5.18,Page 263¶

In [55]:
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
alpha=21+35.0/60+30.0/3600;#mean observed altitude
C=(4.5+5.5-3.5-2.5)/4*15.0/3600;
c=44+30.0/60;#colatitude
z=68+26.0/60+34.0/3600;#coaltitude
p=94+4.0/60+15.0/3600;#codeclination
s=(c+p+z)/2;

#calculation
cr=-58/3600/tan(alpha);#correction refraction
cp=8.8/3600*cos(alpha);#correction parallax
alpha=alpha+C+cr+cp;  #corrected altitude
A=2*atan(sqrt(sin((s-z)*pi/180)/sin(s*pi/180)*sin((s-c)*pi/180)/sin((s-p)*pi/180)));
A=A*180/pi;
Mh=(121+45.0/60+20.0/3600+122+47.0/60)/2;#mean horizontal angle
AZ=360-Mh-A;
AZ=deg_to_dms(AZ);

#result
print "Azimuth from north(clockwise) in degree,minites,seconds respectively",AZ

[117, 0, 19.45] Azimuth from north(clockwise) in degree,minites,seconds respectively