Векторизация изолиний

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Векторизация изолиний

Сообщение Александр Мурый » 23 ноя 2010, 09:02

Со шрифтами в том PDF действительно беда.

Почитав по ссылкам немного про методику "пластики рельефа", не понял, как это делать в реальной ГИС (например, GRASS) с реальными данными. Если это всего лишь plan curvature (что обсуждалось в другой теме по ссылке выше), то её можно вычислить модулем r.param.scale (опция param=planc)
Для решения поставленной проблемы нужно, во-первых, представить линию как функцию, сплайн (по-видимому, это верный путь - viewtopic.php?f=29&t=4461)
Не понятно, как генерализация изолиний может здесь помочь.

Вообще, желательно бы выложить небольшой пробный участок с изолиниями + нормальное описание метода :)
Редактор материалов, модератор форума

Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Re: Векторизация изолиний

Сообщение eucrariano » 23 ноя 2010, 12:18

При просмотре в Линукс также возникла похожая проблема. Вероятно нативный шрифт подставляется шрифтом без поддержки кириллицы. Гм, на одной машине с ОС виндовс читается без проблем, на других - кракозябры. Да.Вот полчаса решал эту проблему. По этой ссылке http://ifolder.ru/20418210 разместил переделаный в док-формат пдф, который прочитается, когда в систему установить прицепленные шрифты. Чем, могу, как говорится.
Последний раз редактировалось eucrariano 23 ноя 2010, 18:06, всего редактировалось 1 раз.

Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Re: Векторизация изолиний

Сообщение eucrariano » 23 ноя 2010, 12:21

Здесь вот http://ifolder.ru/20418210 есть рисунок, который илюстрирует метод.

Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Re: Векторизация изолиний

Сообщение eucrariano » 23 ноя 2010, 18:05

Пробовал разные варианты решения вопроса.
amuriy писал(а):Не понятно, как генерализация изолиний может здесь помочь.
При генерализации ломаные линии (после ручной оцифровки) стают плавными, апроксимируются полиномом. Подобное решение и, вероятно, более простое в реализиции и интуитивно понятнее, применено в EasyTrace. По идее, это должно помогать, при нахождении "перегибов" горизонталей и точек нулевой кривизны в автоматическом режиме. На даный момент, экспериментируя с разными вариантами, получил наиболее близкий к желаемому результат используя v.surf.rst.tangential.curvature. Вот здесь http://ifolder.ru/20424615 результаты. Карты - morfoizografa_after@PERMANENT - отрисовка контуров вручную; morfoizografa_finish@PERMANENT - это финальный результат, также полученный вручную и morfoizografa_generalize_v_surf_rst_tangential_curvature@PERMANENT - финальный результат, полученый мною в результате всех преобразований. Что можно еще сделать? Спасибо.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Векторизация изолиний

Сообщение Александр Мурый » 23 ноя 2010, 18:34

В целом, красиво ;)) Надеюсь, оно пригодится вам и для дела. А почему не выкладываете прямо на форуме?
Подобное решение и, вероятно, более простое в реализиции и интуитивно понятнее, применено в EasyTrace.
Ну не знаю, у каждого своя интуиция. Я, например, в ET сначала полчача тупо тыкал в менюшки, ища нужное -- лучше уж посмотреть в ман, честно.
Редактор материалов, модератор форума

Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Re: Векторизация изолиний

Сообщение eucrariano » 24 ноя 2010, 10:48

Как выкладывать информацию прямо на форуме, к своему стыду, не понял как ;( . По поводу Easy Trace - первый опыт получения плавных и точных апроксимирующих линий был именно там. И, конечно же, согласно девизу сайта, я сейчас умнее и даже не чем неделю назад, а даже чем вчера. Вдоволь наигравшись с v.generalize, определил наиболее оптимальные (так представляется на даный момент времени) параметры для сглаживания изолиний, полученных в результате ручной оцифровки средствами GRASS. Алгоритм - chaiken, все параметры - по умолчанию, кроме числа итераций - выставил 33. Глубже с алгоритмами разберусь на днях. Там и с переводом разберусь (возможно и для более широкого круга лиц - подобные идеи проскальзывали у amuriy, подключусь по мере возможности).

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Векторизация изолиний

Сообщение Александр Мурый » 24 ноя 2010, 11:47

Будет отлично, если подключитесь к переводам мануалов GRASS, надеюсь, этот проект когда-то всё-таки начнётся ..))
Чтою присоединить картинку/архив с данными/ещё что-то к сообщению, тыкните при ответе на вкладку "Добавить вложения" (снизу рядом с "Настройки")
Редактор материалов, модератор форума

Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Re: Векторизация изолиний

