Escolar Documentos
Profissional Documentos
Cultura Documentos
GEODÉSIA GEOMÉTRICA
PROF HAROLDO
TURMA: 3º ANO
1 Fórmulas de Puissant
1.1 1ª questão
1.1.1 Problema Direto
Dadas as coordenadas de P1 (ϕ1 , λ1 ), o azimute (α12 ) e a distância (S12 ), aplicando-as nas fórmulas
de Puissant para a resolução do Problema Direto, através do código-fonte em Python, conforme anexo,
obtém-se as seguintes coordenadas pedidas:
ϕ2 = 22◦ 9′ 59, 58915” S
λ2 = 50◦ 54′ 15, 414872” O
α21 = 275◦ 19′ 19, 583216”
1.2 2ª questão
Ao baixar o aplicativo com a formulação de T. Vicenty indicado na questão, obtém-se o seguinte:
2
1.3 3ª questão 1 FÓRMULAS DE PUISSANT
1.3 3ª questão
1.3.1 Problema Direto
A diferença entre as latitudes de P2 foi de 0, 00236”, entre as longitudes de P2 foi de 0, 002942”, entre
os contra-azimutes foi de 0, 001116”, ou seja, as coordenadas de P2 e os contra-azimutes obtidos tiveram
uma precisão com erro menor que 1 centésimo de segundo.
A diferença entre os azimutes obtidos foi de 5′ 24, 38239”, ou seja, foram 324,38239 segundos de
diferença entre os métodos distintos. Entre os contra-azimutes obtidos foi de 0, 329884”, ou seja, um erro
menor que 1 segundo. Entre as distâncias obtidas, foi de 822,5728 m, ou seja, quase 1 km de diferença.
Observa-se que, no problema inverso, estes métodos têm diferenças maiores comparado com o problema
direto.
3
Transporte de Coordenadas Geodésicas
[2]: from math import sin, cos, sqrt, pi, tan, fabs, atan
PROBLEMA DIRETO
1
lambda_rad = -lambda_rad
lambida = -lambida
break
if a == 9:
a = 6378137
inv_f = 298.2572221
else:
inv_f = float(input('Insira o inverso do achatamento: '))
f = 1/inv_f
e = sqrt(2*f-f**2)
2
O semi-eixo maior é 6378137m, o inverso do fator de achatamento é 298.2572221 e
a primeira excentricidade é 0.08181919104295272.
[8]: M = (a*(1-e**2))/((1-(e**2)*(sin(phi_rad))**2)**(3/2))
N = a/((1-(e**2)*(sin(phi_rad))**2)**(1/2))
,→(6*M*N)**2))*(1-((3*e**2*sin(phi_rad)*cos(phi_rad)*dphi_i)/
,→(2*(1-e**2*sin(phi_rad)**2))))
diferença = abs(dphi_j-dphi_i)
,→(6*M*N)**2))*(1-((3*e**2*sin(phi_rad)*cos(phi_rad)*dphi_i)/
,→(2*(1-e**2*sin(phi_rad)**2))))
diferença = abs(dphi_j-dphi_i)
[10]: Nj = a/((1-(e**2)*(sin(phi_rad_2))**2)**(1/2))
3
lamb_rad_2 = lambda_rad + dlamb_j
lamb_grau_2 = lamb_rad_2*(180/pi)
lamb_grau_2_n = fabs(lamb_grau_2)
lamb_minuto_2 = 60*(lamb_grau_2_n-(int(lamb_grau_2_n)))
lamb_segundo_2 = 60*(lamb_minuto_2-(int(lamb_minuto_2)))
print(f'\nA longitude do ponto 2 é␣
,→{int(lamb_grau_2)}°{int(lamb_minuto_2)}\'{lamb_segundo_2:.6f}"')
gama = ((dlamb_j*sin(phi_rad_m))/cos(dphi/2))+((dlamb_j**3)/
,→12)*(((sin(phi_rad_m))/(cos(dphi/2)))-((sin(phi_rad_m))**3)/cos(dphi/2)**3)
,→6f}"')
O contra-azimute é 275°19'19.583216"
PROBLEMA INVERSO
gama = ((dlamb_j*sin(phi_rad_m))/cos(dphi/2))+((dlamb_j**3)/
,→12)*(((sin(phi_rad_m))/(cos(dphi/2)))-((sin(phi_rad_m))**3)/cos(dphi/2)**3)
,→6f}"')
O contra-azimute é 275°19'19.583216"
4
if azimute_rad_avante < 0:
azimute_rad_avante = azimute_rad_avante + pi
azimute_avante = azimute_rad_avante*(180/pi)
azimute_avante_grau_n = fabs(azimute_avante)
azimute_avante_minuto = 60*(azimute_avante_grau_n-(int(azimute_avante_grau_n)))
azimute_avante_segundo = 60*(azimute_avante_minuto-(int(azimute_avante_minuto)))
print(f'\nO azimute a vante é, aproximadamente,␣
,→{int(azimute_avante)}°{int(azimute_avante_minuto)}\'{azimute_avante_segundo:.
,→6f}".')
A distância é 49177.35 m
PROBLEMA DIRETO (sumário)
print(f'\nO contra-azimute é␣
,→{int(contraazimute)}°{int(contraazimute_minuto)}\'{contraazimute_segundo:.
,→6f}"')
O contra-azimute é 275°19'19.583216"
PROBLEMA INVERSO (sumário)
,→6f}"')
,→6f}"')
5
A distância é 49177.35 m
O contra-azimute é 275°19'19.583216"