Граница проекции

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
AndreySb
Новоприбывший
Сообщения: 8
Зарегистрирован: 27 ноя 2020, 14:33
Репутация: 1
Откуда: Москва

Re: Граница проекции

Сообщение AndreySb » 13 янв 2021, 13:13

Удалось реализовать, всем спасибо!
ortho.jpeg
ortho.jpeg (19.32 КБ) 2673 просмотра
aeqd.jpeg
aeqd.jpeg (28.89 КБ) 2673 просмотра
healpix.jpeg
healpix.jpeg (20.59 КБ) 2673 просмотра

trir
Гуру
Сообщения: 5278
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1014
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Граница проекции

Сообщение trir » 13 янв 2021, 13:16

алгоритм опиши

AndreySb
Новоприбывший
Сообщения: 8
Зарегистрирован: 27 ноя 2020, 14:33
Репутация: 1
Откуда: Москва

Re: Граница проекции

Сообщение AndreySb » 13 янв 2021, 16:16

1.Используем тот факт что когда выбираем точку за границей проекции(т.е. на белом фоне на картинках) то при обратном преобразовании proj4 возвращает inf,inf а при выборе внутри(т.е. на синем фоне) возвращает широту долготу.
2.С помощью рекурсии разбиваем прямоугольник экрана квадродеревом до некоторого уровня без условия а затем бьем только те квадраты у которого есть точки лежащие и внутри и снаружи границы. Все другие квадраты отсекаем. Для любого получившегося квадрата находим 2 точки пересечения его ребер с границей проекции и сохраняем этот отрезок в массив.
3.Аналогичную операцию делаем с каждым ребром прямоугольника экрана если экран охватывает не всю проекцию разом, только там сохраняем в массив не только отрезок которые пересекает границу проекции но и отрезок который двумя точками находится внутри проекции.
4.Отрезки из массива объединяем в цепь пользуясь тем что у двух соседних отрезков в подавляющем большинстве случаем будет одна общая точка. Может быть несколько цепей если разрывы или граница при данной области видимости состоит из двух или более областей. Их можно объединить в один полигон по условию близости концов. Цепь обращаем по часовой стрелке, если необходимо. Применяем к ней lod отправляем на отрисовку или для других полезных целей, например адекватного отсечения полигонов.

Ответить

Вернуться в «Общие вопросы»

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

Сейчас этот форум просматривают: Bing [Bot] и 7 гостей