OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

Announcement

A fix has been applied to the login system for the forums - if you have trouble logging in please contact support@openstreetmap.org with both your forum username and your OpenStreetMap username so we can make sure your accounts are properly linked.

#51 2010-03-17 23:53:15

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

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

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

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

Last edited by Aleksandr Dezhin (2010-03-18 01:05:46)


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

#52 2010-03-18 10:19:51

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

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

Last edited by usm78-gis (2010-03-18 10:21:14)

Offline

#53 2010-03-23 22:58:40

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

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

8 Dump sites
10 Green urban areas

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

7 Mineral extraction sites

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

Last edited by usm78-gis (2010-03-23 22:59:52)

Offline

#54 2010-03-24 05:54:58

dimuzz
Member
From: Екатеринбург
Registered: 2009-09-10
Posts: 1,843

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

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

Offline

#55 2010-03-25 00:02:36

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

dimuzz wrote:

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

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

Offline

#56 2010-04-15 11:33:49

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

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

Offline

#57 2010-04-15 12:03:04

Kotelnikov
Member
From: Krasnodar, RU
Registered: 2009-05-07
Posts: 2,854
Website

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

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


1 000 000 points: 80% complete

Offline

#58 2010-04-15 23:47:31

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

Kotelnikov wrote:

Когда можно будет увидеть результат?

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

Offline

#59 2010-04-17 21:49:39

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

usm78-gis wrote:
Kotelnikov wrote:

Когда можно будет увидеть результат?

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

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

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

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

Last edited by usm78-gis (2010-04-17 22:53:29)

Offline

#60 2010-04-18 08:36:55

andrew_shadoura
Member
Registered: 2009-12-29
Posts: 14

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

usm78-gis wrote:

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

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

Видна неприятная техническая багофича векторизатора r.to.vect -s ,
связанная со срезанием пол-пиксела на углу g.region, которая потом
усугубляется генерализатором. Я посмотрел исходники GRASS, это можно
поправить, но придется пересобирать GRASS, что сильно усложнит использование
методики "нормальными" людьми ;)

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

Offline

#61 2010-04-18 08:52:46

KekcuHa
Member
From: Moscow
Registered: 2008-05-26
Posts: 607
Website

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

usm78-gis wrote:

Еще хочу сказать вот что: если для вашей местности есть безоблачный landsat7, не
тратьте время на прорисовывание берегов водоемов и границ лесов!!!
Это все равно все придется стирать, и годится только как тренировочная карта.
...
То же касается и использования fuzzer. Он не умеет отделять прибрежные болота от воды,
поэтому при правильной классификации эти труды придется опять же стирать.

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

Offline

#62 2010-04-18 10:08:51

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,425
Website

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

usm78-gis wrote:

Посмотрим, как с этими результатами справятся конвертеры и рендереры.

clipboard01bf.th.jpg
Оно?

Offline

#63 2010-04-18 10:17:47

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

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

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

Там вполне отчетливо видно, что с landuse=residential классификация явно кривоватая, хотя это видно и без спутника, т.к. ситуация в которой жилые кварталы располагаются вокруг карьера мне видится очень маловероятной, а там такое сплошь и рядом.

Лес и вода местами неплохи - хотя я бы подумал бы про snakes генерализацию в грассе - мне она вполне не плохиве результаты давала.
landuse=farm(даже при учете того что имелся ввиду farmland) довольно сомнительный, кмк.

В общем на данный момент вижу смысл только в выборочной выгрузке классов, например леса и воды.
И ИМХО мультиполигоны везде мне кажется не очень удачная идея.


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

#64 2010-04-18 10:24:46

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,948

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

KekcuHa wrote:

Как тут водится, я спрошу, кто даст вам право стирать нарисованные, например мной, леса?

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

KekcuHa wrote:

Это же вандализм, о котором нужно сразу жаловаться маме писать в DWG!

Вы совершенно напрасно иронизируете. Звонок в полицию вы тоже сравниваете с "жалобой маме"?

Offline

#65 2010-04-18 11:41:39

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

KekcuHa wrote:

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

