GPS клуб - всё о ГЛОНАСС GPS навигации
GPS навигаторы и видеорегистраторы Mio gde moi De_Lorme GPS навигаторы prology blacksys camrad navipilot tomtom
proresurs-logo navitravel cityguide Lexand GPS навигаторы globusgps globalsat Gurtam GPS.ru
ГЛАВНАЯ GPS КАТАЛОГ НОВОСТИ GPS КЛУБ УЗНАЙ О GPS GPS ТЕСТЫ GPS WIKI GPS ФОРУМ NAVI TV NaviTrаvel
Навигация
Услуги сервис центра
НавиЦентр
Обновление GPS карт и программ
Обновить прошить GPS навигатор
Установка программ навигации
Обновить СитиГИД
Обновить Навител
Обновить Автоспутник
Новинки GPS/ГЛОНАСС

ВКонтакте

 
Navi TV

Нас поддерживают


GPS навигаторы купить, обновить gps карты и программы





жалюзи одесса | пож гидранты пожарные
ГЛОНАСС и GPS - статьи, обзоры, faq / Статьи о навигационных программах и картах
Подписка на новости RSS Поделись с друзьями Прислать новость Вступайте в наш клуб Свяжитесь с нами
Вступить в GPS-клуб Наши контакты

Формулы пересчета данных GPS-измерений из WGS-84 в СК-42 и обратно

Для тех, кто хочет разобраться в математике пересчета и\или встроить конвертацию в свою программу. 

Приведенный ниже код нужно скопировать и открыть окно редактора Visual Basic программы Microsoft Excel (Сервис\Макрос\Редактор Visual Basic). Далее, необходимо создать новый модуль, для этого нужно выбрать в меню Insert\Module и вставить в появившийся модуль скопированный код.

После этого, в рабочей области Excel станут доступны следующие функции:

Пересчет широты из СК-42 в WGS-84: WGS84_SK42_Lat(Lat,Long,Height)
Пересчет долготы из СК-42 в WGS-84: WGS84_SK42_Long(Lat,Long,Height)
Пересчет широты из WGS-84 в СК-42: SK42_WGS84_Lat(Lat,Long,Height)
Пересчет долготы из WGS-84 в СК-42: SK42_WGS84_Long(Lat,Long,Height)

Для выполнения пересчета, нужно использовать вышепреведенные функции подставляя им в качестве аргументов значения широты и долготы в десятичных градусах и высоты в метрах, например, в ячейку Excel можно ввести:

=WGS84_SK42_Lat(50,50,0) и получить результат 49.99980414

Результаты пересчета проверены с помощью Proj и совпадают с его результатами до 7-го знака после запятой.

Расчет производятся по трем параметрам, если вы хотите использовать 7 параметров, измените значения угловых элементов трансформирования. Также можно менять линейные элементы трансформирования, текущие элементы равны используемым в этой статье, используются только линейные элементы трансформирования (ГОСТ 51794-2001).

Функции рабочей книги для преобразования геодезических координат из координатной системы Пулково 1942 в координатную систему WGS84 и обратно.

Все угловые значения передаются и возвращаются в десятичных градусах (dd.ddddd), высоты передаются и возвращаются в метрах

Const Pi As Double = 3.14159265358979 ' Число Пи
Const ro As Double = 206264.8062 ' Число угловых секунд в радиане

' Эллипсоид Красовского
Const aP As Double = 6378245 ' Большая полуось
Const alP As Double = 1 / 298.3 ' Сжатие
Const e2P As Double = 2 * alP - alP ^ 2 ' Квадрат эксцентриситета

' Эллипсоид WGS84 (GRS80, эти два эллипсоида сходны по большинству параметров)
Const aW As Double = 6378137 ' Большая полуось
Const alW As Double = 1 / 298.257223563 ' Сжатие
Const e2W As Double = 2 * alW - alW ^ 2 ' Квадрат эксцентриситета

