Проекция на Data Elevation Model (DEM)

0 голосов
спросил 24 Авг, 05 от Гость (210,080 баллов)
Надеюсь вопрос я задаю правильно, ибо не спец абсолютно. Надеюсь, кто-нибудь поможет.
Есть гео-координаты (WGS84)прямоугольника. Предположительно имеется Data Elevation Model (DEM) - точки с координатами x, y и высотой с разрешением в 100 м. Необходимо вычислить полигон проекции плоской модели на DEM. Наибольшое искажение, я так понимаю, будет в горных районах на участках с большим перепадом высот.

Заранее благодарен.

12 Ответы

0 голосов
ответил 24 Авг, 05 от yumakaev (5,140 баллов)

Хммм...

1) "вычислить полигон" - имеется в виду, "вычислить площадь полигона"?

2) "полигон проекции плоской модели на DEM" - "плоской модели" чего?

Если я правильно понял, вопрос можно переформулировать так: какова поверхностная площадь (не проекционная) на растровом DEM внутри прямоугольника? Тогда для оценки площади лучше всего DEM преобразовать в TIN (Triangulated Irregular Network) - для треугольников, составляющих TIN, проще оценить поверхностную площадь.

Если хочется работать только с растровым форматом, то нужно сначала на основе DEM рассчитать Slope (крутизну уклонов), затем Поверхностная Площадь = (100*100 / cos[Slope]) , после чего суммировать по всем ячейкам внутри полигона.

Но площадь, рассчитанная по TIN, будет точнее.

0 голосов
ответил 25 Авг, 05 от Гость (210,080 баллов)

yumakaev, спасибо за ответ. Пардон за не совсем точную формулировку. :)

Попробую просто описать задачу. Возможно, так станет понятнее. Мы пишем систему планирования миссия для аэрофотосъемки. Попросту говоря, создается план, на котором определяются координаты точек, где необходимо произвести снимки. В основном точки съемки планируются линейно, т.е. снимки группируются в линии. Точки съемки на линии планируются таким образом, чтобы при определенной высоте обеспечивалось необходимое перекрытие снимков (обычно 60% для перекрытия по концам снимков одной линии, и 30% для перекрытия по сторонам снимков для соседних линий). Так вот, планирование сейчас производится плоское, т.е. считается, что высота полета постоянна, т.е. поверхность съемки плоская. Проекция снимков в данном случае прямоугольная (четырехугольная, если быть точным). В реальности же поверхность, естественно, не всегда плоская. Так вот, требуется, имея DTM с разрешением ~100 м, вычислить проекцию (я так понимаю, в результате получится полигон) границ снимка на поверхность съемки. Т.е., в результате вместо прямоугольника получится какой-то полигон. Вот его-то мне и надо определить, чтобы определить реальное перекрытие снимков на заданной местности. Наибольшее искажение будет в районах с большим перепадом высот, т.е. в горах.

Возможно, задача может формулироваться более общо, а именно в определении проекции прямоугольника на 3D - поверхность при заданных координатах прямоугольника и высоте над поверхностью.

 

0 голосов
ответил 25 Авг, 05 от dsavitskiy (10,720 баллов)
Подход к решению проблемы немножко не оптимален. Контур снимка на местности - есть пересечение граней, так сказать, "конуса лучей объектива" и земной поверхности. Если на самолете установленна кадровая камера, то мы имеем 4-х гранную пирамиду. для каждой из четырех ее граней необходимо найти линию пересечения с каждым попавшим "квадратом" сетки. Это и будет интересующий Вас полигон, причем все его вершины имеют пространственные координаты и почти всегда не будут расположенны на одной плоскости. Небольшая проблема: отобрать из всего участка DEM только необходимые полигоны, но она легко решается. А сами парметры камеры, угол сноса и координаты центра фотографирования, повидимому, Вам известны. Таким образом задача сводиться к многократному поиску линии пересечения граней. Для того же, чтоб найти "истинный" процент перекрытия двух снимков необходимо помнить, что аэрофотоснимок - это как правило центральная проекция, в которой все лучи сходятся в точке фокуса.
0 голосов
ответил 25 Авг, 05 от Гость (210,080 баллов)

Denis, спасибо!

Моя идея была такова: имея TIN и координаты прямоугольника, определить пересечения сторон прямоугольника с треугольниками. Получаем полигон с множеством вершин разной высоты, т.е. фактически 3D-полигон. Высоты вершин полигона должны быть рассчитаны на основе крутизны/склона точек сторон пересекаемых треугольников. Далее, имея 3D-полигон, проецируем его на плоскость.

Правильный ли это подход или есть решение попроще?

