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

Ok, давайте определяться со сценой ландсата, и (потом) тренировочной картой.
Зная сцену, уже можно много что попробовать и сделать полезного.

usm78-gis, задам вопросец, немного не в тему, но все же. Чтобы не засорять форум, можно ответить в личку.

Вот я турист-сплавщик. Я плыву по реке, а вокруг пустота и изредка отмеченные мной же стоянки. Но стоянки значат лишь то, что там можно стоять, а может там лес в 2 км от реки. Спутниковый снимок в навигатор не загрузишь. Могу ли я, простой пользователь Линукс, используя какую-либо тренировочную карту создать для себя любимого небольшой кусочек векторизации в виде формата, пригодного для конвертации в Гармин? Насколько это сложно и где почитать? Заранее спасибо!

К сожалению, на район, который меня интересует, похоже, есть только довольно старые снимки. Хотя возможно, это не так уж важно:

p185r018_7x20020422.ETM-EarthSat-Orthorectified или
p185r018_7x20020812.ETM-EarthSat-Orthorectified

Конвертация не проблема, с технической стороны надо только поправить маленький баг ogr2osm на который мне указали финны, и можно из моих тайлов генерировать гарминовские карты
так же как это делают с высотами SRTM. От вас требуется только тренировочная карта для этого района, т.е. полигоны с подписанным классом, скажем: вода (class=1), лес (class=2), поле=трава (class=3), поле=земля (class=4),
болото без леса (class=5), песок,камни,карьер (class=6). Можете делать прямо в формате .osm. Набор классов можете расширить, но ориентируйтесь на имеющиеся гарминовские типы. Это первое, что мне пришло
в голову. Будет от вас .osm, будет вам и .img. А дальше будете ругаться, как на этом форуме :smiley:

После 2003 года SLC off, с ними тоже можно работать, но как подойти к склейке мне не совсем понятно.

http://35.8.163.122/beta/access_v_2/access7/access6.asp?sensor=etm&Parow1=185018&tilesNum=1&cloud=10

Апрельский снимок я бы не стал брать для классификации, там еще даже лед на Ладоге виден,
а вот август - самое то. Облачка несколько портят дело, модуль i.landsat.acca я для grass7.0 портировать
не смог, буду пробовать собрать для 6.4. А так если вручную отрезать левый верхний кусок с облаками, можно
сделать все стандартные операции описанные выше.
Используя мою классификацию в Ломоносовском районе как тренировочную карту, сделать i.smap и для
этой сцены будет несложно, тогда можно будет более предметно говорить о качестве и ошибках.

Сегодня поправил скрипт для использования v.generalize на увеличенном тайле с последующей обрезкой v.overlay.
Aleksandr Dezhin, какие предлагаете использовать параметры для snakes ? То что в мануале слишком брутально сглаживает.
i.landsat.acca собрался для grass-6.5-svn, даже запустился, но я его еще не пробовал тестировать на реальной сцене с облаками.

Точных цифр a, b не помню, но от дефолтных они далеко. Где-то приходилось в несколько проходов делать и комбинировать с обычным дуглас-паркером.
Там надо компромисс искать между брутальностью и временем работы. Если есть семпл на который имеет смысл ковырять, то могу попробовать поковырять.

Что касается того, что у мну получалось - остался вот такой скрин http://img94.yfrog.com/img94/6117/smaptest1.png

Параметры a/b если равны нулю, то сглаживания не производится, чем они больше, тем больше вес производных в минимизируемом функционале.
Короче, snakes это что-то типа tension spline. Число нодов сохраняет, а другие методы сглаживания могут в 4 раза (!) увеличить.
Так что для уменьшения числа нодов надо другие методы потом применять.
Самое неприятное пока в том, что я не понял, что он сделал с area category, вроде как вообще проигнорировал.

i.landsat.acca для начала потребовал с меня DCELL :wink: Сделал r.mapcalc “D=double(C)”, тогда он заработал, но нашел облака где-то не там,
и минимальную CTT=125K. Это уже явный перебор :wink: Надо разбираться с СТТ, а потом и с другими цифрами…