' Вспомогательные значения для преобразования эллипсоидов
Const a As Double = (aP + aW) / 2
Const e2 As Double = (e2P + e2W) / 2
Const da As Double = aW - aP
Const de2 As Double = e2W - e2P

' Линейные элементы трансформирования, в метрах
Const dx As Double = 23.92
Const dy As Double = -141.27
Const dz As Double = -80.9
' Угловые элементы трансформирования, в секундах
Const wx As Double = 0
Const wy As Double = 0
Const wz As Double = 0
' Дифференциальное различие масштабов
Const ms As Double = 0

Function WGS84_SK42_Lat(Bd, Ld, H) As Double
WGS84_SK42_Lat = Bd - dB(Bd, Ld, H) / 3600
End Function

Function SK42_WGS84_Lat(Bd, Ld, H) As Double
SK42_WGS84_Lat = Bd + dB(Bd, Ld, H) / 3600
End Function

Function WGS84_SK42_Long(Bd, Ld, H) As Double
WGS84_SK42_Long = Ld - dL(Bd, Ld, H) / 3600
End Function

Function SK42_WGS84_Long(Bd, Ld, H) As Double
SK42_WGS84_Long = Ld + dL(Bd, Ld, H) / 3600
End Function

Function dB(Bd, Ld, H) As Double
Dim B, L, M, N As Double
B = Bd * Pi / 180
L = Ld * Pi / 180
M = a * (1 - e2) / (1 - e2 * Sin(B) ^ 2) ^ 1.5
N = a * (1 - e2 * Sin(B) ^ 2) ^ -0.5
dB = ro / (M + H) * (N / a * e2 * Sin(B) * Cos(B) * da _ + (N ^ 2 / a ^ 2 + 1) * N * Sin(B) * Cos(B) * de2 / 2 _ - (dx * Cos(L) + dy * Sin(L)) * Sin(B) + dz * Cos(B)) _ - wx * Sin(L) * (1 + e2 * Cos(2 * B)) _ + wy * Cos(L) * (1 + e2 * Cos(2 * B)) _ - ro * ms * e2 * Sin(B) * Cos(B)
End Function

Function dL(Bd, Ld, H) As Double
Dim B, L, N As Double
B = Bd * Pi / 180
L = Ld * Pi / 180
N = a * (1 - e2 * Sin(B) ^ 2) ^ -0.5
dL = ro / ((N + H) * Cos(B)) * (-dx * Sin(L) + dy * Cos(L)) _ + Tan(B) * (1 - e2) * (wx * Cos(L) + wy * Sin(L)) - wz
End Function

Function WGS84Alt(Bd, Ld, H) As Double
Dim B, L, N, dH As Double
B = Bd * Pi / 180
L = Ld * Pi / 180
N = a * (1 - e2 * Sin(B) ^ 2) ^ -0.5
dH = -a / N * da + N * Sin(B) ^ 2 * de2 / 2 _ + (dx * Cos(L) + dy * Sin(L)) * Cos(B) + dz * Sin(B) _ - N * e2 * Sin(B) * Cos(B) * (wx / ro * Sin(L) - wy / ro * Cos(L)) _ + (a ^ 2 / N + H) * ms
WGS84Alt = H + dH
End Function

Источник gis-lab.info



Новые тесты



Новые обзоры



Новости GPS клуба



GPS тесты и обзоры

Статьи: ГЛОНАСС,GPS
Последнее на форуме
31.03.2015 Настройка мыши в WinCE
31.03.2015 Oбщие вопросы по спутниковым технологиям
31.03.2015 Prology dnu 2630
31.03.2015 Pioneer PA-780
31.03.2015 Помогите настроить GPS В Hyundai H-CMD4050G

ГЛОНАСС GPS каталог



ГЛОНАСС GPS новости

купить счетчик горячей воды powogaz

Кращі кухні , дизайн интерьера кухни фото
Самый лучший брокер Бинарных Опционов
Лучший кредитный брокер года
speculantu.ru
  GPS Клуб. Рейтинг, gps новости, каталог, форум