Помогите разбить склон на 3 части

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
bichek
Интересующийся
Сообщения: 27
Зарегистрирован: 04 сен 2010, 11:15
Репутация: 1
Откуда: Красноярск

Помогите разбить склон на 3 части

Сообщение bichek » 11 янв 2011, 11:32

1) Помогите разбить склоны на 3 части: верхние, средние, нижние.
2) (повтор темы, каюсь, но очень надо, пора защищаться) Требуется выделить формы склонов на выпуклые и вогнутые.
Хоть кто-нибудь об этом слышал? говорят в Москве кому-то удалось.

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Помогите разбить склон на 3 части

Сообщение KolesovDmitry » 11 янв 2011, 14:01

bichek писал(а):Требуется выделить формы склонов на выпуклые и вогнутые.
Конкретно для склонов не скажу, зато тут ходят геоморфологи, они могут подсказать какие-нибудь специфические методы.

Чисто математически же задача решается очень просто: в одномерном случае достаточно найти вторую производную и посмотреть на ее знак. В случае поверхности (функции от нескольких переменных) нужно использовать несколько более сложное правило:

чтобы функция была выпуклой на каком-то множестве, нужно, чтобы второй дифференциал этой функции на заданном множестве был положительно определенной квадратичной формой

Для расчета частных производных можно применить или готовые решения (скажем, GRASS, наверняка есть и другие), или, если нет сложностей с математикой, подсчитать самостоятельно.

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Помогите разбить склон на 3 части

Сообщение Boris » 11 янв 2011, 16:03

я могу сказать топорное решение проблемы - если взять модель с увеличенным размером решетки, для равномерных поверхностей, или с уменьшенным числом вершин и граней, линейно интерполировать ее к размерности исходной модели, а затем вычесть одно из другого, то если вычитать из грубой точную, то в местах вогнутых склонов должны получаться отрицательные значения.
Ну а так, надо смотреть за поведением производных от высот величин, в ENVI из кроме уклонов еще штук 5.

gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Помогите разбить склон на 3 части

Сообщение gamm » 11 янв 2011, 18:57

Boris писал(а):я могу сказать топорное решение проблемы - если взять модель с увеличенным размером решетки, для равномерных поверхностей, или с уменьшенным числом вершин и граней, линейно интерполировать ее к размерности исходной модели, а затем вычесть одно из другого, то если вычитать из грубой точную, то в местах вогнутых склонов должны получаться отрицательные значения.
Ну а так, надо смотреть за поведением производных от высот величин, в ENVI из кроме уклонов еще штук 5.
лучше сделать все по фэншую. Стандартная морфометрия есть в SAGA, все формулы есть на сайте Вуда ссылка , там же и программа, вроде она тоже должна выводить морфометрию. Для определения выпуклый/вогнутый нужно брать полную кривизну и смотреть знак (профильная кривизна и кривизна изолиний дадут форму и всякие конвергенции/дивергенции). Более точно все это определяется через квадратичные формы, см.Вуда

да, а чтобы разбить склон на 3 части, нужно считать длину линий тока, SAGA должна уметь, и TAS ссылка тоже. Может там и разбиение есть, поскольку я не понимаю как без программирования линии тока поделить на 3 равные части.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Помогите разбить склон на 3 части

Сообщение Александр Мурый » 13 янв 2011, 00:18

Насчёт 1-го: что-то сходу не припомню критериев разделения склонов на верхние/средние/нижние.

По 2-й задаче: модуль GRASS r.param.scale, опция param=feature. Всё опять по вышеупомянутому товарищу Вуду.
Редактор материалов, модератор форума

gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Помогите разбить склон на 3 части

Сообщение gamm » 13 янв 2011, 08:27

amuriy писал(а):Насчёт 1-го: что-то сходу не припомню критериев разделения склонов на верхние/средние/нижние.
если брать геометрию, то обычно верхняя часть выпуклая, средняя плоская, и нижняя - "впуклая". Т.е. можно по кривизне, эрозионному индексу (считает TAS), да и оператор Лапласа нам в помощь, вместе с LoG.

Но я ни разу не геоморфолог, могу заблуждаться :D

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Помогите разбить склон на 3 части

Сообщение Александр Мурый » 13 янв 2011, 09:29

