Создание TIN со структурными линиями в ГИС GRASS
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Создание TIN со структурными линиями в ГИС GRASS
По результатам личных изысканий накатал статейку. Прокомментируйте, пожалуйста.
Заранее спасибо.
http://gis-lab.info/qa/struct-tin-grass.html
Заранее спасибо.
http://gis-lab.info/qa/struct-tin-grass.html
Последний раз редактировалось Максим Дубинин 09 май 2012, 21:49, всего редактировалось 1 раз.
Причина: изменена ссылка (статья опубликована)
Причина: изменена ссылка (статья опубликована)
Редактор материалов, модератор форума
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Создание TIN со структурными линиями в ГИС GRASS
Классная статья!
Что получаем на выходе? То же, что и при триангуляции Делоне? Линейный или полигональный вектор?
Что получаем на выходе? То же, что и при триангуляции Делоне? Линейный или полигональный вектор?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Создание TIN со структурными линиями в ГИС GRASS
Спасибо за быстрый отзыв.rhot писал(а): Что получаем на выходе? То же, что и при триангуляции Делоне? Линейный или полигональный вектор?
На выходе получаем набор 3D-полигонов, т.е. TIN-модель, какой она получается в GRASS. Опции для создания "линейной" TIN (только рёбра треугольников) включать не стал, т.к. при желании это легко делается одной командой типа:
Код: Выделить всё
v.type in=tin out=tin_lines type=boundary,line
Редактор материалов, модератор форума
- Пётр Дубоделов
- Завсегдатай
- Сообщения: 271
- Зарегистрирован: 21 апр 2009, 13:58
- Репутация: 12
- Откуда: Бурашево
- Контактная информация:
Re: Создание TIN со структурными линиями в ГИС GRASS
Для работы скрипта необходим любой современный дистрибутив Linux
А под виндовз нет? дискриминация!
А под виндовз нет? дискриминация!

"Если карта не соответствует местности, доверяй местности."
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Создание TIN со структурными линиями в ГИС GRASS
Дискриминация в чистом видеПётр Дубоделов писал(а):Для работы скрипта необходим любой современный дистрибутив Linux
А под виндовз нет? дискриминация!

[флейм]А ArcGIS только на Win -- это не дискриминация?

Редактор материалов, модератор форума
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Создание TIN со структурными линиями в ГИС GRASS
Спасибо за статью. Пара замечаний из сразу замеченного в случайном порядке:
- Я бы вывел определения терминов в саму статью, структурные линии, жесткие, мягкие, и т.д.
- К картинке сравнения v.delaunay, v.triange было бы неплохо добавить еще одну секцию где показать просто точки и линии и сделать эту секцию первой.
- По картинке TIN со структурными линиями, мне кажется или на ней слева точки жирнее, чем справа, создается странный эффект что сетки разные.
- Вообще по картинкам, я бы выкинул все кроме них самих, очень неэкономно место расходуется, подписи дал бы текстом. На усмотрение автора конечно.
- как строятся TIN в 3D Analyst, какой алгоритм? тот же делоне?
- вот это не очень понятно, что именно происходит при фильтрации? "В силу своего устройства <Triangle> может применяться в качестве "фильтра" для точечных/линейных/полигональных ГИС-данных"
- в описании работы v.triange нигде четко не сказано что это "грасс-морда для triangle", сразу идет описание его внутренностей. Также не сказано, зачем он вообще нужен, если есть triangle.
- Я бы вывел определения терминов в саму статью, структурные линии, жесткие, мягкие, и т.д.
- К картинке сравнения v.delaunay, v.triange было бы неплохо добавить еще одну секцию где показать просто точки и линии и сделать эту секцию первой.
- По картинке TIN со структурными линиями, мне кажется или на ней слева точки жирнее, чем справа, создается странный эффект что сетки разные.
- Вообще по картинкам, я бы выкинул все кроме них самих, очень неэкономно место расходуется, подписи дал бы текстом. На усмотрение автора конечно.
- как строятся TIN в 3D Analyst, какой алгоритм? тот же делоне?
- вот это не очень понятно, что именно происходит при фильтрации? "В силу своего устройства <Triangle> может применяться в качестве "фильтра" для точечных/линейных/полигональных ГИС-данных"
- в описании работы v.triange нигде четко не сказано что это "грасс-морда для triangle", сразу идет описание его внутренностей. Также не сказано, зачем он вообще нужен, если есть triangle.
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Создание TIN со структурными линиями в ГИС GRASS
Спасибо, Максим. Буду править.
Да, есть такой грех -- люблю делать подписи на картинках
Вообще, идея была просто "отчитаться" о том, что сделал такой модуль и показать, что оно работает. Не хотелось бы превращать статью в энциклопедию со _всеми_ терминами в области TINостроения (тем более что я совсем не специалист).
Да, есть такой грех -- люблю делать подписи на картинках

Второе предложение сверху: "Используется специально написанный для решения этой задачи модуль v.triangle, представляющий собой "обёртку" для программы Triangle."в описании работы v.triange нигде четко не сказано что это "грасс-морда для triangle"
Вообще, идея была просто "отчитаться" о том, что сделал такой модуль и показать, что оно работает. Не хотелось бы превращать статью в энциклопедию со _всеми_ терминами в области TINостроения (тем более что я совсем не специалист).
Редактор материалов, модератор форума
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Создание TIN со структурными линиями в ГИС GRASS
я бы повторил это еще раз и чуть более подробно и в описании работы v.triangle, не знаю как остальные, но я пока дошел до этого места уже забыл, что речь идет именно об обертке. Точнее я не забыл, но думаю новичок бы забыл.
Про определения - усердствовать конечно не нужно, очень кратенько.
Еще раз - интересная статья и совершенно правильно, что "отчитался". Мои замечания из серии "что улучшить", а не "без этого опубликовать нельзя".
Про определения - усердствовать конечно не нужно, очень кратенько.
Еще раз - интересная статья и совершенно правильно, что "отчитался". Мои замечания из серии "что улучшить", а не "без этого опубликовать нельзя".
пристегивайтесь, турбулентность прямо по курсу
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Создание TIN со структурными линиями в ГИС GRASS
пристегивайтесь, турбулентность прямо по курсу
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 13 мар 2011, 09:32
- Репутация: 0
Re: Создание TIN со структурными линиями в ГИС GRASS
Лично у меня подход основанный на триангуляризации Делоне никаких теплых чувст не вызывает. Это самый простой и примитивный метод интерполяции и только. Пару лет назад я написал модуль для программы PhotoMod, где использовал интерполяцию, основанную на методе гибкой пластинки (бигармоническое уравнение). Разумеется, такой метод дает гладкую поверхность, поэтому была подключена возможность вводить линии излома. Набор конуров, не обязательно замкнутых. где поверхность оставась непрерывной изламывалась (горные хребты, тальвеги, борта каньонов и т. п.). По крайней мере выглядит намного эстетичнее и дает возможность получить ЦМР на регулярной сетке и набор изолиний как полилиний, так и кривых товарища Безье. Последний вариант помимо эстетических соображений хорош еще и тем, что размер файла получается на порядок меньше, чем при использовании полилиний.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Создание TIN со структурными линиями в ГИС GRASS
Andrew_M, спасибо за информацию. Моей задачей было добавить в GRASS возможность именно триангуляции со структурными линиями (тем более что для модуля я просто использовал программу Triangle -- признанно одну из лучших в своей нише).
Буду благодарен за информацию об алгоритмах интерполяции методом "гибкой пластинки" (как я понял, это thin plate spline).
Буду благодарен за информацию об алгоритмах интерполяции методом "гибкой пластинки" (как я понял, это thin plate spline).
Редактор материалов, модератор форума
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 13 мар 2011, 09:32
- Репутация: 0
Re: Создание TIN со структурными линиями в ГИС GRASS
Ну там сложность главным образом в том, как быстро решить систему линейных уравнений. Я в свое время ругался на форумах насчет thin plate spline поскольку когда я учился то под сплайном понималась кусочно- многочленаня функция. При этом подходе для двумерной интерполции использовали заведомо дефективную идею представить двухмерную функцию как произведение одномерных сплайнов. Ясное дело, приходилось при этом строить и прямоугольную сетку. несколько более развитая такая идея есть в прогах для векторной графики типа Corel Draw. Но идея гнилая. А вот то что сейчас понимают под thin plate spline это не многочлены вовсе. эта функция, описывающая такую ситуацию. Представим себе стол и несколько гвоздей, забитых в стол на разную высоту. Возьмем тонкую гибкую пластинку и прижмем к этим гвоздям. Форма прогиба описывается бигармоническим уравнением. Решение уравнения для данной конфигурации (бесконечная поластинка ) и есть тот самый thin plate spline. Решение сводится к решению системы линейных уравннеий размерность или n+1 или n+3 там есть некие нюансы, вдаваться в которые слишком долго. ну вот для картографии если есть пикеты то по ним можно произвести интерполяцию высот на некую область. Возможно некое усовершенствование, если на системе контуров разрешим пластинке изгибаться на любой угол без сопротивления (типа разрежем бритвой и заклеем скотчем разрезы. Поперек разреза возможен изгиб без сопротивления). Так вот, если пикетов много то систему напрямую не решишь. Я использовал метод вроде image piramide. Вводим разностную аппроксимацию бигармонического уравнения и решаем для сильно уменьшенной области. Потом используем это решение как начальное приближение и решаем уравнение для более крупного масштаба и т.д. Ну еще можно с помощью метода прогонки получить быстро сходящуюся последовательность приближений. Но детально все это расписывать долго. Надеюсь, информация будет полезной. Вот ссылочка на картинку: http://smartfills.com/images/SVG2.PNGamuriy писал(а):Andrew_M, спасибо за информацию. Моей задачей было добавить в GRASS возможность именно триангуляции со структурными линиями (тем более что для модуля я просто использовал программу Triangle -- признанно одну из лучших в своей нише).
Буду благодарен за информацию об алгоритмах интерполяции методом "гибкой пластинки" (как я понял, это thin plate spline).
-
- Гуру
- Сообщения: 619
- Зарегистрирован: 09 авг 2009, 13:09
- Репутация: 67
- Ваше звание: топограф, технолог
- Откуда: Мааськва
Re: Создание TIN со структурными линиями в ГИС GRASS
Прошу прощения, если мой ответ-вопрос покажется совсем в сторону.
Но ведь для применения данного ПО структурные линии нужно же где-то взять!
С удовольствием прочитал и статью, и обсуждение - то, что нужно.
Совершенно солидарен с тем, что качественно моделировать рельеф без использования структурных линий невозможно. Но создание структурных линий - процесс сейчас ручной, т.е. требует заметного времени, квалификации, подходящего ПО, т.е. дорогостоящий. В результате (да и потому, что не все про нужность структурных линий вообще ведают) реально их используют очень-очень редко.
Поэтому, знает ли кто-нибудь о существовании ПО для автоматического выделения структурных линий рельефа? Например, по данным лазерного сканирования или т.п.?
Один добрый человек как-то прислал: http://publik.tuwien.ac.at/files/PubDat_177260.pdf
Пока что это единственное, что мне попадалось на эту тему, но это же не ПО, а изыскание.
Про модули поиска тальвегов-водоразделов в некоторых ПО видел обещания, но ни разу не слышал об их производственном использовании, и отзывов об их практической применимости. Да и бровки-подножия обрывов, откосов, канав, тальвеги промоин, ручьев и т.п. - не совсем то же, что тальвеги целых рек или водоразделы по хребтам.
Я новичок. Готов перенести свой вопрос в другую тему или создать новую - как здесь принято?
Но ведь для применения данного ПО структурные линии нужно же где-то взять!
С удовольствием прочитал и статью, и обсуждение - то, что нужно.
Совершенно солидарен с тем, что качественно моделировать рельеф без использования структурных линий невозможно. Но создание структурных линий - процесс сейчас ручной, т.е. требует заметного времени, квалификации, подходящего ПО, т.е. дорогостоящий. В результате (да и потому, что не все про нужность структурных линий вообще ведают) реально их используют очень-очень редко.
Поэтому, знает ли кто-нибудь о существовании ПО для автоматического выделения структурных линий рельефа? Например, по данным лазерного сканирования или т.п.?
Один добрый человек как-то прислал: http://publik.tuwien.ac.at/files/PubDat_177260.pdf
Пока что это единственное, что мне попадалось на эту тему, но это же не ПО, а изыскание.
Про модули поиска тальвегов-водоразделов в некоторых ПО видел обещания, но ни разу не слышал об их производственном использовании, и отзывов об их практической применимости. Да и бровки-подножия обрывов, откосов, канав, тальвеги промоин, ручьев и т.п. - не совсем то же, что тальвеги целых рек или водоразделы по хребтам.
Я новичок. Готов перенести свой вопрос в другую тему или создать новую - как здесь принято?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Создание TIN со структурными линиями в ГИС GRASS
Мне кажется, стоит создать новую тему в разделе "Общий - ПО". Вопрос очень интересный.АлексЮстасу писал(а):знает ли кто-нибудь о существовании ПО для автоматического выделения структурных линий рельефа? Например, по данным лазерного сканирования или т.п.?
В серьёзных растровых ГИС типа GRASS/SAGA и в гидрогеоморфологическом ПО типа TauDEM можно получать по ЦМР сеть водотоков (тальвеги), водоразделы сложнее, но тоже выделяются. Главное, что для этого нужна ЦМР (растровая).АлексЮстасу писал(а): Про модули поиска тальвегов-водоразделов в некоторых ПО видел обещания, но ни разу не слышал об их производственном использовании, и отзывов об их практической применимости.
Мне кажется, такие данные обычно либо берутся по результатам топосъёмок, либо оцифровываются по готовым топокартам (топопланам).АлексЮстасу писал(а): Да и бровки-подножия обрывов, откосов, канав, тальвеги промоин, ручьев и т.п. - не совсем то же, что тальвеги целых рек или водоразделы по хребтам.
Редактор материалов, модератор форума
-
- Новоприбывший
- Сообщения: 1
- Зарегистрирован: 21 авг 2012, 10:39
- Репутация: 0
Re: Создание TIN со структурными линиями в ГИС GRASS
Hi,
I used v.triangle on windows, and the results show no 3D information. Any clue about what could be wrong? I use 3D vectors, points and lines:
v.triangle.sh -c points=berchisesti1920curbepct lines=berschisesti1920relief tin=berchisesti
The script is very useful! Thanks!
Mihai
I used v.triangle on windows, and the results show no 3D information. Any clue about what could be wrong? I use 3D vectors, points and lines:
v.triangle.sh -c points=berchisesti1920curbepct lines=berschisesti1920relief tin=berchisesti
The script is very useful! Thanks!
Mihai
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей