Поделюсь своими радостью и граблями. Инструкция от Ильи-Зверика действительно очень простая (“оно работает!!!”). Однако я столкнулся с тем, что в репозиториях Ubuntu (14.04) оказалась старая версия QGis (2.0.1), которая выдавала странную ошибку Python при попытке запустить нарезку тайлов QTiles. Прописал в системе репозитории “от производителя” (http://qgis.org/ru/site/forusers/alldownloads.html#debian-ubuntu), поставил свежую версию QGis (2.10.1) - всё заработало. Вторая моя грабля из разряда copy-paste (чистая невнимательность) - по инструкции, в настройках QTiles рекомендуется выбрат формат jpg, а в строке для подключения в JOSM написано png. Но кто ж смотрит на такие мелочи…
Готовые тайлы (до 13 зума) с одного снимка заняли 57 МБ.
d1g и pfg21, я последний раз объясню, почему то, о чем вы говорите, малореально.
Данные Landsat 8 обновляются все время, и делать, например, сервер, на котором бы заранее были подготовлены тайлы, например, на целую область (в смысле, административную единицу) - бессмысленная трата места на сервере и времени, потому что до того времени, как кто-нибудь соберется воспользоваться этими данными, произойдут еще изменения и то, что там есть, устареет, а новых снимков там не будет.
Данные Landsat 8 - весьма объемная штука, так что одним только “выкачиванием последнего” на какую-то территорию можно забить любые имеющиеся винты - одна сцена - это 2Гб в несжатом виде.
Для маппинга разных вещей нужны снимки, которые сделаны в разное время года на одну и ту же территорию.
Выбор сцен - ручная задача в любом случае, потому что облака, низкий контраст и все такое. Если кто-то хоть раз пытался не требовать готового на форуме, а самостоятельно с этим поэкспериментировать, то он бы знал, что это так.
Для детекции разных природных объектов (леса, болота, кустарник, заливные луга и все такое) нужны композиты разных каналов. Это увеличивает и объем готового результата и объем работы.
Сборка композита - автоматизированный, но ручной процесс, потому что нужно подбирать параметры сжатия гистограммы исходя из визуальной различимости искомых объектов в сцене, которая зависит от кучи условий при съемке каждой конкретной сцены, иначе композит теряет кучу информации. Автоматика дает результат средней паршивости.
Софтина с “одной кнопкой” (почему не с одной, я описал уже выше) - возможна. Есть коммерческие аналоги, например, http://www.geosage.com/highview/features_landsat8.html Но это достаточно сложная штука, которая по объему разработки тянет на коммерческий продукт. И тут возникает вопрос: что проще, нескольким желающим перестать бояться командной строки и ImageJ и научиться делать простые вещи самостоятельно, или пресловутым профессионалам (только не в ГИС, а в разработке ГИС, что несколько разные вещи - к вторым лично я, например, себя точно не отношу, я сам - квалифицированный пользователь) напрячься и написать инструмент для особо ленивых?
Почему не “плагин для JOSM” из того, что сказано выше, должно быть очевидно, но я поясню: если такая программа будет существовать, то делать ее только для нужд узкого сообщества OSM абсолютно бессмысленно, это должен быть самостоятельный инструмент, которым смогут воспользоваться и другие.
Для тех, кто верит в одну кнопку, я приведу скриншот, который демонстрирует минимально необходимый набор инструментов настройки для сборки композита из Landsat 8, который существует в коммерческом продукте:
В инструкции Zverik’а по сборке landsat похоже опечатка: после корекции цвета результат помещается в result2.tif, а все дальнейшие операции расписаны для result.tif.
GlobalMapper (необязательно, уверен есть способ и в QGIS, но я его не изучал)
JOSM
JOSM-модуль Scanaerial
JOSM-модуль RemoveRedundantPoints (опционально)
Процесс подготовки:
Качаем квадраты нужной территории по ссылке выше.
Далее нужно пересчитать их с помощью команды gdal calc. Формулу я взял у trolleway тут, но с другим значением. Экспериментальным путём решил выставить 55, чтобы убрать лишние редколесья и оставить только густой лес и чтобы граница леса была поменьше. Использовал её через приложение OSGeo4W Shell, которое идёт в пакете с QGIS (может ещё как-то можно использовать gdal, не знаю). Итог такой (соответственно, ссылку на файл и полученный результат меняем под себя):
gdal_calc -A "D:\Downloads\Hansen_GFC2014_treecover2000_60N_130E.tif" --outfile="D:\Downloads\Hansen_GFC2014_treecover2000_60N_130Emod.tif" --calc="1*(A>55)"
Далее нам нужно порезать их на тайлы png с прозрачностью (transparency которая, такие тайлы очень удобно потом использовать). Про QGIS ничего не знаю, пошёл проще и использовал GlobalMapper (экспорт в веб-формат, тайлы OSM, png, transparent, без пустых тайлов, зум 12). Максимальный зум 12-й, больше нет смысла. Меньше делать есть смысл только для обзорной карты, в работе они не используются.
Готовые тайлы подключаем к JOSM. Ссылка:
tms[12]:file:/путь/до/тайлов/{zoom}/{x}/{y}.png
Я использую в связке со слоем Mapnik-a, что выглядит следующим образом: Это очень удобно, потому что можно оценить где леса уже отрисованы, а где нет (не всегда новые леса видны будут на Mapnike, поэтому придется увеличивать до максимума, чтоб они отрисовались. А лучше, конечно, просто скачать данные, например через Overpass-запрос, чтоб точно не наделать дублей).
Устанавливаем Scanaerial как написано тут. Затем редактируем scanaerial.cfg под наши нужды:
в разделе [WMS] устанавливаем:
size_limit делайте под себя, из расчёта, что 1000 = квадрат 50.2 x 50.2 км. Если кусок замкнутого леса огромен и вы выставили, например, 10000, то ждать придётся долго (в моём случае конца процесса я не дождался, после 2.5 часов я сбросил просто). Если же кусок леса относительно небольшой, то хоть 100500+ ставь, он обработает только его и быстро. Поэтому у меня по умолчанию стоит 30000, когда наталкиваюсь на огромный кусок, ставлю 1000, делаю квадраты-мультиполигоны и склеиваю границы. Обработка полного куска 1000 на моём ноуте занимает 3-6 минут. 5000 как-то обрабатывались 45 минут.
И в разделе [TAGS] добавляем:
natural = wood
и также всё остальное - #.
Процесс векторизации:
В JOSM вызываем инструмент Scanaerial (у меня это клавиша X) и тыкаем на кусок леса. Получится что-то типа: Далее чистим от мелких областей (которых процентов 90 в участниках отношений и которые почти все являются артефактами). Выделяем всё, что входит в мультиполигон, Поиск " areasize:-30000" (можно поэкспериментировать с числом) и отметить Найти в выделенном. Затем удалить новое выделенное. Я ещё упрощаю внешнюю линию с модулем RemoveRedundantPoints на max значении 53, а потом режу полученную линию если более 2000 точек остаётся в ней. На результат при имеющихся погрешностях это не сильно влияет, зато значительно сокращает количество точек. Если после всего этого мультиполигон по-прежнему велик, можно его разделить на несколько. Вот и всё, черновой вариант большого куска леса готов.
Также, так как данные от 2000 года, можно их сразу проверить. Подключаем в JOSM ещё один слой, который отображает изменения леса с 2000 по 2014:
и смотрим те места, которые выделены красным (леса больше нет) и синим (новый лес вырос) цветом.
Параллельно, если хочется сразу качественно сделать, можно в фоне подгружать и Бинг-слой и делать финальную отрисовку по нему. И также подготовить слой с последними снимками Landsat-8. Я использую всё вместе сразу.
Вывод: на мой взгляд, очень удобный и простой способ черновой отрисовки больших массивов леса для дальнейшей ручной коррекции его краёв. Для 12 зума качество получается очень даже приемлемое. Таким образом я отрисовал Приморский и юг Хабаровского краёв. На это ушло примерно 6-8 дней по 2-4 часа в день (по бОльшей части из-за того, что много экспериментировал с разными настройками и способами). Несмотря на приличные (по меркам рисования 17-18 зумов) погрешности, качество автоотрисовки предложенным методом значительно выше в сравнении с быстрой ручной отрисовкой больших кусков леса (что видно даже на картинке выше). Небольшие массивы леса лучше всё же рисовать руками.
Пожалуй, процесс подготовки самый сложный. Потом процесс рисования и коррекции ничем не отличается от простого рисования в JOSM.