Сообщение eucrariano » 07 фев 2012, 14:04

В самом первом сообщении задавал вопрос о таком: "при векторизации изолиний их пересекают разные обрывы - как это векторизировать?". Согласно совету amuriy оставлял пустое место.
И вот наткнулся недавно на описание методы, которая все-таки, учитывает эти обрывы.
Книга Хромых В.В., Хромых О.В. Цифровые модели рельефа: Учебное пособие. Томск: Изд-во «ТМЛ-Пресс», 2007. ???? с. - попала ко мне в пдф, и "украли" ее, вероятно, со стадии допечатной подготовки, поскольку страницы не указаны. Позволю себе процитировать небольшой фрагмент из этого труда:
"Наибольшую сложность обычно представляют участки обрывов и
крутых склонов, т.к. на топографических картах традиционно они пока-
заны слиянием горизонталей в одну линию (рис. 22–23).
В таком случае важно точно определить начальную и конечную по
высоте горизонтали, входящие в линию обрыва, т.е. оценить его высоту.
Обрыв оцифровывается двумя линиями этих горизонталей, расположен-
ными как можно ближе друг к другу (желательно во время оцифровки
использовать увеличение 4:1 или даже 8:1 относительно масштаба кар-
ты). При этом остальные (промежуточные) горизонтали достаточно под-
вести к обрыву, а на самом обрыве их не оцифровывать, тем самым избе-
жав избыточность данных для цифровой модели рельефа (рис. 24–25)."

Такое вот сообщение. Сравнить свои наработки ЦМР без/с обрывами еще не успел, поэтому рекомендовать пока-что нечего. И да, поскольку вопрос не столько по GRASS (теперь это очевидно), сколько по методе, то что скажут практикующие цеэмерферы из дружеских программных пакетов?
Вложения
obryv.jpg
obryv.jpg (68.48 КБ) 9684 просмотра

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Векторизация изолиний

Сообщение Александр Мурый » 07 фев 2012, 14:43

eucrariano, спасибо за ликбез :) Учиться, учиться ... и ещё раз, и ещё раз.
Интересно построить ЦМР с учётом таким образом оцифрованных обрывов (например, в r.surf.contour) и сравнить с ЦМР, построенной с "игнорированием" обрывов.
Редактор материалов, модератор форума

Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Re: Векторизация изолиний

Сообщение eucrariano » 07 фев 2012, 15:03

В ближайшем времени попробую что-то сделать. "Под руками" есть небольшой объект. Вот только разгребу текучку... Результат обязательно выложу.

Григорий Степанов
Easy Trace – эксперт
Сообщения: 329
Зарегистрирован: 03 сен 2009, 11:13
Репутация: 64
Откуда: Россия, г.Рязань
Контактная информация:

Re: Векторизация изолиний

Сообщение Григорий Степанов » 31 май 2012, 10:12

В одном из проектов, по требованию заказчика, использовался следующий способ укладки горизонталей на обрывах:
из_ПЦО.jpg
из_ПЦО.jpg (78.39 КБ) 9441 просмотр
Для автоматизации укладки горизонталей на обрывах в ET была добавлена специальная утилита "Укладка контуров". Её работа сводится к следующему:

Исходная ситуация:
Обрыв.jpg
Обрыв.jpg (66.06 КБ) 9441 просмотр
Результат:
(горизонтали смещены относительно обрыва для демонстрации их укладки по линии обрыва)
Укладка_изолиний.gif
Укладка_изолиний.gif (7.17 КБ) 9441 просмотр

Ответить

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

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

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