У меня такой вопрос: вот в ГОСТ Р 51794-2008 есть формулы для пересчета геодезических координат ск-42 в прямоугольные гаусса-крюгера. Значит, возьмем для примеры координаты Москвы: B = 55 45' 6''; L = 37 37' 4''
Код: Выделить всё
from math import sin, cos
def transformB2X(B, L, H, nz):
l = (L - (3 + 6 * (nz - 1))) / 57.29577951;
x = 6367558.4968 * B - sin(2*B)*(16002.8900 + 66.9607 * sin(B)**2 + 0.3515 * sin(B)**4 -
l**2*(1594561.25 + 5336.535 * sin(B)**2 + 26.790 * sin(B)**4 + 0.149 * sin(B)**6) +
l**2*(672483.4 - 811219.9 * sin(B)**2 + 5420.0 * sin(B)**4 - 10.6 * sin(B)**6 +
l**2*(278194.0 - 830174.0 * sin(B)**2 + 572434.0 * sin(B)**4 - 16010.0 * sin(B)**6 +
l**2*(109500.0 - 574700.0 * sin(B)**2 + 863700.0 * sin(B)**4 - 398600.0 * sin(B)**6))))
print x
def transformL2Y(B, L, H, nz):
l = (L - (3 + 6 * (nz - 1))) / 57.29577951;
y = (5 + 10 * nz) * 100000.0 + l * cos(B) * (6378245.0 + 21346.1415 * sin(B)**2 + 107.1590 * sin(B)**4 + 0.5977 * sin(B)**6 +
l**2*(1070204.16 - 2136826.66 * sin(B)**2 + 17.98 * sin(B)**4 - 11.99 * sin(B)**6 +
l**2*(270806.0 - 1523417.0 * sin(B)**2 + 1327645.0 * sin(B)**4 - 21701.0 * sin(B)**6 +
l**2*(79690.0 - 86610.0 * sin(B)**2 + 1730360.0 * sin(B)**4 - 945460.0 * sin(B)**6))));
print y
transformB2X(0.973050, 0.656554, 2, 7)
transformL2Y(0.973050, 0.656554, 2, 7)
По этим формулам получается:
x 6802281.70619
y 5152096.83376
Ответ неправильный. Что я делаю не так?