15 марта 2013-го

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Толстый и тонкий

В начале марта Иван Мельников спросил в твитере: «это правда, что самое большое и маленькое здания в OSM — ошибки?» Давайте выясним.

Тег building — самый популярный в базе, если не считать бессмысленного source: 77 миллионов линий, 45% от всех линий OSM. Osmosis отфильтровал 80% планеты, оставив 3,8 гигабайта, которые osm2pgsql за два дня развернул в базу в 25 раз толще. То есть вся планета потребовала бы полтерабайта. Попутно я узнал, что в среднем на 10 зданий приходится 53 узла, без учёта общих точек (по отдельности получится около 60-61 узла, как пишет статистика гис-лаба). 1/4,4 всех точек в базе принадлежит зданиям, и лишь у 37 идентификаторы меньше миллиона.

Я обрабатывал отдельно отношения и линии. Первых оказалось совсем немного, 85 тысяч. Из трёх самых больших мультиполигонов зданий два — автозаводы близ Торонто: General Motors (563 тыс. м²) и Toyota (284 тыс. м²). Второе по размеру «здание» — крепостная стена Сианя, древней столицы Китая: 322 тыс. м². Все эти мультиполигоны правильные, хотя в Канаде одним контуром обведены по три здания, а стоит ли стену обозначать как building — непонятно.



На этой фотографии заснято самое большое по площади основания здание: фабрика Boeing в Эверетте, США. Официально 398 тыс. м², в OSM — 385, в пределах погрешности. Однако у нас оно не входит даже в первую сотню. Топ-5 на 14 февраля таков: Как видно, эта часть теории подтверждается. Теперь обратимся к другому концу рейтинга. Главная проблема с мелкими полигонами — что площадь некорректных геометрий (с самопересечениями, дубликатами рёбер и т. п.) вычисляется как очень малая, но не нулевая. Если верить сортировке по столбцу площади, то да, самые маленькие <любые типы объектов> — ошибки. Но интереснее найти настоящие здания. Таким среди мультиполигонов будет ромбовидное здание, созданное Komяpой: 0,026 м². После него идут два правильных, но очень маленьких мультиполигона в Жироне, Испания, площадью 0,48 и 0,55 м², и дом в Калифорнии с двухсантиметровым стенами (0,68 м²): его контур inner едва меньше outer.

Познакомьтесь с самым маленьким (на 14 февраля) зданием в OpenStreetMap: домик в Словакии площадью 0,023 мм². На карте он выглядит бледной точкой. Даже используя буферизацию, не удалось избавиться от всех кривых геометрий, но второе и третье места по площади занимают дома в Сан-Франциско: 1.8 и 3,2 мм². Остальные здания рекордных размеров вы можете поискать самостоятельно.

В итоге, как резюмируют на MythBusters, CONFIRMED: сколько ни исправляй ошибки, самые большое и маленькое здания в OpenStreetMap не соответствуют зданиям на местности.
12 марта 2013   · · ·
Ctrl
· · ·   17 марта 2013