Получение горизонталей при наличии нескольких высоток.

Вопросы и ответы по ГИС SAGA
evge_myasnikov
Интересующийся
Сообщения: 28
Зарегистрирован: 13 июн 2015, 11:59
Репутация: 3
Откуда: Россия, город Липецк

Получение горизонталей при наличии нескольких высоток.

Сообщение evge_myasnikov » 13 мар 2016, 12:58

Предлагаю знающим форумчанам помочь решить такую задачу.

Исходные данные: топооснова с контрольными точками; абсолютные отметки высоты в каждой контрольной точке.
Задача: получить карту горизонталей для исходной топоосновы используя контрольные точки и их высоты.

Наверняка, способ решения этой задачи пригодится посетителям этого форума в будущем, т.к. описанная задача имеет общий вид, то есть она не частна.

Александр Мурый
Гуру
Сообщения: 5171
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 779
Ваше звание: званий не имею
Откуда: Москва

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение Александр Мурый » 13 мар 2016, 13:20

Оцифровать точки, занести высоты в атрибуты; построить грид (растр высот) по точкам любым способом интерполяции (например, сплайнами); построить горизонтали по гриду.
Редактор материалов, модератор форума

evge_myasnikov
Интересующийся
Сообщения: 28
Зарегистрирован: 13 июн 2015, 11:59
Репутация: 3
Откуда: Россия, город Липецк

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение evge_myasnikov » 13 мар 2016, 14:36

Александр Мурый писал(а):Оцифровать точки, занести высоты в атрибуты; построить грид (растр высот) по точкам любым способом интерполяции (например, сплайнами); построить горизонтали по гриду.
Александр, благодарю за информацию. Мы с Вами ранее переписывались по этому вопросу; я выполнил все инструкции, которые Вы привели, но желаемого результата не получилось, я в этом деле зашёл в тупик.

Думаю, если взяться за создание пошаговой инструкции по решению описанной задачи так, как это сделано, например, в статье, то она (инструкция) была бы полезна для начинающих пользователей SAGA.

Такое подробное описание пригодилось бы не только мне, но и всем форумчанам, сталкнувшимся с подобным вопросом.

Александр Мурый
Гуру
Сообщения: 5171
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 779
Ваше звание: званий не имею
Откуда: Москва

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение Александр Мурый » 13 мар 2016, 15:20

По-хорошему, вы бы написали, что именно у вас получилось, что не получилось, какие _конкретно_ проблемы и ошибки. Инструкцию писать я прям сейчас не сяду, извините.
Редактор материалов, модератор форума

evge_myasnikov
Интересующийся
Сообщения: 28
Зарегистрирован: 13 июн 2015, 11:59
Репутация: 3
Откуда: Россия, город Липецк

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение evge_myasnikov » 13 мар 2016, 16:21

Как Вы описали, я создал точечный 2D-шейп ("Create New Shapes Layer") с таблицей атрибутов, где сделал поле типа "4 byte floating point number" для моей карты и занёс туда нужные значения. Затем сделал 3D-точки, используя модуль "Convert Vertex Type (2D/3D)". Там в качестве поля для Z я указал нужное поле.

Подскажите, пожалуйста, как получить горизонтали из полученного слоя с трёхмерными точками.

Аватара пользователя
jerry-maori
Гуру
Сообщения: 570
Зарегистрирован: 22 авг 2012, 17:02
Репутация: 135
Откуда: Нижний Новгород

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение jerry-maori » 13 мар 2016, 16:52

Вам не надо 3D точки.
Точнее надо, но не они.
У вас исходно по сути есть таблица с 3 столбцами - X координата, Y координата, Z координата. Первые две идут на формирование геометрии, 3-ая -- атрибут.
Всё.
На основе этой таблицы строит растр (не 3D точки, а именно растр) высот.
И далее хоть горизонтали, хоть что иное....
+ всяко это в SAGA типовая процедура...

bim2010
Гуру
Сообщения: 930
Зарегистрирован: 27 янв 2009, 22:57
Статьи: 1
Проекты: 2
Репутация: 232

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение bim2010 » 13 мар 2016, 17:15

viewtopic.php?f=27&t=17151&hilit=+Spati ... cs#p126082
Если из грида построить шейпы то: Geoprocessing ==> Shapes ==> Grid ==>Vectorization ==> Contour Lines from Grid.

evge_myasnikov
Интересующийся
Сообщения: 28
Зарегистрирован: 13 июн 2015, 11:59
Репутация: 3
Откуда: Россия, город Липецк

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение evge_myasnikov » 13 мар 2016, 17:17