0 голосов
ответил 25 Авг, 05 от dsavitskiy (10,720 баллов)
Насколько я понял, хочется найти точные (насколько возможно) 3-D координаты полигона, который очерчивает на рельефе границы снимка. Т.е Вы хотите учесть сам рельеф, и искажения, которые он вызывает. Изходф же из фразы:
" имея TIN и координаты прямоугольника " я делаю вывод что вы не ухватили саму суть: откуда у Вас эти координаты? Ведь это есть проекция вашего снимка на некоторую среднюю уровенную поверхность по всему рельефу, а не на данный участок местности. Чтоб найти, где же в действительности вершины четырехугольника будут располагаться на данном участке DEM вам необходимо продолжить проектрующие лучи до пересечения с Вашим DEM. Для этого необходимо знать либо значение этой сердей высоты, либо параметры ориентирования фотоаппарата в момент фотографирования.
Т.к. рельеф не плоский, то у полигона, лежащего на DEM будет значительно больше, чем 4-е вершины. Максимум - по две вершины на каждый пересекаемый квадрат DEM. Для TINа то же самое.

Быть может станет яснее, если это нарисовать? 
0 голосов
ответил 25 Авг, 05 от Гость (210,080 баллов)

Denis, совершенно верно. Возможно, вопрос был поставлен некорректно. Контуры снимка (прямоугольник) планируется для усредненной высоты для данной местности. А хочется, как Вы правильно заметили, получить наиболее точное очертание снимка, учитывая рельеф.

Нарисовать затруднительно. :) Задача, наверное, сводится к определению пересечения четырехугольной пирамиды с рельефом.  Средняя высота известна, известны и углы раствора пирамиды. Надеюсь, что правильно сформулировал. :)

0 голосов
ответил 26 Авг, 05 от yumakaev (5,140 баллов)

.....Получаем полигон с множеством вершин разной высоты, т.е. фактически 3D-полигон. Высоты вершин полигона должны быть рассчитаны на основе крутизны/склона точек сторон пересекаемых треугольников. Далее, имея 3D-полигон, проецируем его на плоскость........

Ну да, но на плоскости, сколько этот 3D-полигон ни проецируй, будет всегда получаться четырёхугольник (поскольку таково свойство исходного полигона, определяющегося кадром) image

0 голосов
ответил 26 Авг, 05 от yumakaev (5,140 баллов)

Давайте уж вернёмся к постановке задачи:

...снимки группируются в линии. Точки съемки на линии планируются таким образом, чтобы ... обеспечивалось необходимое перекрытие снимков (обычно 60% для перекрытия по концам снимков одной линии, и 30% для перекрытия по сторонам снимков для соседних линий)... Проекция снимков в данном случае прямоугольная (четырехугольная)... Требуется, имея DTM с разрешением ~100 м, вычислить проекцию ... границ снимка на поверхность съемки. Т.е., в результате вместо прямоугольника получится какой-то полигон. Вот его-то мне и надо определить, чтобы определить реальное перекрытие снимков на заданной местности.

Правильно ли я понимаю, что опять-таки всё сводится к определению поверхностной площади перекрытия снимков (ну и далее расчёт процентов и т.д.)? Т.е. не проекционной площади, которая собственно будет равна площади 4-угольника, а поверхностной с учётом рельефа местности внутри кадра или перекрытия?

0 голосов
ответил 26 Авг, 05 от Гость (210,080 баллов)

Ну да, но на плоскости, сколько этот 3D-полигон ни проецируй, будет всегда получаться четырёхугольник (поскольку таково свойство исходного полигона, определяющегося кадром) image

Я действительно не совсем корректно ставил вопрос в начале. В общем, необходимо определить пересечение рельефа с виртуальной четырехугольной призмой. В результате, не будет четырехугольник. Проекция ж перспективная будет. На холмах будут вогнутости, во впадинах - выпуклости. 

0 голосов
ответил 26 Авг, 05 от Гость (210,080 баллов)

Давайте уж вернёмся к постановке задачи:

...снимки группируются в линии. Точки съемки на линии планируются таким образом, чтобы ... обеспечивалось необходимое перекрытие снимков (обычно 60% для перекрытия по концам снимков одной линии, и 30% для перекрытия по сторонам снимков для соседних линий)... Проекция снимков в данном случае прямоугольная (четырехугольная)... Требуется, имея DTM с разрешением ~100 м, вычислить проекцию ... границ снимка на поверхность съемки. Т.е., в результате вместо прямоугольника получится какой-то полигон. Вот его-то мне и надо определить, чтобы определить реальное перекрытие снимков на заданной местности.

Правильно ли я понимаю, что опять-таки всё сводится к определению поверхностной площади перекрытия снимков (ну и далее расчёт процентов и т.д.)? Т.е. не проекционной площади, которая собственно будет равна площади 4-угольника, а поверхностной с учётом рельефа местности внутри кадра или перекрытия?

Необходимо определить контур (полигон) снимка на данной местности. Имея полигон можно будет определить реальное перекрытие сников.

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...