верхняя часть выпуклая, средняя плоская, и нижняя - "впуклая"
Ну да, выпуклый / прямой / вогнутый склон. Но тогда задачи 1 и 2 почти совпадают.
Редактор материалов, модератор форума

bichek
Интересующийся
Сообщения: 27
Зарегистрирован: 04 сен 2010, 11:15
Репутация: 1
Откуда: Красноярск

Re: Помогите разбить склон на 3 части

Сообщение bichek » 13 янв 2011, 12:17

amuriy писал(а):
верхняя часть выпуклая, средняя плоская, и нижняя - "впуклая"
Ну да, выпуклый / прямой / вогнутый склон. Но тогда задачи 1 и 2 почти совпадают.
не согласен, все зависит от масштаба) ну а выпуклый склон он и в нижней части выпуклый, а вообще тут главное что верхние 2/3 части выпуклые)
amuriy писал(а):Насчёт 1-го: что-то сходу не припомню критериев разделения склонов на верхние/средние/нижние.

По 2-й задаче: модуль GRASS r.param.scale, опция param=feature. Всё опять по вышеупомянутому товарищу Вуду.
Вроде так считается у экологов, что форма склона может вляить на распределение растительности
Пасиб, буду осваивать или искать спецов)

bichek
Интересующийся
Сообщения: 27
Зарегистрирован: 04 сен 2010, 11:15
Репутация: 1
Откуда: Красноярск

Re: Помогите разбить склон на 3 части

Сообщение bichek » 13 янв 2011, 12:33

А в арке делают? может скриптик имеется?

bichek
Интересующийся
Сообщения: 27
Зарегистрирован: 04 сен 2010, 11:15
Репутация: 1
Откуда: Красноярск

Re: Помогите разбить склон на 3 части

Сообщение bichek » 13 янв 2011, 12:45

KolesovDmitry писал(а):
bichek писал(а):Требуется выделить формы склонов на выпуклые и вогнутые.
Чисто математически же задача решается очень просто: в одномерном случае достаточно найти вторую производную и посмотреть на ее знак. В случае поверхности (функции от нескольких переменных) нужно использовать несколько более сложное правило:

чтобы функция была выпуклой на каком-то множестве, нужно, чтобы второй дифференциал этой функции на заданном множестве был положительно определенной квадратичной формой
.
Все это приводит к тому, что просчитываются категории вне арка (показал вашу подсказку математику, говорит можно, только в своей программке) а мне все это нужно для того, чтоб полученные данные о формах склонов использовать в оверлейных операциях,
вопрос - реально ли после такой прогонки матрицы рельефа ч/з стороннее ПО загнать в ГИСы, или может я чего-то недопонял?
Последний раз редактировалось bichek 13 янв 2011, 18:06, всего редактировалось 1 раз.

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Помогите разбить склон на 3 части

Сообщение KolesovDmitry » 13 янв 2011, 17:09

bichek писал(а): Все это приводит к тому, что просчитываются категории вне арка (показал вашу подсказку математику, грит можно, только в своей программке) а мне все это нужно для того, чтоб полученные данные о формах склонов использовать в оверлейных операциях,
вопрос - реально ли после такой прогонки матрицы рельефа ч/з стороннее ПО загнать в ГИСы, или может я чего-то недопонял?
Мне кажется, что численное дифференцирование довольно легко делается и непосредственно в ГИС: берете растр с высотами и вычитаете из него растр, сдвинутый по одной из осей, делите разность на шаг сетки -- вот вам и оценка первой частной производной по этой координате. Аналогично получаете другую частную производную, а так же производные второго порядка. Дешево и сердито.

gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Помогите разбить склон на 3 части

Сообщение gamm » 13 янв 2011, 19:28

KolesovDmitry писал(а):довольно легко делается и непосредственно в ГИС: берете растр с высотами и вычитаете из него растр, сдвинутый по одной из осей, делите разность на шаг сетки -- вот вам и оценка первой частной производной по этой координате. Аналогично получаете другую частную производную, а так же производные второго порядка. Дешево и сердито.
получите не очень хороший результат, особенно для вторых производны (да и для первых тоже). Стоит посмотреть Вуда и help от SURFER. Ну и книжки Самарского по численным методам (раздел про конечные разности и ошибки аппроксимации) :)

Ответить

Вернуться в «Общий - ПО»

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

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