jerry-maori писал(а):И далее хоть горизонтали, хоть что иное....
Я как раз и интересуюсь о том, последовательность каких модулей надо применить к полученному с помощью модуля "Convert Vertex Type (2D/3D)" слою точек, чтобы получить горизонтали рельефа. Буду очень благодарен тому пользователю SAGA, кто подскажет как это сделать.

evge_myasnikov
Интересующийся
Сообщения: 28
Зарегистрирован: 13 июн 2015, 11:59
Репутация: 3
Откуда: Россия, город Липецк

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение evge_myasnikov » 13 мар 2016, 17:24

bim2010 писал(а):viewtopic.php?f=27&t=17151&hilit=+Spati ... cs#p126082
Если из грида построить шейпы то: Geoprocessing ==> Shapes ==> Grid ==>Vectorization ==> Contour Lines from Grid.
У меня есть набор созданных мной двумерных точек с созданным и заполненным мной атрибутом "Высота". Далее, используя модуль "Convert Vertex Type (2D/3D)" и указав атрибут "Высота" в качестве поля для Z, я получил новый слой точек.

Какие операции над полученным слоем точек нужно сделать, чтобы применить к этому слою точек модуль "Contour Lines from Grid"?

Александр Мурый
Гуру
Сообщения: 5171
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 779
Ваше звание: званий не имею
Откуда: Москва

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение Александр Мурый » 13 мар 2016, 17:29

Попробуйте построить грид с помощью любого из выделенных на скриншоте модулей.
Выделение_001.png
Выделение_001.png (32.05 КБ) 3683 просмотра
3D-точки не нужны для построения грида.
Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5171
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 779
Ваше звание: званий не имею
Откуда: Москва

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение Александр Мурый » 13 мар 2016, 17:35

Там всё очевидно в модулях: укажите Points (ваши точки), Attribute (колонка с высотой), размер ячейки (Cellsize). Как-то так, если по-простому.
Редактор материалов, модератор форума

evge_myasnikov
Интересующийся
Сообщения: 28
Зарегистрирован: 13 июн 2015, 11:59
Репутация: 3
Откуда: Россия, город Липецк

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение evge_myasnikov » 13 мар 2016, 17:40

Александр Мурый писал(а):Попробуйте построить грид с помощью любого из выделенных на скриншоте модулей.
Вложение Выделение_001.png больше недоступно
3D-точки не нужны для построения грида.
Александр, от всей души благодарю Вас и других пользователей, помогавших в этой задаче. После Вашей подсказки о группе модулей Gridding у меня получилось сделать горизонтали. Прилагаю снимок экрана. Я применял модуль "Natural neighbour".
Вложения
Снимок экрана от 2016-03-13.png
Снимок экрана от 2016-03-13.png (267.74 КБ) 3674 просмотра

Аватара пользователя
jerry-maori
Гуру
Сообщения: 570
Зарегистрирован: 22 авг 2012, 17:02
Репутация: 135
Откуда: Нижний Новгород

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение jerry-maori » 13 мар 2016, 17:48

А теперь у вас начинается самое весёлое -- выбор оптимальной модели для построения растра;)

evge_myasnikov
Интересующийся
Сообщения: 28
Зарегистрирован: 13 июн 2015, 11:59
Репутация: 3
Откуда: Россия, город Липецк

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение evge_myasnikov » 13 мар 2016, 18:04

jerry-maori писал(а):А теперь у вас начинается самое весёлое -- выбор оптимальной модели для построения растра;)
Хочу сообщить интересный факт - поиск решения этой задачи я начал с 9 января 2016 года, задав вопрос в ветке форума, а только сейчас получил на него ответ. То есть около двух месяцев.

А уж подбор алгоритма обработки точек для построения - это дело обыденное.

evge_myasnikov
Интересующийся
Сообщения: 28
Зарегистрирован: 13 июн 2015, 11:59
Репутация: 3
Откуда: Россия, город Липецк

Re: Получение горизонталей при наличии нескольких высоток.

Сообщение evge_myasnikov » 13 мар 2016, 21:44

Если кому интересно, привожу результат обработки топоосновы. Жёлто-чёрные цифры - исходные отметки высот. Красные изолинии и зелёно-чёрные цифры - результат обработки отметок высот модулем Grid -> Gridding -> Natural Neighbour.
Вложения
Результат.png
Результат.png (411.24 КБ) 3585 просмотров

Ответить

Вернуться в «SAGA»

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

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