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

Создание модели поверхности не изолиниями

Добавлено: 31 окт 2011, 00:33
ymr3R9Jge
Дорбого времени суток. Начал осваивать свободные ГИС. Один из первых вопросов - нужно оцифровать очень сложную карту местности, которая отрисована не изолиниями, а бровками с разными отметками на разных концах бровки (что-то вроде плана горных работ). Можно-ли средствами QGIS или GRASS сделать следующий трюк - отрисовать полилинию, посадить нужные точки (для которых на первичной карте вынесены отметки) на нужную высоту, а для остальных точек проделать интерполяцию Z-отметок между этими "опорными" точками???

Re: Создание модели поверхности не изолиниями

Добавлено: 31 окт 2011, 08:22
Александр Мурый
ymr3R9Jge писал(а):Один из первых вопросов - нужно оцифровать очень сложную карту местности
Вообще первым делом на ум приходит Easy Trace 7.99 (бесплатная версия).
ymr3R9Jge писал(а):Можно-ли средствами QGIS или GRASS сделать следующий трюк - отрисовать полилинию, посадить нужные точки (для которых на первичной карте вынесены отметки) на нужную высоту, а для остальных точек проделать интерполяцию Z-отметок между этими "опорными" точками???
А зачем рисовать полилинию, если интерполяция высот будет проводиться по точкам? В QGIS не густо с этим (и без 3D-геометрии), в GRASS имеется значительное количество модулей для интерполяции (и настоящая 3D-геометрия, если она нужна). Можно ещё в SAGA сделать.

Re: Создание модели поверхности не изолиниями

Добавлено: 31 окт 2011, 09:29
gamm
amuriy писал(а): А зачем рисовать полилинию, если интерполяция высот будет проводиться по точкам?
линия нужна - мы уже сталкивались с таким на реках, когда есть отметки уровней на створах, и нужно интерполировать уровни вдоль реки. В первом приближении можно интерполировать линейно по длине, вставляя точки через каждые ХХХ метров. И обязательно нужно убрать общий тренд (если это не 500-й план, то можно использовать что-то типа SRTM/DEM), и интерполировать только отклонения. Если есть резкие границы, то нужно еще построить линии fault, через которые нельзя интерполировать - не помню, есть ли такое в GRASS (в SURFER точно есть). Как-то так ... и еще, бывают артефакты материала, например изолиний нет под строениями в городе. Их придется заполнить руками ...

Re: Создание модели поверхности не изолиниями

Добавлено: 31 окт 2011, 10:12
Александр Мурый
В GRASS нет интерполяции со "структурными линиями". Из СПО такая интерполяция есть, например, в surfit, ещё вроде бы в бесплатной бразильской ГИС SPRING.

Re: Создание модели поверхности не изолиниями

Добавлено: 31 окт 2011, 15:47
ymr3R9Jge
gamm писал(а): линия нужна - мы уже сталкивались с таким на реках, когда есть отметки уровней на створах, и нужно интерполировать уровни вдоль реки. В первом приближении можно интерполировать линейно по длине, вставляя точки через каждые ХХХ метров.
А можно подробнее?
P.S. Попробую сузить рамки задачи (и заодно усложнить решение) - Debian Linux+GRASS+QGIS (т.е. нужно сохранить "чистоту лицензионной совести").

Re: Создание модели поверхности не изолиниями

Добавлено: 31 окт 2011, 16:07
Александр Мурый
ymr3R9Jge писал(а):Попробую сузить рамки задачи (и заодно усложнить решение) - Debian Linux+GRASS+QGIS (т.е. нужно сохранить "чистоту лицензионной совести").
Насчёт GRASS --- добро пожаловать на соотв-й форум. Желательно с конкретными примерами данных и более или менее прояснённой задачей.

Сразу скажу: ставить точки с определ. дистанцией можно; назначать им определ. высоту можно; анализ близости, если нужен, есть (модуль v.distance) + интерполяция на выбор. Ограничивать интерполирование можно с помощью растровых масок.

Re: Создание модели поверхности не изолиниями

Добавлено: 31 окт 2011, 21:40
ymr3R9Jge
amuriy писал(а): ...Желательно с конкретными примерами данных и более или менее прояснённой задачей.
Привожу пример исходных данных
Primer_1.png
Primer_1.png (56.96 КБ) 9044 просмотра
На карте есть отметки вдоль бровок, и есть отдельные отметки по площади. Нужно оставить (оцифровать) обе разновидности. С точками проблем не возникает, а вот с линиями - не знаю с чего начать.

Re: Создание модели поверхности не изолиниями

Добавлено: 31 окт 2011, 21:42
Voltron
Использовать вышеупомянутый EasyTrace?

Re: Создание модели поверхности не изолиниями

Добавлено: 01 ноя 2011, 09:15
Александр Мурый
ymr3R9Jge писал(а): С точками проблем не возникает, а вот с линиями - не знаю с чего начать.
Как вариант:
-- оцифровать все точки и бровки, точкам назначить высоту; бровкам, по идее, тоже надо задать высоту -- она через 5 метров или я что-то не понял (?);
-- построить TIN: бровки использовать как "структурные линии" (а вот "soft breaklines" или "hard breaklines" -- это я не знаю). Из своб. ПО построение TIN со структ. линиями (обоих типов) я нашёл только здесь, сделано как алгоритм Sextante. На работоспособность сам пока не проверял.

Re: Создание модели поверхности не изолиниями

Добавлено: 01 ноя 2011, 10:59
ymr3R9Jge
amuriy писал(а): Как вариант:
-- оцифровать все точки и бровки, точкам назначить высоту; бровкам, по идее, тоже надо задать высоту -- она через 5 метров или я что-то не понял (?);
Нет, не через 5 метров - расстояние между точками с зафиксированными отметками по бровкам может достигать 120-150 метров. В общем - даже на протяжении одной бровки могут быть разные расстояния.