Вот тут человек довольно подробно разбирает борьбу с облаками, но самих скриптов там тоже нет:
http://borneobiofuels.blogspot.com

Мне кажется удобным такой вариант:

  1. Поднимается отдельный сервер с OSM API, куда заливается вся классификация.
  2. Пишется плагин к JOSM, который добавляет кнопку “Скачать вектор ДЗЗ Landsat”. После этого желающие могут облегчить себе работу рисования, вливая векторы в JOSM и обрабатывая руками перед коммитом.

А кто будет хостить ? Я не смогу.
Про WMS/TWMS можно подумать.

Самый главный технический вопрос: полигоны должны быть релейшенами заданы, или простыми полигонами (без островов) ?

Вопрос. При классификации ведь не остаётся неклассифицированных участков, и участков, попадающих сразу в два типа?

Если так, то можно сделать аналог фаззера со внешним движком обводки. Кликнул в точку - в жосм подтянулся окружающий ее (мульти)полигон. Сейчас фаззер трейсит его с wms, но никто не мешает выдирать это из какой-либо внешней базы.

Или сделать wms, оптимизированную для фаззера - по сути тот же ландсат, только с явно различающимися цветами различных объектов.

(2) надо в JOSM просто File|Open location добавить возможность указывать макрос {{BBOX}}, ну а дальше все простым скриптом на стороне сервера решается. Штука будет крайне полезная.

Не остается, не попадают.

фаззер можно самого научить делать классификацию
https://engineering.purdue.edu/~bouman/software/cluster
но люди точно наломают дров :slight_smile:

классификация это geotiff с палитрой, соответствующей классам, его можно и для potlatch на тайлы нарезать.
Надо только рисовальный style согласовать с палитрой, чтобы не было неконтрастных комбинаций.

Смотрю сейчас shp водных объектов от gis-lab в Ленинградской области. Просто ужас! Озеро поверх озера. Скорей бы все это откатилось!

Ирония заключается в том, что эти озера нарисованы по ландсату-yahoo с облаками, или по старым финским
картам. Если бы не названия “ручных” озер, я бы их грохнул без малейшего сожаления.

Не нужно, пожалуйста, без сожаления. Я несколько озер обошел с навигатором зимой, пешком по льду, максимально близко к берегу. Сравнивал пешие треки с восстановленными по спутникам - пешие лучше, более подробные. Но это касается только “обойденных” озер. Те, что были добавлены на карту изначально в большинстве своем ужасны. Спутниковая береговая черта хоть более-менее похожа на правду, в отличие от. Кстати, откуда изначально взяты названия лесных, например, озер?

Давайте разделим число “обойденных” озер на общее число найденных озер; имеющиеся 250метровки с http://paslo.ru с классификацией.
Так как была нарисована Вуокса в районе Каменногорска можно тоже обсуждать, нарисованные от руки четырехугольные озера и т.д.

Предпочел бы количественные характеристики “ужасности”: расчеты, скриншоты, иначе мы не продвинемся вперед ни на шаг.
Для меня ориентиром является http://www.ymparisto.fi/default.asp?node=16534&lan=en ,
там есть отчет CLC2000 - Finland Final report (Fi_clc_final_report.pdf) http://www.ymparisto.fi/download.asp?contentid=38725&lan=en ,
где обсуждается точность и валидация классификации.

Я добавляю только name:fi с моих собственных карт, про советские названия надо спрашивать других.

А кстати, условия использования этих карт позволяют копировать информацию?

А еще интересно, есть ли какой-нибудь срок истечения копирайта у русских/советских карт. Может, часть уже стала out-of-copyright.
На часть Ленобласти еще где-то видел немецкие военные карты времен войны. Оттуда, наверно тоже можно брать названия. Кто-нибудь знает про легальность использования таких источников?

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

"Есть ложь, есть большая ложь - и есть статистика "

Простите а Вам не кажется, что замена даже одного озера отрисованного по GPS треку на нечто классифицированное по ландсату по-сути мало чем отличается от вандализма?
Я полагаю большинство будет против уничтожения автоматически любых обьектов c тегом source=GPS.