Лес, просеки и кварталы лесничеств

Наконец сравнил 6 канальную классификацию с 2-4-5-brovey, налицо улучшение распознавания того, что связано с водой (в основном болота),
но и ухудшение точности. Есть принципиальные проблемы, например, каким же должно быть разрешение распознанных объектов,
чтобы не положить на лопатки рендереры, гармины и прочие руссы. Так же есть необходимость порезать “хвойные” мультиполигоны на куски,
иначе импорт в OSM будет просто невозможен. Но это наверное заслуживает особой темы.

Какого размера штатный квартал леса? 2х2 км? Меньше? Больше? Может на столько и нарезать лесную массу?

около Екатеринбурга в основном с шагом в 1 км. Но не всегда ровно, а иногда это совсем не квадраты, а откровенные трапеции

Использовал свою старую 6 канальную сигнатуру (30 m/pix) из glcf для обработки с помощью i.smap склейки вот этих 2 сцен
http://edcsns17.cr.usgs.gov/cgi-bin/browse/browse?debug=3&ds_id=landsatetm&ds_path=186/17/2002/LE7186017000223151.jpg
и
http://edcsns17.cr.usgs.gov/cgi-bin/browse/browse?debug=3&ds_id=landsatetm&ds_path=186/18/2002/LE7186018000223151.jpg
Классифицированный 25000x20000 geotiff занимает около 17МБ, думаю, куда бы его залить, чтобы люди поглядели
стоит ли игра свеч. Для тех кто находится в похожей природной зоне и схожим зенитным углом солнца (чтобы не корректировать
BRDF http://www-modis.bu.edu/brdf/brdfexpl.html ) можно обойтись и без i.getsigset

Для 15 m/pix 7 канальной классифификации решил убрать радиометрически малоосмысленные категории
как Port areas, Airports, снизив таким образом число классов до 20.
i.getsigset думает уже 4 суток, использует 16GB RAM, обработаны 12 классов.

Другой интересный эксперимент это нормировка 30 m/pix каналов и перемножение их на панхроматический канал (что-то типа Brovey)
с последующей 15 m/pix 7 канальной классифификацией.
Работает быстро, но результаты по болотам плохие.

Кстати, сравнение картинок по годам показывает местами сплошную варварскую вырубку леса в погранзоне и других малодоступных
местах.

Увы, для этого даже спутниковых сведений не нужно - возле Кингисеппа в сторону Гдова прямо вдоль шоссе вырублены огромные площади леса. А уж что творится “в глубинке” - без слез не скажешь - там каждую сосну чуть ли не “в лицо” с детства знал. И брошено огромное количество гнить. Сволочи.
Sorry за офф.

Кому интересно посмотреть как выглядит тестовая 30 m/pix классификация, вот geotiff
http://rapidshare.com/files/364119721/corine_class_all6_z36sig_bl512_recoded.tif.html

А где можно посмотреть соответствие значений растра классам?


GRASS 6.4.0RC4 (EPSG_32635):/mnt/raid0/data/tmp > r.stats -l lceugr100_00_pct_reclass
 100%
1 Continuous urban fabric
7 Mineral extraction sites
8 Dump sites
10 Green urban areas
12 Non-irrigated arable land
18 Pastures
20 Complex cultivation patterns
21 Land principally occupied by agriculture, with significant areas of natural vegetation
23 Broad-leaved forest
24 Coniferous forest
25 Mixed forest
26 Natural grasslands
27 Moors and heathland
29 Transitional woodland-shrub
30 Beaches, dunes, sands
32 Sparsely vegetated areas
35 Inland marshes
36 Peat bogs
37 Salt marshes
41 Water bodies
* no data
[Raster MASK present]

Может быть тут кое-что можно еще убрать.
Теперь надо как.то бороться с недоделками grass: v.split не умеет работать с полигонами,
и непонятно как заставить v.build не создавать острова и ограничить число вертексов в area.
Можно пытаться сделать v.to.points, потом v.delaunay и прибить все треугольники принадлежащие островам.
При этом получится порядка 5 миллионов треугольников на сцену :wink:
Я конечно, сразу взялся за большую и очень сложную задачу, в местах с бескрайними полями все будет гораздо
проще, это видно даже по южной части моей сцены.
Но если всерьез думать о классификации IRS, то эти геометрические проблемы надо как-то решать.
С полигонами по 200000 нодов в “outer” и 10000 “inner” островов, cо своими вложенными полигонами
далеко не уедешь.

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

Насчет лимита нодов, у меня были мысли делать это в PostGIS + pl/SQL.

  1. разделяем мультиполигоны так, чтобы у полигона был 1 outer, но по идее при классификации таких и быть то не должно.
  2. берем outer мультиполигона находим две ближайшие противоположные по порядку точки и получаем два куска outer-а.
  3. замыкаем эти куски получаем два полигона p1 и p2
  4. делаем intersect(mp, p1) и intersect(mp, p2) получая таким образом два куска исходного mp.

Пункт 2 скорее всего нужно будет подточить, чтобы не разрезать С-образный полигон по концам, т.е надо еще проверить лежит ли внутри outer-а.
Еще можно брать не строго противоположные узлы, а противоположные ± 10% или что-то подобное.

Если убрать Финский залив и Ладожское озеро, основные источники coastline проблем,
то выяснится, что практически все остальное это острова внутри двух огромных “outer” полигонов “хвойный лес”.
Если их убрать, то гораздо легче и приятнее будет работать.
2km сетку из mapsets держу тем не менее про запас.

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


8 Dump sites
10 Green urban areas

Многие дороги и сухие пески попали вот сюда, но видимо ничего не поделаешь:


7 Mineral extraction sites

Буду задавать 512-пиксельную сетку (utm35, 15m/pix), векторизовывать, впатчивать
дорожную сеть и прочие линейные объекты, зачищать. Для заливки не хватает v.out.osm,
придется написать. Посмотрим, как с этими результатами справятся конвертеры и рендереры.

А кто-нибудь рассматривал возможность использования данных GlobCover? http://ionia1.esrin.esa.int/index.asp
Правда, это растр с разрешением 300 м на пиксель, зато классифицированный. Для крупных участков может пригодиться?

Классификация MERIS за пределами Европы иногда совершенно непотребно выглядит, даже километровый MODIS и тот точнее.
Если для вашего района есть безоблачные летнии сцены Ландсат, то скачайте их и попробуйте.
Но сначала стоит, как здесь уже упоминалось, вычислить NDVI (идеально и альбедо), по ним можно очень неплохо
нарисовать воду (моря, озера, крупные реки), и использовать уже сам ОСМ в качестве тренировочной карты.

Вышел на финишную прямую, осталось отрезать ту часть, которая лежит в Финляндии и можно будет заливать тестовую версию.
Это будет довольно большой импорт.
Так как я в этой области профессионально не работаю, получил интересный опыт :slight_smile:

Когда можно будет увидеть результат? А то у нас в крае лесов куча, и хотелось бы это все разнообразить.

На выходных. По 3G из дома не осилить, слишком медленно.

Залил пробный кусок из 3x3 тайлов по 256x256 15 метровых пикселов. Смотреть здесь
http://www.openstreetmap.org/?lat=60.95675&lon=29.12733&zoom=15

http://www.openstreetmap.org/browse/changeset/4450170

Видна неприятная техническая багофича векторизатора r.to.vect -s ,
связанная со срезанием пол-пиксела на углу g.region, которая потом
усугубляется генерализатором. Я посмотрел исходники GRASS, это можно
поправить, но придется пересобирать GRASS, что сильно усложнит использование
методики “нормальными” людьми :wink:
Мапник весьма быстро справился с рендерингом, но style у него конечно довольно примитивный,
типы леса неразличимы и видны только границы полигонов.
Еще хочу сказать вот что: если для вашей местности есть безоблачный landsat7, не
тратьте время на прорисовывание берегов водоемов и границ лесов!!!
Это все равно все придется стирать, и годится только как тренировочная карта.
Рисуйте только “чистую” воду и “чистый” лес данного типа.
То же касается и использования fuzzer. Он не умеет отделять прибрежные болота от воды,
поэтому при правильной классификации эти труды придется опять же стирать.
Тип леса тем более.
Есть много других технических моментов, давайте для этой проблематики открывать отдельную тему.

Ой, какая знакомая картинка. Я неделю назад в грассе баловался с разными векторизаторами, получил такое же лоскутное одеяло :slight_smile:

Так это, сделай эту фишку конфигурабельной и патчик в апстрим отправь.

Как тут водится, я спрошу, кто даст вам право стирать нарисованные, например мной, леса? http://osm.org/go/0t0EYW
Это же вандализм, о котором нужно сразу жаловаться маме писать в DWG!


Оно?