Страница 1 из 1
Помогите разбить склон на 3 части
Добавлено: 11 янв 2011, 11:32
bichek
1) Помогите разбить склоны на 3 части: верхние, средние, нижние.
2) (повтор темы, каюсь, но очень надо, пора защищаться) Требуется выделить формы склонов на выпуклые и вогнутые.
Хоть кто-нибудь об этом слышал? говорят в Москве кому-то удалось.
Re: Помогите разбить склон на 3 части
Добавлено: 11 янв 2011, 14:01
KolesovDmitry
bichek писал(а):Требуется выделить формы склонов на выпуклые и вогнутые.
Конкретно для склонов не скажу, зато тут ходят геоморфологи, они могут подсказать какие-нибудь специфические методы.
Чисто математически же задача решается очень просто: в одномерном случае достаточно найти
вторую производную и посмотреть на ее знак. В случае поверхности (функции от нескольких переменных) нужно использовать несколько более сложное правило:
чтобы функция была выпуклой на каком-то множестве, нужно, чтобы второй дифференциал этой функции на заданном множестве был положительно определенной квадратичной формой
Для расчета частных производных можно применить или готовые решения (скажем, GRASS, наверняка есть и другие), или, если нет сложностей с математикой, подсчитать самостоятельно.
Re: Помогите разбить склон на 3 части
Добавлено: 11 янв 2011, 16:03
Boris
я могу сказать топорное решение проблемы - если взять модель с увеличенным размером решетки, для равномерных поверхностей, или с уменьшенным числом вершин и граней, линейно интерполировать ее к размерности исходной модели, а затем вычесть одно из другого, то если вычитать из грубой точную, то в местах вогнутых склонов должны получаться отрицательные значения.
Ну а так, надо смотреть за поведением производных от высот величин, в ENVI из кроме уклонов еще штук 5.
Re: Помогите разбить склон на 3 части
Добавлено: 11 янв 2011, 18:57
gamm
Boris писал(а):я могу сказать топорное решение проблемы - если взять модель с увеличенным размером решетки, для равномерных поверхностей, или с уменьшенным числом вершин и граней, линейно интерполировать ее к размерности исходной модели, а затем вычесть одно из другого, то если вычитать из грубой точную, то в местах вогнутых склонов должны получаться отрицательные значения.
Ну а так, надо смотреть за поведением производных от высот величин, в ENVI из кроме уклонов еще штук 5.
лучше сделать все по фэншую. Стандартная морфометрия есть в SAGA, все формулы есть на сайте Вуда
ссылка , там же и программа, вроде она тоже должна выводить морфометрию. Для определения выпуклый/вогнутый нужно брать полную кривизну и смотреть знак (профильная кривизна и кривизна изолиний дадут форму и всякие конвергенции/дивергенции). Более точно все это определяется через квадратичные формы, см.Вуда
да, а чтобы разбить склон на 3 части, нужно считать длину линий тока, SAGA должна уметь, и TAS
ссылка тоже. Может там и разбиение есть, поскольку я не понимаю как без программирования линии тока поделить на 3 равные части.
Re: Помогите разбить склон на 3 части
Добавлено: 13 янв 2011, 00:18
Александр Мурый
Насчёт 1-го: что-то сходу не припомню критериев разделения склонов на верхние/средние/нижние.
По 2-й задаче: модуль GRASS
r.param.scale, опция
param=feature. Всё опять по вышеупомянутому товарищу Вуду.
Re: Помогите разбить склон на 3 части
Добавлено: 13 янв 2011, 08:27
gamm
amuriy писал(а):Насчёт 1-го: что-то сходу не припомню критериев разделения склонов на верхние/средние/нижние.
если брать геометрию, то обычно верхняя часть выпуклая, средняя плоская, и нижняя - "впуклая". Т.е. можно по кривизне, эрозионному индексу (считает TAS), да и оператор Лапласа нам в помощь, вместе с LoG.
Но я ни разу не геоморфолог, могу заблуждаться

