Разделение объектов с разными площадями
- Loup
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 23 ноя 2010, 18:20
- Репутация: 1
Разделение объектов с разными площадями
Привет! Не знаю, как четко озаглавить тему, но проблема следующая. Есть растр, представляющий из себя несколько отдешифрированных сцен ландсат. На этом растре есть озера - большие (диаметр>100 метров) и маленькие (<100 метров). В растре этим озерам соответствует какое-то одно значение, скажем 2. Помимо озер есть еще множество других объектов с другими значениями пикселом.
Как отделить большие озера от маленьких? Т.е., например, чтобы большим озерам все еще соответствовало значение "2", а маленьким - уже значение "3". Есть ли какой-то простейших алгоритм или нужно сильно заморачиваться? Из ПО есть QGIS, Grass, Saga.
Спасибо!
Как отделить большие озера от маленьких? Т.е., например, чтобы большим озерам все еще соответствовало значение "2", а маленьким - уже значение "3". Есть ли какой-то простейших алгоритм или нужно сильно заморачиваться? Из ПО есть QGIS, Grass, Saga.
Спасибо!
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: Разделение объектов с разными площадями
Поскольку озера могут иметь разную форму, то при анализе именно растра могут возникнуть проблемы.
Самое простое решение - использовать векторные объекты:
отделить класс озер в отдельный растр -
векторизовать без сглаживания,
расчитать площади полигонов,
с пом. запроса отделить озера больше или меньше заданного порога и
присвоить им другой класс.
снова растеризовать
объеденить с предыдущей классификацией.
Самое простое решение - использовать векторные объекты:
отделить класс озер в отдельный растр -
векторизовать без сглаживания,
расчитать площади полигонов,
с пом. запроса отделить озера больше или меньше заданного порога и
присвоить им другой класс.
снова растеризовать
объеденить с предыдущей классификацией.
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: Разделение объектов с разными площадями
Если интересует именно радиус, а не площадь и нужно отсечь только крупные водные объекты (отсечь от них всякие мелкие заводи), то можно использовать какой-нибудь скользящий фильтр заданного радиуса, например r.neighbors для GRASS, например, используя метод "interspersion": http://grass.osgeo.org/grass64/manuals/r.neighbors.html
После прохождения фильтром мелкие озера и всякие аппендиксы накопят меньший процент сходных пикселей и вам останется лишь задать порог отсечения мелочевки.
После прохождения фильтром мелкие озера и всякие аппендиксы накопят меньший процент сходных пикселей и вам останется лишь задать порог отсечения мелочевки.
- Loup
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 23 ноя 2010, 18:20
- Репутация: 1
Re: Разделение объектов с разными площадями
Площадь подойдет, про векторизацию я уже думала. Одна проблема - когда пыталась векторизовать весь слой, процесс длился сутки потом прерывался ошибкой "недостаточно системной памяти". Векторизовать только озера еще не пробовала, сейчас займусь.
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: Разделение объектов с разными площадями
В грассе мощный векторизатор стоит, сцену ландсат из десятка классов векторизовать может даже на стареньком ноуте.
- Loup
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 23 ноя 2010, 18:20
- Репутация: 1
Re: Разделение объектов с разными площадями
Я через r.to.vect в грассе и делала, через командную строку. Другое дело, что с векторизацией знакома плохо, нужны ли р.фины и в.клины конкретно мне понять не смогла, так что вполне возможно, что проблема в кривых руках. Ну и мне площадь далеко не 1 сцены ландсат векторизовать надо. Буду разбираться, спасибо за помощь.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость