Выделение растровых контуров объектов в GRASS

Обсуждение материалов сайта: вопросы, замечания, предложения
Ответить
Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Выделение растровых контуров объектов в GRASS

Сообщение Максим Дубинин » 28 сен 2009, 00:26

Обсуждение статьи "Выделение растровых контуров объектов в GRASS"

http://gis-lab.info/qa/grass-gradient.html
пристегивайтесь, турбулентность прямо по курсу

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

Re: Выделение растровых контуров объектов в GRASS

Сообщение Александр Мурый » 28 янв 2010, 10:05

Спасибо за познавательную статью:))

Сейчас как раз разбираюсь с r.mapcalc -- хочу использовать его аля-EasyTrace для автоматической векторизации изогипс рельефа с генштабовских топокарт. Чем не растровые контуры..
Редактор материалов, модератор форума

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Выделение растровых контуров объектов в GRASS

Сообщение KolesovDmitry » 27 фев 2010, 10:01

amuriy писал(а):Спасибо за познавательную статью:))

Сейчас как раз разбираюсь с r.mapcalc -- хочу использовать его аля-EasyTrace для автоматической векторизации изогипс рельефа с генштабовских топокарт. Чем не растровые контуры..
Ну как, что-нибудь получилось? Особенно интересует, как разобрались с цветоделением.

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

Re: Выделение растровых контуров объектов в GRASS

Сообщение Александр Мурый » 01 мар 2010, 01:12

Честно говоря, пока никак. Почитал про технологии, используемые в EasyTrace. Напрямую в GRASS все это реализовать вряд ли удасться, да и нужно ли? а если серьезно -- с математикой я не дружу и тем более не программист. Так что с цветоделением пока глухо.

Я импортировал кусочек в *jpg
Сделал RGB на каждый канал по 3 уровня. Получился растр с 26 категориями:

Код: Выделить всё

r.composite -d -c red="map.red" green="map.green" blue="map.blue" levels=3 output="map_RGB"
Изолиниям в целом отвечают категории 4 и 5. Извлекаем их и объединяем:

Код: Выделить всё

r.mapcalc "map_RGB_4=if(map_RGB == 4, map_RGB, null())"
r.mapcalc "map_RGB_5=if(map_RGB == 5, map_RGB, null())"
r.patch input="map_RGB_4,map_RGB_5" output="map_RGB_4_5"
Утоняем растровые "изолинии" -- r.thin
Перегоняем в вектор -- r.to.vect, делаем полилинии (?) -- v.build.polylines ( как видно, толком не сработало)
map_RGB.png
ДО
map_RGB.png (111.95 КБ) 14203 просмотра
map_RGB_4_5_thin_polylines.png
ПОСЛЕ
map_RGB_4_5_thin_polylines.png (37 КБ) 14203 просмотра
P.S. Сделал затем как в сабжевой статье -- получилась какая-то каша :?
Редактор материалов, модератор форума

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Выделение растровых контуров объектов в GRASS

Сообщение KolesovDmitry » 02 мар 2010, 10:16

Спасибо за подробности, наверное, есть смыл обсуждать эту тему далее в другой ветке?

Ответить

Вернуться в «Материалы сайта»

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

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