Автоматизированная классификация снимков ДЗЗ Landsat

Я бы предложил воздержаться пока от обвинения usm78-gis в вандализме.

usm78-gis, скажи лучше, как собираешься исправлять последствия этого сомнительная эксперимента с автоматической классификацией: вода поверх воды, суша поверх суши, вот такой вот “тетрис” в Финском заливе и Ладожском озере:

Это нетронутая row4 в списке отката, в нем надо перепроверить номера ченджсетов, там закрались лишние.
До 1 июня я сижу на GPRS, так что и редактировать что-то не всегда удается, а с откатом я уже
превысил квоту в этом месяце.

Назовите пожалуйста общее число таких объектов, и число уничтоженных объектов.
Также разъясните, как следует поступать с реальными прибрежными болотами, тростником и т.п., иногда
находящимися посередине озер, являются ли они частью natural=water или нет.

Нельзя только использовать сами сканы в коммерческих целях, собственно “физическим” картам уже
больше 70 лет.
На права на value added products никто не претендует.

Насколько я понимаю пока еще ничего не уничтожалось, но возникла ситуация “вода поверх воды” и желание просто удалить уже нарисованное в пользу импорта. Было бы правильно при импорте обрабатывать пересечение полигонов, и если оно есть: проверять тег source - если он лучше чем импортируемый ландсат (например source=GPS ), то не трогать данный полигон. Если такого тега нет ситуация требует ручного просмотра.

Что касается болот:

