Страница 1 из 2

Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 04 май 2012, 11:16
Александр Мурый
По результатам личных изысканий накатал статейку. Прокомментируйте, пожалуйста.
Заранее спасибо.

http://gis-lab.info/qa/struct-tin-grass.html

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 04 май 2012, 11:50
rhot
Классная статья!

Что получаем на выходе? То же, что и при триангуляции Делоне? Линейный или полигональный вектор?

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 04 май 2012, 12:01
Александр Мурый
rhot писал(а): Что получаем на выходе? То же, что и при триангуляции Делоне? Линейный или полигональный вектор?
Спасибо за быстрый отзыв.

На выходе получаем набор 3D-полигонов, т.е. TIN-модель, какой она получается в GRASS. Опции для создания "линейной" TIN (только рёбра треугольников) включать не стал, т.к. при желании это легко делается одной командой типа:

Код: Выделить всё

v.type in=tin out=tin_lines type=boundary,line

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 04 май 2012, 12:56
Пётр Дубоделов
Для работы скрипта необходим любой современный дистрибутив Linux

А под виндовз нет? дискриминация! :wink:

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 04 май 2012, 13:06
Александр Мурый
Пётр Дубоделов писал(а):Для работы скрипта необходим любой современный дистрибутив Linux

А под виндовз нет? дискриминация! :wink:
Дискриминация в чистом виде :) Кстати, при нужде можно использовать Cygwin или запустить OSGeo-Live в виртуальной машине.

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

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 05 май 2012, 15:40
Максим Дубинин
Спасибо за статью. Пара замечаний из сразу замеченного в случайном порядке:

- Я бы вывел определения терминов в саму статью, структурные линии, жесткие, мягкие, и т.д.
- К картинке сравнения v.delaunay, v.triange было бы неплохо добавить еще одну секцию где показать просто точки и линии и сделать эту секцию первой.
- По картинке TIN со структурными линиями, мне кажется или на ней слева точки жирнее, чем справа, создается странный эффект что сетки разные.
- Вообще по картинкам, я бы выкинул все кроме них самих, очень неэкономно место расходуется, подписи дал бы текстом. На усмотрение автора конечно.
- как строятся TIN в 3D Analyst, какой алгоритм? тот же делоне?
- вот это не очень понятно, что именно происходит при фильтрации? "В силу своего устройства <Triangle> может применяться в качестве "фильтра" для точечных/линейных/полигональных ГИС-данных"
- в описании работы v.triange нигде четко не сказано что это "грасс-морда для triangle", сразу идет описание его внутренностей. Также не сказано, зачем он вообще нужен, если есть triangle.

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 05 май 2012, 15:57
Александр Мурый
Спасибо, Максим. Буду править.
Да, есть такой грех -- люблю делать подписи на картинках :twisted:
в описании работы v.triange нигде четко не сказано что это "грасс-морда для triangle"
Второе предложение сверху: "Используется специально написанный для решения этой задачи модуль v.triangle, представляющий собой "обёртку" для программы Triangle."

Вообще, идея была просто "отчитаться" о том, что сделал такой модуль и показать, что оно работает. Не хотелось бы превращать статью в энциклопедию со _всеми_ терминами в области TINостроения (тем более что я совсем не специалист).

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 05 май 2012, 16:01
Максим Дубинин
я бы повторил это еще раз и чуть более подробно и в описании работы v.triangle, не знаю как остальные, но я пока дошел до этого места уже забыл, что речь идет именно об обертке. Точнее я не забыл, но думаю новичок бы забыл.

Про определения - усердствовать конечно не нужно, очень кратенько.

Еще раз - интересная статья и совершенно правильно, что "отчитался". Мои замечания из серии "что улучшить", а не "без этого опубликовать нельзя".

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 09 май 2012, 21:50
Максим Дубинин
статья опубликована, спасибо автору.

http://gis-lab.info/qa/struct-tin-grass.html

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 14 май 2012, 22:36
Andrew_M
Лично у меня подход основанный на триангуляризации Делоне никаких теплых чувст не вызывает. Это самый простой и примитивный метод интерполяции и только. Пару лет назад я написал модуль для программы PhotoMod, где использовал интерполяцию, основанную на методе гибкой пластинки (бигармоническое уравнение). Разумеется, такой метод дает гладкую поверхность, поэтому была подключена возможность вводить линии излома. Набор конуров, не обязательно замкнутых. где поверхность оставась непрерывной изламывалась (горные хребты, тальвеги, борта каньонов и т. п.). По крайней мере выглядит намного эстетичнее и дает возможность получить ЦМР на регулярной сетке и набор изолиний как полилиний, так и кривых товарища Безье. Последний вариант помимо эстетических соображений хорош еще и тем, что размер файла получается на порядок меньше, чем при использовании полилиний.

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 15 май 2012, 12:55
Александр Мурый
Andrew_M, спасибо за информацию. Моей задачей было добавить в GRASS возможность именно триангуляции со структурными линиями (тем более что для модуля я просто использовал программу Triangle -- признанно одну из лучших в своей нише).

