SASGIS

Веб-картография и навигация

cПреобразование координат для устранения погрешности

Обсуждение различной информации связанной с картографией в САСе, а также сторонние программные продукты для связки с САСом

Модератор: Tolik

cПреобразование координат для устранения погрешности

Сообщение nchameleon » 20 июл 2010, 11:06

Добрый день, столкнулся с такой проблемой, хотел нарисовать несколько линий в kml зная начальное значение координат и угол на которую линию надо повернуть,
использовал следующие выражение
Код: Выделить всё
   Line_X1d = Line_X0d + Line_K * Sin(Math.PI * Line_angled / 180);      // Line_X0d и Line_Y0d - коорднаты   Line_angled - угл направления
   Line_Y1d = Line_Y0d + Line_K * Cos(Math.PI * Line_angled / 180);

но получаеться, что долгота короче широты,
попробовав нарисовать квадрат определенной длины, получаеться прямоугольник,

Как можно исправить, может есть какие поправочные коэффициенты ??? или нужно проводить расчеты в другой системе кобратно, а потом переводит обратно.
nchameleon
Новичок
 
Сообщения: 4
Зарегистрирован: 15 июл 2009, 21:56
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: cПреобразование координат для устранения погрешности

Сообщение PavelML » 20 авг 2010, 11:07

nchameleon писал(а):Добрый день, столкнулся с такой проблемой, хотел нарисовать несколько линий в kml зная начальное значение координат и угол на которую линию надо повернуть,
использовал следующие выражение
Код: Выделить всё
   Line_X1d = Line_X0d + Line_K * Sin(Math.PI * Line_angled / 180);      // Line_X0d и Line_Y0d - коорднаты   Line_angled - угл направления
   Line_Y1d = Line_Y0d + Line_K * Cos(Math.PI * Line_angled / 180);

но получаеться, что долгота короче широты,
попробовав нарисовать квадрат определенной длины, получаеться прямоугольник,

Как можно исправить, может есть какие поправочные коэффициенты ??? или нужно проводить расчеты в другой системе кобратно, а потом переводит обратно.


Все правильно - "долгота короче широты" по той простой причине - что широта отсчитывается по меридиану, а долгота - по параллелям. То есть - не по экватору. На экваторе оно былоб одинаковое. А в наших широтах длина параллелей намного меньше длины меридиана.
Однако - непонятно что нужно "исправлять"? Если нужно провести азимут от точки под определенным углом к меридиану или параллели - какая разница как оно выглядит на снимке? 45 градусов не похожи на 45 градусов, а похожи на 60? Квадрат не похож на квадрат, а похож на прямоугольник? Так ведь проекция адаптирована под метры, а не под градусы! Сохраните вырезку и сожмите как надо, если нужно в градусах. Непонятно только - а зачем?
PavelML
Заслуженный тролль ресурса
 
Сообщения: 104
Зарегистрирован: 20 фев 2010, 17:29
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.


Вернуться в Другие программы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3