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

Re: Векторизация изолиний
Добавлено: 23 ноя 2010, 12:18
eucrariano
При просмотре в Линукс также возникла похожая проблема. Вероятно нативный шрифт подставляется шрифтом без поддержки кириллицы. Гм, на одной машине с ОС виндовс читается без проблем, на других - кракозябры. Да.Вот полчаса решал эту проблему. По этой ссылке
http://ifolder.ru/20418210 разместил переделаный в док-формат пдф, который прочитается, когда в систему установить прицепленные шрифты. Чем, могу, как говорится.
Re: Векторизация изолиний
Добавлено: 23 ноя 2010, 12:21
eucrariano
Здесь вот
http://ifolder.ru/20418210 есть рисунок, который илюстрирует метод.
Re: Векторизация изолиний
Добавлено: 23 ноя 2010, 18:05
eucrariano
Пробовал разные варианты решения вопроса.
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 - финальный результат, полученый мною в результате всех преобразований. Что можно еще сделать? Спасибо.
Re: Векторизация изолиний
Добавлено: 23 ноя 2010, 18:34
Александр Мурый
В целом, красиво

) Надеюсь, оно пригодится вам и для дела. А почему не выкладываете прямо на форуме?
Подобное решение и, вероятно, более простое в реализиции и интуитивно понятнее, применено в EasyTrace.
Ну не знаю, у каждого своя интуиция. Я, например, в ET сначала полчача тупо тыкал в менюшки, ища нужное -- лучше уж посмотреть в ман, честно.
Re: Векторизация изолиний
Добавлено: 24 ноя 2010, 10:48
eucrariano
Как выкладывать информацию прямо на форуме, к своему стыду, не понял как ;( . По поводу Easy Trace - первый опыт получения плавных и точных апроксимирующих линий был именно там. И, конечно же, согласно девизу сайта, я сейчас умнее и даже не чем неделю назад, а даже чем вчера. Вдоволь наигравшись с v.generalize, определил наиболее оптимальные (так представляется на даный момент времени) параметры для сглаживания изолиний, полученных в результате ручной оцифровки средствами GRASS. Алгоритм - chaiken, все параметры - по умолчанию, кроме числа итераций - выставил 33. Глубже с алгоритмами разберусь на днях. Там и с переводом разберусь (возможно и для более широкого круга лиц - подобные идеи проскальзывали у amuriy, подключусь по мере возможности).
Re: Векторизация изолиний
Добавлено: 24 ноя 2010, 11:47
Александр Мурый
Будет отлично, если подключитесь к переводам мануалов GRASS, надеюсь, этот проект когда-то всё-таки начнётся ..))
Чтою присоединить картинку/архив с данными/ещё что-то к сообщению, тыкните при ответе на вкладку "Добавить вложения" (снизу рядом с "Настройки")
Re: Векторизация изолиний
Добавлено: 07 фев 2012, 14:04
eucrariano
В самом первом сообщении задавал вопрос о таком: "при векторизации изолиний их пересекают разные обрывы - как это векторизировать?". Согласно совету amuriy оставлял пустое место.
И вот наткнулся недавно на описание методы, которая все-таки, учитывает эти обрывы.
Книга Хромых В.В., Хромых О.В. Цифровые модели рельефа: Учебное пособие. Томск: Изд-во «ТМЛ-Пресс», 2007. ???? с. - попала ко мне в пдф, и "украли" ее, вероятно, со стадии допечатной подготовки, поскольку страницы не указаны. Позволю себе процитировать небольшой фрагмент из этого труда:
"Наибольшую сложность обычно представляют участки обрывов и
крутых склонов, т.к. на топографических картах традиционно они пока-
заны слиянием горизонталей в одну линию (рис. 22–23).
В таком случае важно точно определить начальную и конечную по
высоте горизонтали, входящие в линию обрыва, т.е. оценить его высоту.
Обрыв оцифровывается двумя линиями этих горизонталей, расположен-
ными как можно ближе друг к другу (желательно во время оцифровки
использовать увеличение 4:1 или даже 8:1 относительно масштаба кар-
ты). При этом остальные (промежуточные) горизонтали достаточно под-
вести к обрыву, а на самом обрыве их не оцифровывать, тем самым избе-
жав избыточность данных для цифровой модели рельефа (рис. 24–25)."
Такое вот сообщение. Сравнить свои наработки ЦМР без/с обрывами еще не успел, поэтому рекомендовать пока-что нечего. И да, поскольку вопрос не столько по GRASS (теперь это очевидно), сколько по методе, то что скажут практикующие цеэмерферы из дружеских программных пакетов?
Re: Векторизация изолиний
Добавлено: 07 фев 2012, 14:43
Александр Мурый
eucrariano, спасибо за ликбез

Учиться, учиться ... и ещё раз, и ещё раз.
Интересно построить ЦМР с учётом таким образом оцифрованных обрывов (например, в r.surf.contour) и сравнить с ЦМР, построенной с "игнорированием" обрывов.
Re: Векторизация изолиний
Добавлено: 07 фев 2012, 15:03
eucrariano
В ближайшем времени попробую что-то сделать. "Под руками" есть небольшой объект. Вот только разгребу текучку... Результат обязательно выложу.
Re: Векторизация изолиний
Добавлено: 31 май 2012, 10:12
Григорий Степанов
В одном из проектов, по требованию заказчика, использовался следующий способ укладки горизонталей на обрывах:

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

- Обрыв.jpg (66.06 КБ) 10648 просмотров
Результат:
(горизонтали смещены относительно обрыва для демонстрации их укладки по линии обрыва)

- Укладка_изолиний.gif (7.17 КБ) 10648 просмотров