Мне бы никогда и в голову не пришло стирать леса в Подмосковье или Краснодарском крае. Я там никогда не был,
и какие и где там леса знать не могу. Для работы алгоритма классификации в любом случае
нужна хоть какая-то карта ground truth, это статистический анализ многоканальных радиометрических измерений.
Ваша карта вполне подойдет, вопрос заключается только в том, по каким классам проводить классификацию.
CORINE landcover (CLC) это единый классификатор из 44 классов применяемый в ЕС. Мне пришлось по разным
причинам, описанным выше, уменьшить число классов до 18, среди них все 3 типа лесов.
К тому же надо различать "вандализм" геометрический и аттрибутивный. Уточнение геометрии лесов и озер по Landsat
никак вандализмом быть не может.
В том районе, который я добавил, полигоны лесов можно вообще пересчитать по пальцам, а озера нарисованы либо
очень грубо, или неточно с помощью fuzzer и lakewalker. Леса, болота и озера составляют там 95% площади,
плотность населения очень низкая.

Offline

#66 2010-04-18 12:23:54

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

Aleksandr Dezhin wrote:

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

Там обычный композит ландсат, он не может быть точнее по определению. Ужо задумался о районе Сайменского канала (несколько западнее).

Там вполне отчетливо видно, что с landuse=residential классификация явно кривоватая, хотя это видно и без спутника, т.к. ситуация в которой жилые кварталы располагаются вокруг карьера мне видится очень маловероятной, а там такое сплошь и рядом.

landuse=residential это очень тяжелый радиометрический класс. Шиферные крыши домов практически невозможно отделить от "minerals extraction site" при геометрическом разрешении landsat7 в
мультиспектральных каналах (30 метров). К тому же ground truth/статистика взята из Финляндии, так что без ручной работы все равно никак.
Это открыто признают и профессионалы со всеми их недешевыми ArcGIS, PCI Geomatics и eCognition/Definiens, что качественная классификация без ручной работы невозможна.
Тут бы помог GeoEye или на худой конец IRS, будем разбираться с лицензионными и прочими проблемами smile

Лес и вода местами неплохи - хотя я бы подумал бы про snakes генерализацию в грассе - мне она вполне не плохиве результаты давала.

v.generalize не использовал, только v.clean, по одной простой причине: он портит границы тайлов еще больше, чем то что есть сейчас. Придумаете как объяснить ему не трогать вертексы
на границе g.region, буду очень рад услышать.

landuse=farm(даже при учете того что имелся ввиду farmland) довольно сомнительный, кмк.

Так написано в
http://wiki.openstreetmap.org/wiki/Wiki … ing_scheme

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

Болота тоже неплохи. Остальные надо смотреть.
В перспективе надо править то, что есть, пересматривать классификатор и использовать ОСМ в качестве ground truth.

И ИМХО мультиполигоны везде мне кажется не очень удачная идея.

Это результат ogr2osm
http://wiki.openstreetmap.org/wiki/Ogr2osm
Справится ли polyshp2osm.py из http://wiki.openstreetmap.org/wiki/Wiki … ata_Import
с мультиполигонами не знаю.
К тому же я этого конкретного polyshp2osm.py для corine не нашел, даже полазив по французскому форуму.

Offline

#67 2010-04-18 12:34:13

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

liosha wrote:
usm78-gis wrote:

Посмотрим, как с этими результатами справятся конвертеры и рендереры.

Оно?

Оно big_smile
Тем не менее, накаркиваю для liosha скорое переписывание конвертера на с/c++.

Offline

#68 2010-04-18 12:39:00

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

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

usm78-gis wrote:

v.generalize не использовал, только v.clean, по одной простой причине: он портит границы тайлов еще больше, чем то что есть сейчас. Придумаете как объяснить ему не трогать вертексы на границе g.region, буду очень рад услышать.

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


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

#69 2010-04-18 12:51:00

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

Aleksandr Dezhin wrote:

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

Все v.* ни разу не уважают g.region. Хотя это конечно выход, делать сначала v.overlay на сильно больший тайл, v.generalize, а потом v.overlay на v.in.region

Offline

#70 2010-04-18 12:57:30

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

Еще я думаю отказаться от UTM после классификации,
перепроектировать в epsg:3857 с nearest neighbor resampling до z=13 (19.109257 m/pix)
Тогда границы моих тайлов будут совпадать с ОСМ/google, можно будет использовать ту же
нумерацию и подложку à la Komяpa.

Last edited by usm78-gis (2010-04-18 13:01:54)

Offline

#71 2010-04-18 21:08:26

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

