SASGIS

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

Вопросы по исходному коду

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

Re: Вопросы по исходному коду.

Сообщение vdemidov » 01 окт 2012, 10:59

zed писал(а):А в САСе можно как-то найти географические координаты точки, отстоящей от текущей на N метров с азимутом 0 (строго на север)?

Нету. Хотелка 0001188 и в нее упирается дофига разных других хотелок.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Вопросы по исходному коду.

Сообщение Dima2000 » 02 окт 2012, 01:27

zed писал(а):А в САСе можно как-то найти географические координаты точки, отстоящей от текущей на N метров с азимутом 0 (строго на север)?

Данная частная задача легко решается чисто математически (не в САСе). Как и остальные три задачи смещения строго по сторонам света. Просто добавляем к текущей широте угол, вычисленный из отношения N и полярного радиуса (берется из параметров проекции) и нормируем к диапазону -90°..+90°.

Hint для хотелки 713. Получив указанным способом размеры эллипса в экранных координатах (которые пиксельные, ширину, высоту и центр) не составляет труда его нарисовать на экране (битмапке), с весьма приличной точностью. Думаю для отображения кругов расстояний точности хватит с большим запасом. И даже не надо приводить к многоугольнику, как собирались, эллипс отрисуется точно средствами WinAPI.

Add. Извиняюсь, чушь написал, для эллипса так считать нельзя. :(
Последний раз редактировалось Dima2000 02 окт 2012, 02:43, всего редактировалось 1 раз.
Dima2000
Соображающий
 
Сообщения: 70
Зарегистрирован: 01 апр 2012, 18:20
Откуда: Россия, Москва
Благодарил (а): 22 раз.
Поблагодарили: 5 раз.

Re: Вопросы по исходному коду.

Сообщение zed » 02 окт 2012, 01:37

Dima2000 писал(а):Данная частная задача легко решается чисто математически (не в САСе). Как и остальные три задачи смещения строго по сторонам света. Просто добавляем к текущей широте угол, вычисленный из отношения N и полярного радиуса (берется из параметров проекции) и нормируем к диапазону -90°..+90°.

И на сколько это будет точно?
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Вопросы по исходному коду.

Сообщение Dima2000 » 02 окт 2012, 01:46

Double. Всё упрётся в точность радиуса и вычислений синуса (или косинуса?). Т.е. микроны получите легко. :D "Це ж чисто математика!" :)
Dima2000
Соображающий
 
Сообщения: 70
Зарегистрирован: 01 апр 2012, 18:20
Откуда: Россия, Москва
Благодарил (а): 22 раз.
Поблагодарили: 5 раз.

Re: Вопросы по исходному коду.

Сообщение Dima2000 » 02 окт 2012, 01:51

Для долготы вычисления чуть сложнее, надо брать не экваториальный радиус, а радиус по текущей широте, который меньше экваториального (экваториальный*cos(широта)).
Dima2000
Соображающий
 
Сообщения: 70
Зарегистрирован: 01 апр 2012, 18:20
Откуда: Россия, Москва
Благодарил (а): 22 раз.
Поблагодарили: 5 раз.

Re: Вопросы по исходному коду.

Сообщение zed » 02 окт 2012, 02:02

Э.. а набросайте-ка сюда формул как это всё посчитать? И в расчётах ведь N это же будет длина дуги, а не прямая?
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Вопросы по исходному коду.

Сообщение Dima2000 » 02 окт 2012, 02:36

Что-то засомневался в формуле Ra*cos(широта), может для эллипсоида вращения она и не такая? Ну да для движений по меридианам это и не важно. :)
Э, и вообще сомневаюсь. Полезу в вики ...
Мда, не прав. Даже для меридианов. :'( Низя так считать оказывается. Вот жалость, формулы убил. Убейте всё моё, что ли ...
Точность будет порядка 0.2% (для расстояния 6400км) - точность приближения сечения геоида окружностью. Для меньших расстояний - ещё лучше. Если такой точности хватит - формулы снова напишу. :)
Dima2000
Соображающий
 
Сообщения: 70
Зарегистрирован: 01 апр 2012, 18:20
Откуда: Россия, Москва
Благодарил (а): 22 раз.
Поблагодарили: 5 раз.

Re: Вопросы по исходному коду.

Сообщение zed » 02 окт 2012, 11:37

Нагуглил реализацию искомого алгоритма. Подробности см. в хотелке 1188
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Вопросы по исходному коду.

Сообщение Manfred » 29 окт 2012, 11:35

Никак не могу найти, где лежит архив с исходными кодами. Как-то скачал его, посмотрел, да времени не было заняться.
Сейчас кинулся - ан нет, не смог найти архив. Не качать же отдельные файлы :)
Manfred
Новичок
 
Сообщения: 4
Зарегистрирован: 02 дек 2009, 14:04
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Вопросы по исходному коду.

Сообщение zed » 29 окт 2012, 12:05

На странице с исходниками есть кнопочка download по которой загружаются самые свежие исходники.

Image.gif
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Пред.След.

Вернуться в Раздел для разработчиков программы SAS.Планета

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

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

cron