"Боло́то (также топь, трясина, зыбкое место) — участок суши (или ландшафта), характеризующийся избыточным увлажнением, повышенной кислотностью и низкой плодородностью почвы, выходом на поверхность стоячих или проточных грунтовых вод, но без постоянного слоя воды на поверхности. " ( http://ru.wikipedia.org/wiki/%D0%A2%D0%BE%D0%BF%D1%8C )

Болото посреди озера всё-таки земля т.е. заболоченный остров, и обозначатся он должен соответственно. С прибрежными болотами то же самое, это заболоченный берег, значит нужно смещать береговую линию.

Но основная проблема это ошибки классификации - болота, пляжи и пр. там где их нет. Допускаю, что отличить грязную воду от болота или песчаную банку от пляжа по ландсату практически невозможно, но в таком случае лучше не импортировать болота и пляжи вообще чем плодить мусор.

Кстати, насчёт пляжей. На странице http://wiki.openstreetmap.org/wiki/Natural появился natural=sand в качестве типа грунта. При классификации лучше использовать его, и заменять вручную там, где действително пляж.

Есть желание (в принципе) удалить грубо нарисованные по ландсату озера.
Но пока удаляется классификация.

Для простых озер-полигонов это не проблема, но есть, например, вот такое озеро-болото:
http://openstreetmap.org/?lat=60.78275&lon=29.45458&zoom=14 (+ на гугле и яндексе)
Было бы интересно посмотреть, как его нарисуют вручную, и с помощью GPS.

Вот конкретный пример, чтобы не быть голословным (есть hires снимки на maps.google.com): http://openstreetmap.org/?lat=60.55398&lon=29.31995&zoom=15
Там есть “ландсатовское болото”.
Я до этого места на лодке не доплывал, земли-острова там точно нет, но с берега видны заросли камыша, тростника.
Как быть в таком случае ?

В Финском заливе это решаемо путем правки тренировочной карты. С озерами возможно будет сложнее.
Работаем, но медленно, так как в единственном числе :slight_smile:

При условии что всё озеро не является сплошным болотом, можно на лодке обойти вдоль заболоченного берега, а потом также нанести острова.

Если верить этому снимку - http://maps.yandex.ru/?ll=29.317496%2C60.559347&spn=0.118361%2C0.032157&z=14&l=sat это всё-таки больше похоже на остров, просто очень низкий, или возможно это периодически затопляемая отмель, тогда не знаю какой тег больше подходит, но не просто болото посреди воды.

Найду надувную лодку, сделаю фотографии.

Давайте предлагайте математические алгоритмы для генерализации landcover. Эта тема в grass представлена
довольно слабо, v.generalize ориентируется практически только на линии, а
мне пока приходят в голову только 2 мысли: сохранить центроид (как его установил grass) на том же
месте, и сохранить площадь в каких-то жестких рамках вокруг оригинальной.
Остается только сформулировать критерий минимизации количества вертексов при каких-то
ограничениях на кривизну границ (борьба с “лестницей”) и запрет пересечений новых границ
между собой. При этом желательно остаться в рамках линейного или квадратичного программирования.

Просьба не ругать, если я сейчас глупость скажу (алгоритмами оптимизации занимался, а ГИС - никогда), но вот тут http://sun.tsu.ru/mminfo/000063105/293/image/293_147-150.pdf в самом конце есть алгоритм генерализации, основанный на методе наименьших квадратов. Работает тоже с линиями, но выглядит любопытно и в grass’е вроде бы нет такого.

Алгоритм хороший, но для полигонов имхо нужна более глобальная оптимизация с
дополнительными ограничениями: не просто каждый кусок границы сгладить/уменьшить число точек,
но и по возможности сохранить свойства самого полигона как самостоятельного объекта
(площадь, центроид, топология и т.п.) Это конечно более сложная задача, и шаг в сторону
конвергенции с объектной классификацией.

PS. FYI линки к теме
http://www.ian-ko.com/ET_GeoWizards/WhitePapers/gw_smooth_generalize.htm
http://mathworld.wolfram.com/LeastSquaresFittingPerpendicularOffsets.html

usm78-gis, а есть возможность получить эти данные в виде WMS или отдельного слоя для Мурманской обласи? Я так понял, весь северо-запад там присутствует.

А нельзя несколько скриншотов привести? Типа так было - так надо сделать. Чтобы примерно представлять, что требуется.

Я делал только 2 сцены: в северной части - Карельский перешеек и ладожская Карелия.
В CLC2006 от 25.05.2010 есть Финляндия и Норвегия, так что можно попробовать
и Мурманскую область.
WMS (скорее все-таки tiledWMS, меньше нагрузка на сервер) если будет, то осенью,
в августе я в отпуске.

Спасибо. Будем ждать.

Хм. Это очень субъективно “как надо сделать”. Я бы предпочел, чтобы предложил кто-то другой,
учитывая предыдущую дискуссию. Пока potlatch не в состоянии работать с такого типа данными,
то даже идеально сглаженные результаты заливать не имеет смысла.
По сути надо организовывать отдельный проект, возможно со своим рендерером и
WPS интерфейсом для классификации, типа http://geo.sazp.sk, со своим CSW EO каталогом
для сцен landsat, и WCS доступом к спектральным данных каналов.

Ну хотя бы скриншоты “как есть сейчас” :slight_smile:

Случайно наткнулся на результаты проекта “FORECAST”
http://baltic.spbu.ru/forecast.rus/supervis/supervis.htm
в котором
на географическом факультете университета
была сделана классификация Landsat
для 1990
http://baltic.spbu.ru/forecast.rus/supervis/class-90.htm
и 1997 года
http://baltic.spbu.ru/forecast.rus/supervis/class-97.htm
Разрешение карт 100 метров/пиксел (стандартное для CORINE),
проекция UTM35N (EPSG:32635).
Хотя эти карты имеют только 9 классов, интересно было сравнить
с моими результатам для 2002 года (в том числе и ошибки).

В вики гислаба появилась обзорная статья о работе с Landsat8
http://wiki.gis-lab.info/w/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B8_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_Landsat_8_%28OLI%29_%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B0%D0%BC%D0%B8_GRASS_GIS_7
Я не совсем понял почему авторы из СПб взяли Кубу как пример,
но с другой стороны получился более абстрактный пример
без специфики СПб.