Здравствуйте!
Функция mapPlaneToGeo() возвращает неправильные геодезические координаты.
Карта векторная map:
- обобщенный тип карты 7 (моpскaя нaвигaционнaя)
- вид рамки 3 (прямоугольная)
- система координат 1 (системa кооpдинaт 42 годa, прямоугольная)
- пpоекция исходного мaтеpиaлa 8 (цилиндpическaя пpямaя paвноугольнaя (Меpкaтоpa))
- системa высот 1 (бaлтийскaя системa высот, ноль Кpонштaдского футштокa)
- вид эллипсоидa 1 (Кpaсовского 1942 г.)
- флаг соответствия проекции 1
- метрика объектов пpедстaвленa в pеaльных кооpдинaтaх нa местности (метры), высоты задаются в метрах.
Углы (из паспорта, если перевести в градусы):
ЮЗ широта= 47, долгота= 84
СЗ широта= 53, долгота= 84
СВ широта= 53, долгота= 90
ЮВ широта= 47, долгота= 90
Углы в проекции (из паспорта в метрах) получены из mapCheckAndUpdate():
ЮЗ x=3719858.8 y=-210170.4
СЗ x=4373129.8 y=-210170.4
СВ x=4373129.8 y=210170.4
ЮВ x=3719858.8 y=210170.4
Параметры проекции:
p1 := 51*pi/180; // Первая главная параллель, радианы
p2 := -p1; // Вторая главная параллель, радианы
f0 := 87*pi/180; // Осевой меридиан, радианы
p0 := 0; // Параллель главной точки, радианы
Прямоугольные координаты определяются правильно (стандартными функциями и методами),
а при переводе в геодезические - правильно только справа от осевого меридиана,
слева получается отрицательная долгота, которую можно преобразовать в правильную по формуле:
L_прав := L_расчетн + f0 + L_юз (=L_расчет + 90 + 84), где L_расчет получена из mapPlaneToGeo().
Посоветуйте, как исправить ситуацию:
- что можно изменить в паспорте;
- или может имеется другая функция перевода для проекции Меркатора на эллипсоиде Красовского.
С Уважением, Bolotoff.
Функция mapPlaneToGeo() возвращает неправильные геодезические координаты.
Карта векторная map:
- обобщенный тип карты 7 (моpскaя нaвигaционнaя)
- вид рамки 3 (прямоугольная)
- система координат 1 (системa кооpдинaт 42 годa, прямоугольная)
- пpоекция исходного мaтеpиaлa 8 (цилиндpическaя пpямaя paвноугольнaя (Меpкaтоpa))
- системa высот 1 (бaлтийскaя системa высот, ноль Кpонштaдского футштокa)
- вид эллипсоидa 1 (Кpaсовского 1942 г.)
- флаг соответствия проекции 1
- метрика объектов пpедстaвленa в pеaльных кооpдинaтaх нa местности (метры), высоты задаются в метрах.
Углы (из паспорта, если перевести в градусы):
ЮЗ широта= 47, долгота= 84
СЗ широта= 53, долгота= 84
СВ широта= 53, долгота= 90
ЮВ широта= 47, долгота= 90
Углы в проекции (из паспорта в метрах) получены из mapCheckAndUpdate():
ЮЗ x=3719858.8 y=-210170.4
СЗ x=4373129.8 y=-210170.4
СВ x=4373129.8 y=210170.4
ЮВ x=3719858.8 y=210170.4
Параметры проекции:
p1 := 51*pi/180; // Первая главная параллель, радианы
p2 := -p1; // Вторая главная параллель, радианы
f0 := 87*pi/180; // Осевой меридиан, радианы
p0 := 0; // Параллель главной точки, радианы
Прямоугольные координаты определяются правильно (стандартными функциями и методами),
а при переводе в геодезические - правильно только справа от осевого меридиана,
слева получается отрицательная долгота, которую можно преобразовать в правильную по формуле:
L_прав := L_расчетн + f0 + L_юз (=L_расчет + 90 + 84), где L_расчет получена из mapPlaneToGeo().
Посоветуйте, как исправить ситуацию:
- что можно изменить в паспорте;
- или может имеется другая функция перевода для проекции Меркатора на эллипсоиде Красовского.
С Уважением, Bolotoff.