Re: Помогите разбить склон на 3 части
Добавлено: 13 янв 2011, 09:29
Александр Мурый
верхняя часть выпуклая, средняя плоская, и нижняя - "впуклая"
Ну да, выпуклый / прямой / вогнутый склон. Но тогда задачи 1 и 2 почти совпадают.
Re: Помогите разбить склон на 3 части
Добавлено: 13 янв 2011, 12:17
bichek
amuriy писал(а):верхняя часть выпуклая, средняя плоская, и нижняя - "впуклая"
Ну да, выпуклый / прямой / вогнутый склон. Но тогда задачи 1 и 2 почти совпадают.
не согласен, все зависит от масштаба) ну а выпуклый склон он и в нижней части выпуклый, а вообще тут главное что верхние 2/3 части выпуклые)
amuriy писал(а):Насчёт 1-го: что-то сходу не припомню критериев разделения склонов на верхние/средние/нижние.
По 2-й задаче: модуль GRASS
r.param.scale, опция
param=feature. Всё опять по вышеупомянутому товарищу Вуду.
Вроде так считается у экологов, что форма склона может вляить на распределение растительности
Пасиб, буду осваивать или искать спецов)
Re: Помогите разбить склон на 3 части
Добавлено: 13 янв 2011, 12:33
bichek
А в арке делают? может скриптик имеется?
Re: Помогите разбить склон на 3 части
Добавлено: 13 янв 2011, 12:45
bichek
KolesovDmitry писал(а):bichek писал(а):Требуется выделить формы склонов на выпуклые и вогнутые.
Чисто математически же задача решается очень просто: в одномерном случае достаточно найти
вторую производную и посмотреть на ее знак. В случае поверхности (функции от нескольких переменных) нужно использовать несколько более сложное правило:
чтобы функция была выпуклой на каком-то множестве, нужно, чтобы второй дифференциал этой функции на заданном множестве был положительно определенной квадратичной формой
.
Все это приводит к тому, что просчитываются категории вне арка (показал вашу подсказку математику, говорит можно, только в своей программке) а мне все это нужно для того, чтоб полученные данные о формах склонов использовать в оверлейных операциях,
вопрос - реально ли после такой прогонки матрицы рельефа ч/з стороннее ПО загнать в ГИСы, или может я чего-то недопонял?
Re: Помогите разбить склон на 3 части
Добавлено: 13 янв 2011, 17:09
KolesovDmitry
bichek писал(а):
Все это приводит к тому, что просчитываются категории вне арка (показал вашу подсказку математику, грит можно, только в своей программке) а мне все это нужно для того, чтоб полученные данные о формах склонов использовать в оверлейных операциях,
вопрос - реально ли после такой прогонки матрицы рельефа ч/з стороннее ПО загнать в ГИСы, или может я чего-то недопонял?
Мне кажется, что
численное дифференцирование довольно легко делается и непосредственно в ГИС: берете растр с высотами и вычитаете из него растр, сдвинутый по одной из осей, делите разность на шаг сетки -- вот вам и оценка первой частной производной по этой координате. Аналогично получаете другую частную производную, а так же производные второго порядка. Дешево и сердито.
Re: Помогите разбить склон на 3 части
Добавлено: 13 янв 2011, 19:28
gamm
KolesovDmitry писал(а):довольно легко делается и непосредственно в ГИС: берете растр с высотами и вычитаете из него растр, сдвинутый по одной из осей, делите разность на шаг сетки -- вот вам и оценка первой частной производной по этой координате. Аналогично получаете другую частную производную, а так же производные второго порядка. Дешево и сердито.
получите не очень хороший результат, особенно для вторых производны (да и для первых тоже). Стоит посмотреть Вуда и help от SURFER. Ну и книжки Самарского по численным методам (раздел про конечные разности и ошибки аппроксимации)
