Почитав по ссылкам немного про методику "пластики рельефа", не понял, как это делать в реальной ГИС (например, GRASS) с реальными данными. Если это всего лишь plan curvature (что обсуждалось в другой теме по ссылке выше), то её можно вычислить модулем r.param.scale (опция param=planc)
Для решения поставленной проблемы нужно, во-первых, представить линию как функцию, сплайн (по-видимому, это верный путь - viewtopic.php?f=29&t=4461)
Не понятно, как генерализация изолиний может здесь помочь.
Вообще, желательно бы выложить небольшой пробный участок с изолиниями + нормальное описание метода
При просмотре в Линукс также возникла похожая проблема. Вероятно нативный шрифт подставляется шрифтом без поддержки кириллицы. Гм, на одной машине с ОС виндовс читается без проблем, на других - кракозябры. Да.Вот полчаса решал эту проблему. По этой ссылке http://ifolder.ru/20418210 разместил переделаный в док-формат пдф, который прочитается, когда в систему установить прицепленные шрифты. Чем, могу, как говорится.
Последний раз редактировалось eucrariano 23 ноя 2010, 18:06, всего редактировалось 1 раз.
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 - финальный результат, полученый мною в результате всех преобразований. Что можно еще сделать? Спасибо.
Как выкладывать информацию прямо на форуме, к своему стыду, не понял как ;( . По поводу Easy Trace - первый опыт получения плавных и точных апроксимирующих линий был именно там. И, конечно же, согласно девизу сайта, я сейчас умнее и даже не чем неделю назад, а даже чем вчера. Вдоволь наигравшись с v.generalize, определил наиболее оптимальные (так представляется на даный момент времени) параметры для сглаживания изолиний, полученных в результате ручной оцифровки средствами GRASS. Алгоритм - chaiken, все параметры - по умолчанию, кроме числа итераций - выставил 33. Глубже с алгоритмами разберусь на днях. Там и с переводом разберусь (возможно и для более широкого круга лиц - подобные идеи проскальзывали у amuriy, подключусь по мере возможности).
Будет отлично, если подключитесь к переводам мануалов GRASS, надеюсь, этот проект когда-то всё-таки начнётся ..))
Чтою присоединить картинку/архив с данными/ещё что-то к сообщению, тыкните при ответе на вкладку "Добавить вложения" (снизу рядом с "Настройки")
В самом первом сообщении задавал вопрос о таком: "при векторизации изолиний их пересекают разные обрывы - как это векторизировать?". Согласно совету amuriy оставлял пустое место.
И вот наткнулся недавно на описание методы, которая все-таки, учитывает эти обрывы.
Книга Хромых В.В., Хромых О.В. Цифровые модели рельефа: Учебное пособие. Томск: Изд-во «ТМЛ-Пресс», 2007. ???? с. - попала ко мне в пдф, и "украли" ее, вероятно, со стадии допечатной подготовки, поскольку страницы не указаны. Позволю себе процитировать небольшой фрагмент из этого труда: "Наибольшую сложность обычно представляют участки обрывов и
крутых склонов, т.к. на топографических картах традиционно они пока-
заны слиянием горизонталей в одну линию (рис. 22–23).
В таком случае важно точно определить начальную и конечную по
высоте горизонтали, входящие в линию обрыва, т.е. оценить его высоту.
Обрыв оцифровывается двумя линиями этих горизонталей, расположен-
ными как можно ближе друг к другу (желательно во время оцифровки
использовать увеличение 4:1 или даже 8:1 относительно масштаба кар-
ты). При этом остальные (промежуточные) горизонтали достаточно под-
вести к обрыву, а на самом обрыве их не оцифровывать, тем самым избе-
жав избыточность данных для цифровой модели рельефа (рис. 24–25)."
Такое вот сообщение. Сравнить свои наработки ЦМР без/с обрывами еще не успел, поэтому рекомендовать пока-что нечего. И да, поскольку вопрос не столько по GRASS (теперь это очевидно), сколько по методе, то что скажут практикующие цеэмерферы из дружеских программных пакетов?
eucrariano, спасибо за ликбез Учиться, учиться ... и ещё раз, и ещё раз.
Интересно построить ЦМР с учётом таким образом оцифрованных обрывов (например, в r.surf.contour) и сравнить с ЦМР, построенной с "игнорированием" обрывов.