Буду благодарен за информацию об алгоритмах интерполяции методом "гибкой пластинки" (как я понял, это thin plate spline).

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 16 май 2012, 09:05
Andrew_M
amuriy писал(а):Andrew_M, спасибо за информацию. Моей задачей было добавить в GRASS возможность именно триангуляции со структурными линиями (тем более что для модуля я просто использовал программу Triangle -- признанно одну из лучших в своей нише).

Буду благодарен за информацию об алгоритмах интерполяции методом "гибкой пластинки" (как я понял, это thin plate spline).
Ну там сложность главным образом в том, как быстро решить систему линейных уравнений. Я в свое время ругался на форумах насчет thin plate spline поскольку когда я учился то под сплайном понималась кусочно- многочленаня функция. При этом подходе для двумерной интерполции использовали заведомо дефективную идею представить двухмерную функцию как произведение одномерных сплайнов. Ясное дело, приходилось при этом строить и прямоугольную сетку. несколько более развитая такая идея есть в прогах для векторной графики типа Corel Draw. Но идея гнилая. А вот то что сейчас понимают под thin plate spline это не многочлены вовсе. эта функция, описывающая такую ситуацию. Представим себе стол и несколько гвоздей, забитых в стол на разную высоту. Возьмем тонкую гибкую пластинку и прижмем к этим гвоздям. Форма прогиба описывается бигармоническим уравнением. Решение уравнения для данной конфигурации (бесконечная поластинка ) и есть тот самый thin plate spline. Решение сводится к решению системы линейных уравннеий размерность или n+1 или n+3 там есть некие нюансы, вдаваться в которые слишком долго. ну вот для картографии если есть пикеты то по ним можно произвести интерполяцию высот на некую область. Возможно некое усовершенствование, если на системе контуров разрешим пластинке изгибаться на любой угол без сопротивления (типа разрежем бритвой и заклеем скотчем разрезы. Поперек разреза возможен изгиб без сопротивления). Так вот, если пикетов много то систему напрямую не решишь. Я использовал метод вроде image piramide. Вводим разностную аппроксимацию бигармонического уравнения и решаем для сильно уменьшенной области. Потом используем это решение как начальное приближение и решаем уравнение для более крупного масштаба и т.д. Ну еще можно с помощью метода прогонки получить быстро сходящуюся последовательность приближений. Но детально все это расписывать долго. Надеюсь, информация будет полезной. Вот ссылочка на картинку: http://smartfills.com/images/SVG2.PNG

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 08 июн 2012, 19:17
АлексЮстасу
Прошу прощения, если мой ответ-вопрос покажется совсем в сторону.
Но ведь для применения данного ПО структурные линии нужно же где-то взять!
С удовольствием прочитал и статью, и обсуждение - то, что нужно.
Совершенно солидарен с тем, что качественно моделировать рельеф без использования структурных линий невозможно. Но создание структурных линий - процесс сейчас ручной, т.е. требует заметного времени, квалификации, подходящего ПО, т.е. дорогостоящий. В результате (да и потому, что не все про нужность структурных линий вообще ведают) реально их используют очень-очень редко.
Поэтому, знает ли кто-нибудь о существовании ПО для автоматического выделения структурных линий рельефа? Например, по данным лазерного сканирования или т.п.?

Один добрый человек как-то прислал: http://publik.tuwien.ac.at/files/PubDat_177260.pdf
Пока что это единственное, что мне попадалось на эту тему, но это же не ПО, а изыскание.
Про модули поиска тальвегов-водоразделов в некоторых ПО видел обещания, но ни разу не слышал об их производственном использовании, и отзывов об их практической применимости. Да и бровки-подножия обрывов, откосов, канав, тальвеги промоин, ручьев и т.п. - не совсем то же, что тальвеги целых рек или водоразделы по хребтам.

Я новичок. Готов перенести свой вопрос в другую тему или создать новую - как здесь принято?

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 09 июн 2012, 11:52
Александр Мурый
АлексЮстасу писал(а):знает ли кто-нибудь о существовании ПО для автоматического выделения структурных линий рельефа? Например, по данным лазерного сканирования или т.п.?
Мне кажется, стоит создать новую тему в разделе "Общий - ПО". Вопрос очень интересный.
АлексЮстасу писал(а): Про модули поиска тальвегов-водоразделов в некоторых ПО видел обещания, но ни разу не слышал об их производственном использовании, и отзывов об их практической применимости.
В серьёзных растровых ГИС типа GRASS/SAGA и в гидрогеоморфологическом ПО типа TauDEM можно получать по ЦМР сеть водотоков (тальвеги), водоразделы сложнее, но тоже выделяются. Главное, что для этого нужна ЦМР (растровая).
АлексЮстасу писал(а): Да и бровки-подножия обрывов, откосов, канав, тальвеги промоин, ручьев и т.п. - не совсем то же, что тальвеги целых рек или водоразделы по хребтам.
Мне кажется, такие данные обычно либо берутся по результатам топосъёмок, либо оцифровываются по готовым топокартам (топопланам).

Re: Создание TIN со структурными линиями в ГИС GRASS

Добавлено: 21 авг 2012, 10:48
mihai_niculita
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