Добавил кусок Сайменского канала
http://www.openstreetmap.org/?lat=60.86 … 78&zoom=14
его уже можно сравнить со снимками высокого разрешения.
Интересный момент - снимки летние (19 августа 2002), и "цветущая" вода в застойных частях
распознается как болото. Такой эффект виден и на нескольких озерах.
Про некоторые я знаю, что так оно и есть, а вот на одно большое озеро надо
будет летом посмотреть, действительно ли оно так "цветет" smile

Offline

#72 2010-04-18 23:04:35

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

Интересные вещи видны из сравнения с google: при переходе лес-вода и вода-лес похоже наблюдается релаксация детектора
(эффект памяти при порогообразном изменении интенсивности излучения) либо считывающей электроники, и этот нелинейный эффект
ландсатовцами не корректируется.
Ну и погранзастава посреди леса (согласно викимапии) на ландсате однозначно детектируется как landuse=residential smile

Offline

#73 2010-04-20 23:20:42

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,415

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

andrew_shadoura wrote:

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

ИМХО это все-таки баг. Патчик для grass70, с которым все работает как надо.
С epsg:3857 у grass70 есть проблемы, которых нет у grass64, но их удалось обойти.
Остался tile alignment с ОСМ, и можно приступать к большой загрузке.

Index: areas_io.c
===================================================================
--- areas_io.c  (revision 41933)
+++ areas_io.c  (working copy)
@@ -193,13 +193,32 @@
        idx = (p->col - last->col);
        dy = (idy > 0) ? 0.5 : ((idy < 0) ? -0.5 : 0.0);        /* dy = 0.0, 0.5, or -0.5 */
        dx = (idx > 0) ? 0.5 : ((idx < 0) ? -0.5 : 0.0);        /* dx = 0.0, 0.5, or -0.5 */
-       y = cell_head.north - (last->row + dy) * cell_head.ns_res;
-       x = cell_head.west + (last->col + dx) * cell_head.ew_res;
+
+       /* do not smooth the region borders */
+        if (last->row == 0 || last->row == Rast_window_rows() || last->col == 0 || last->col == Rast_window_cols())
+        {
+        y = cell_head.north - last->row * cell_head.ns_res;
+        x = cell_head.west + last->col * cell_head.ew_res;
+       }
+       else
+        {
+        y = cell_head.north - (last->row + dy) * cell_head.ns_res;
+        x = cell_head.west + (last->col + dx) * cell_head.ew_res;
+       }
        total++;
        Vect_append_point(points, x, y, 0.0);

-       y = cell_head.north - (p->row - dy) * cell_head.ns_res;
-       x = cell_head.west + (p->col - dx) * cell_head.ew_res;
+       /* do not smooth the region borders */
+        if (p->row == 0 || p->row == Rast_window_rows() || p->col == 0 || p->col == Rast_window_cols())
+        {
+        y = cell_head.north - p->row * cell_head.ns_res;
+        x = cell_head.west + p->col * cell_head.ew_res;
+       }
+       else
+        {
+        y = cell_head.north - (p->row - dy) * cell_head.ns_res;
+        x = cell_head.west + (p->col - dx) * cell_head.ew_res;
+       }
        total++;
        Vect_append_point(points, x, y, 0.0);

Offline

#74 2010-06-30 22:43:31

AMDmi3
Member
From: Москва
Registered: 2009-08-12
Posts: 3,315

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

Можно чуть подробнее про кварталы лесничеств? Видел столбики (снято к сожалению только с одной стороны):

14 | 14
1  |  2

9 | 15
4 |  2

с тем что сторона показывает на квартал, к которому относятся числа, все вроде понятно. А что значат два числа? Типа X и Y, или что-то иерархическое? Второй случай смущает - получатся у соседних кварталов числа сильно разные.

Offline

#75 2010-06-30 23:34:22

citrin
Member
From: Moscow
Registered: 2008-11-09
Posts: 413
Website

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

Числа это номера кварталов. Нумерация идет в пределах одного лесничества обычно с запада на восток и с севера на юг. Но лучше раздобыть квартальню карту у лесников.
Для МО можно скачать тут: http://rutracker.org/forum/viewtopic.php?t=2232316

Last edited by citrin (2010-06-30 23:48:13)

Offline

Board footer

Powered by FluxBB