OpenStreetMap: прошлое, настоящее и будущее +33



Скажу сразу: я не пользователь OSM и, тем более, не участник проекта. Тем не менее, я считаю, что знаю о нём достаточно много, и хочу изложить свои соображения в виде обзорной заметки по статьям, которые мне удалось здесь обнаружить. Своего рода полемика с авторами этих статей и комментариев к ним. Точнее, с их тезисами — важно ведь не КТО сказал, а ЧТО сказано.

Часть первая: Начало


Началось это, видимо, с «The Shuttle Radar Topography Mission (SRTM) that flew onboard the Space Shuttle Endeavour during an 11-day mission in February of 2000». Затем Стив Кост, по примеру Википедии, в июле 2004 года создал проект OpenStreetMap (ещё до появления Google Maps, разумеется). После чего началось «триумфальное шествие советской власти»: для использования в OSM свои спутниковые снимки сделали доступными по лицензии CC-BY-SA компании NearMap, NOAA, GeoEye, DigitalGlobe, ErosB, Google (!), US Census TIGER, AND, MassGIS, GeoBase и многие другие. Поголовье волонтёров тоже растёт, как на дрожжах. Ещё немного, ещё чуть-чуть — и вся планета будет оцифрована и предоставлена в безвозмездное пользование всем-всем-всем!

Часть вторая. Наши дни


Хотели как лучше, а получилось как всегда. Навалились гурьбой, стали руки вязать, а потом уже все позабавились.

Так называемый «крупный бизнес» явно почуял поживу, и ГИСы стали плодиться, как тараканы: Google Maps, Яндекс Maps, Рамблер Maps, Mail.Ru Maps aka Maps.me, Яндекс.Народная карта, Apple Maps, Bing Maps, Yahoo! Maps и прочая, и прочая, и прочая. Вдруг заговорили про ГИТ — «геоинформационные технологии» (это примерно то же самое, что и куда более широко и шумно распиаренные «нанотехнологии», о которых сегодня молчат в тряпочку), про «пространственные базы данных» (можно подумать, пространственные БД чем-то отличаются от любых других), про «экологический мониторинг» (популярное нынче средство для распила бабла) и т.д. Появилась даже «пространственная экономика» плюс целая индустрия автомобильных, пешеходных, велосипедных и прочих нафигаторов. Одним словом, тренд сменился на прямо противоположный: если раньше какие-то «частные лавочки» (например, Japan KSJ2 Import или специализирующийся по Северной Америке TIGER) сливали данные в общий котёл OSM, причём безвозмездно, то сейчас они расползаются по крупным компаниям, предоставляющих эти данные уже за деньги, и чуть ли не каждая из них готова пожрать всех своих конкурентов до единого (некоторых уже сожрали). OpenStreetMap среди этого столпотворения стала почти не видна, даже если не добавлять сюда стремительно размножающийся зоопарк «геософта»: Mapnik, Maperitive, CloudMade, JOSM, Cartagen, Potlatch, Merkaartor, Vespucc, Go Map!!, OsmAnd, Navit, и прочие GNOME Maps.

Основными конкурентами проекта OpenStreetMap считаются Wikimapia (проснулись!), Google Map Maker и Яндекс.Народная карта. Посмотрим… В отличие от OpenStreetMap и Викимапии, созданные пользователями данные не могут свободно использоваться на своих ресурсах третьими лицами (или самими пользователями), для этого требуется согласие администрации Яндекса… ну и хрен с вами, ребятки! В отличие от OpenStreetMap, Google считает созданную сообществом карту личной интеллектуальной собственностью… и вас туда же, ворюги несчастные! Викимапия представляет собой интерактивную карту на основе Google Maps AP… ах, это просто надстройка, причём доступа к полной БД, похоже, вообще нет… ладно, не очень-то и хотелось! Тем более, что Фонд свободного программного обеспечения призывает всех вносить свой вклад в проект OpenStreetMap с целью создания свободной альтернативы проприетарной Google Earth, задача замены которой находится в списке высокоприоритетных проектов Фонда. OpenStreetMap описывается как ответ Google и коммерчески ограниченным геоданным от мира свободного программного обеспечения.

Как видим, OSM резко отличается от остальных ГИС уже по деньгам — даже Викимапия существует на основе коммерческой компании и получает доход от рекламы! Но дело совсем не в деньгах — в конце концов, почему бы пользователям не платить за качественный продукт? Но что такое, простите, «продукт»? По моим представлениям, пользователей, в первую очередь, интересует качество данных — их точность, актуальность, достоверность, полнота. И только во вторую — удобный, дружественный, интуитивно понятный интерфейс. Вот оно, радикальное отличие OSM от любых других «конкурентов»! Она, и только она предоставляет полный доступ к самим данным, а не к «весёлым картинкам» как остальные сервисы. Потому как это не карта, а именно база данных, содержащая сведения об объектах на земной поверхности.

Мы выяснили, что на первом этапе в OSM стекались данные от разных компаний, а расползаются от неё в виде конкурентов уже всякие API. Почему? Да потому, что это позволяет «под шумок» объявить своей интеллектуальной собственностью не только сам сервис (как правило, довольно поганый, как и у самой OSM), но и все завёрнутые в него геоданные. А данные наверняка ворованные: вот режь меня, жги меня — я не верю, что каждый из них (или хотя бы один из них) собрал свою собственную карту силами только своих волонтёров (кстати, присваивать их труд тоже неприлично)! Что? Только свои? А если найду? Базы данных — В СТУДИЮ! Ах, не дадите? Ну, тогда извините — здесь работает «презумпция виновности».

OSM даёт доступ ко всей информации, а остальные — лишь то, что соблаговолит выдать серверный софт в ответ на запрос, что создаёт (по крайней мере, теоретическую) возможность для различных манипуляций с информацией. Об остальных «прелестях» доступа к данным только через API уже рассказывалось в статьях здесь, на Хабре. Например: Дело в том, что на этот раз нам нужно обработать примерно 5 миллионов адресов. А может быть и 50 — это сразу было не ясно. Как известно, Google забанит ваш IP примерно через 10 тысяч адресов, Яндекс поступит с вами аналогично, хотя возможно и несколько позже (25 тыс запросов в день вроде). И кроме того, оба API это REST, а значит это сравнительно медленно. И даже если купить платную подписку, скорость от этого не увеличится ни на грош.

Позиция OSM представляется мне безупречно чистой и наверняка сидит в печёнках у всех конкурентов: данные доступны по открытой лицензии ODbL и имеют два главных условия использования: обязательная ссылка на источник данных (участники OpenStreetMap) и в случае публичных производных данных они должны быть также опубликованы по лицензии ODbL. Мало того, использование для создания карт информации из несвободных сервисов, подобных Google Maps, без разрешения правообладателя запрещено. Наконец, карты OpenStreetMap используют такие сайты и организации как Организация Объединённых Наций, Википедия, Microsoft Bing Maps, Федеральное космическое агентство России, MapQuest, Викимапия (Ого! Они что, ориентацию поменяли?), Оксфордский университет, сайт президента США и другие.

Но хватит дифирамбов — «теперь поговорим о дряни».

Да там мрак вообще. Одно и то же может обозначаться кучей разных тегов, предусмотреть все варианты очень сложно. Есть старые теги, но которые никто не вычистил, есть просто ошибочные. Есть огромное количество устарелой информации, за актуальностью которой никто не следит, особенно это касается всяких заведений и данных о наличии/отсутствии прохода.

Согласен: количество ошибок там просто гигантское: гораздо больше, чем думает только что процитированный хабровчанин! И выявить их не так-то просто: данные, хоть и текстовые, но мультиязычные — приблизительно на 40-50 языках. Кроме того, там очень много дублей и просто мусора. Это даже если забыть, что ошибки в данных имеют пакостную тенденцию накапливаться (и даже порождать ошибки наведённые), а сами данные постоянно изменяются, дополняются, устаревают. Но кто вам сказал, что у этих «проприетарных» систем нет ошибок? Или что их там хотя бы меньше? Они просто не видны, как и сами данные. Зато недостоверность информации в открытой системе можно исправить, а в закрытой — нет. Так что, по крайней мере, потенциально OSM всё равно лучше любого другого «аналога» — она верифицируема!

Когда-то (несколько лет назад) я посмеивался, что в базе OSM обнаружено аж 17 Южных полюсов! Решил проверить, как сейчас, качнул Антарктиду (30.03.2019) и получил… 50 полюсов. Прописью: ПЯТЬДЕСЯТ! Не верите? Смотрите!

1. node id=1042050310 lat=-90.0 lon=0.0
2. node id=4028080674 lat=-90.0 lon=-23.1236527
3. node id=4055651342 lat=-90.0 lon=19.0
4. node id=4055651343 lat=-90.0 lon=19.0
5. node id=4055651344 lat=-90.0 lon=19.0
6. node id=4055651345 lat=-90.0 lon=19.0
7. node id=4055651346 lat=-90.0 lon=19.0
8. node id=4055651347 lat=-90.0 lon=19.0
9. node id=4055651348 lat=-90.0 lon=19.0
10. node id=4055651349 lat=-90.0 lon=19.0
11. node id=4324771561 lat=-90.0 lon=1.1844246
12. node id=4324771562 lat=-90.0 lon=105.6989404
13. node id=4324771563 lat=-90.0 lon=132.4186852
14. node id=4324771564 lat=-90.0 lon=137.780023
15. node id=4324771565 lat=-90.0 lon=143.3682855
16. node id=436012592 lat=-90.0 lon=0.0
17. node id=5478583892 lat=-90.0 lon=33.2303881
18. node id=5478583893 lat=-90.0 lon=158.3249615
19. node id=5478583894 lat=-90.0 lon=-86.5237898
20. node id=5478583895 lat=-90.0 lon=48.2165046
21. node id=5478583904 lat=-90.0 lon=45.5704167
22. node id=5478583905 lat=-90.0 lon=72.694447
23. node id=5478583906 lat=-90.0 lon=-4.6036415
24. node id=5478583907 lat=-90.0 lon=156.4156146
25. node id=5478583908 lat=-90.0 lon=174.4279763
26. node id=5478583909 lat=-90.0 lon=-25.4418087
27. node id=5478583910 lat=-90.0 lon=90.8751034
28. node id=5478583911 lat=-90.0 lon=81.7634245
29. node id=5478583912 lat=-90.0 lon=-40.8082874
30. node id=5478583913 lat=-90.0 lon=-85.5106502
31. node id=5478583914 lat=-90.0 lon=-112.6347103
32. node id=5478583915 lat=-90.0 lon=-35.3366556
33. node id=5478583916 lat=-90.0 lon=163.6440556
34. node id=5478583917 lat=-90.0 lon=145.6316657
35. node id=5478583918 lat=-90.0 lon=-14.4985701
36. node id=5515059773 lat=-90.0 lon=152.6074683
37. node id=5515059774 lat=-90.0 lon=125.0793442
38. node id=5515059775 lat=-90.0 lon=-19.8055055
39. node id=5515059776 lat=-90.0 lon=125.378694
40. node id=5515059777 lat=-90.0 lon=96.2779594
41. node id=5515059778 lat=-90.0 lon=9.34518
42. node id=5515059779 lat=-90.0 lon=-47.4747063
43. node id=5515059780 lat=-90.0 lon=-49.0473178
44. node id=5515059781 lat=-90.0 lon=8.9047508
45. node id=5515059782 lat=-90.0 lon=166.9006628
46. node id=5515059783 lat=-90.0 lon=-165.5712167
47. node id=5515059784 lat=-90.0 lon=-20.6863713
48. node id=5515059785 lat=-90.0 lon=-165.8705753
49. node id=5515059786 lat=-90.0 lon=-136.769845
50. node id=5515059787 lat=-90.0 lon=-49.8370691

Причём 8 Южных полюсов были занесены в базу 2016-03-11 в 23:52:59, 10 — 2018-03-14 в 18:09:21, 9 — 2018-03-14 в 18:09:22, 15 — 2018-03-29 в 20:30:33. Это даже смахивает на вандализм (тем более, что у таких узлов и айдишки часто идут подряд). Впрочем, и без вандализма всякого дерьма в БД OSM предостаточно.

Второе, за что ругают OSM — это низкий уровень сервиса для конечного пользователя. Не хочу это даже обсуждать: вполне возможно, что он хуже многих других — возможно, даже самый плохой — какая разница? Должны же конкуренты хоть чем-то отличаться в лучшую сторону! Но, повторяю, OSM — это база данных, а всё остальное лишь «надстройка над базисом».

Ещё одна претензия к OpenStreetMap звучит примерно так: Схема тегирования в OSM является одновременно самым главным её архитектурным преимуществом, поскольку позволяет описать фактически любые свойства объекта, т.к. реально никто не ограничивает вас в выборе новых тегов для новых свойств объектов; и одновременно самым больным её местом, поскольку любая свобода в выборе способов обозначения всегда порождает религиозные войны различных групп пользователей, так и не сошедшихся во мнении, как обозначать тот или иной спорный объект.

Или:

Иногда такое вот использование привычного естественного языка ведет если не к катастрофическим для семантики результатам, то к чему-то, что достойно эпитета «крайняя неопределенность».

Или даже:

«Любые тэги» — самое большое проклятие осма. Видно, что изобретали его люди с линуксом головного мозга. Основное ядро должно быть тщательно продумано и стандартизировано. Мне казалось, что это аксиомная аксиома.

А вот мне кажется, что эта «аксиомная аксиома» убивает проект на корню! И здесь я намерен жёстко защищать позицию OSM: это ещё вопрос, у кого там «линукс головного мозга»! Вот скажите мне: почему вообще противопоставляются эти понятия? Естественный язык — хорошо, формальные классификации — тоже хорошо! А принцип OSM «any tags you like» просто великолепен! И тот факт, что первично в этом проекте наполнение картографической базы данных, а не то, как содержимое этой базы отображает стиль Standard на osm.org тоже замечательно! Волонтёры делают гигантскую, грандиозную работу поистине чудовищной трудоёмкости — и что, мы будем брезгливо морщить носы и указывать им, как им, по нашему мнению, следует заносить или редактировать данные?! Нет, мы должны поклониться им низко в ноженьки и предоставить возможность работать так, как удобно именно им! И никак иначе!

Будете возражать? Будете говорить, что база должна сохранять более или менее стройную семантику данных? Что в разных странах одинаковые объекты могут значительно различаться по составу и содержанию тегов? Что нечёткая процедура назначения тегов противоречит еще одному важному принципу OSM: верифицируемости, который гласит, что любое обозначение, внесенное в базу, должно быть таким, что другой участник проекта мог бы его подтвердить, то есть однозначно обозначить тем же самым образом? А вы уверены, что это вообще в принципе возможно? Опять путаем понятия «смысл» и «значение»…

Теги одного объекта должны быть уникальными, т.е. объект не может содержать два одинаковых тега с разными значениями, например highway=primary и highway=secondary в пределах одного объекта недопустимо.

И все, конечно, дружно послушаются и будут это строго соблюдать? Сами-то хоть в это верите? Или способны однозначно определить, что там за highway: primary, secondary или ещё какая? А ничего, что у тега highway более 500 значений, из которых немало в разы более популярных, чем только что названные? Там 11 миллионов «unclassified», 15 миллионов «track», 23 миллиона «service», 43 миллиона «residential», не говоря уже про всякие street_lamp, living_street, traffic_signals, bus_stop и другие. А что наряду с обычным building=yes существует несколько тысяч building=да — с этим что прикажете делать? А знаете, что общее количество тегов в базе данных превышает 50 тысяч и что там, рядом с многомиллионниками (amenity, barrier, landuse, maxspeed, natural, oneway, power, surface и другие) соседствует порядка 20 тысяч тегов, которые встречаются лишь один раз на всю БД? А что популярные данные (foot=yes, access=private, waterway=stream, тот же highway=secondary, building=house, oneway=no, surface=asphalt, power=tower, ...) тегами как раз и не являются? Неужели кто-то всерьёз думает, что всё разнообразие данных в OSM возможно описать на какой-то несчастной страничке Вики и, тем более, заставить всё сообщество её соблюдать?

Полилиния может быть либо объектом way, содержащим node, либо relation, содержащим way, т.е. не может быть relation содержащим и way и node одновременно, однако может быть объектом relation, содержащим одновременно way и другие relation, содержащие только объекты way.

Так-таки и не может? А знаете, сколько их на самом деле? 9 478 938 ссылок на 6 163 522 узла (node) из 2 106 305 отношений (relation), причём — держитесь крепче! — 1 794 837 (85%) из них содержат именно и way и node одновременно, а 106 219 из оставшихся имеют в качестве дочерних элементов только тип node. Актуальность данных — декабрь 2018 года.

Много разговоров ведётся также на тему определения площадных и линейных объектов, и вообще того, как должно быть, но почти никто не интересуется тем, как есть на самом деле. А потому ценность таких разговоров равна нулю, если не вообще отрицательная.

Ещё одно замечание перед тем, как перейти к «светлому будущему»:
Файл, содержащий векторные данные на всю планету Planet.osm в несжатом формате OSM XML занимает более 1ТБ, в формате XML, сжатом bz2, занимает 41.8ГБ, а в бинарном формате PBF 18.1ГБ. Все эти форматы хранят одни и те же данные.

Это не совсем так: и вся планета занимает менее терабайта (даже менее 900 гигов), и насчёт остального вот свежие данные:

Latest Weekly Planet XML File 75 GB, created 3 days ago.
Latest Weekly Planet PBF File 44 GB, created 3 days ago.

В любом случае, на мой взгляд, это не повод ковыряться в бинарных форматах (особенно, если их не просто читать, а модифицировать) — тем более, что вполне возможно сократить объём БД в несжатом формате примерно на порядок.

Часть третья. Чем дело кончится


Очевидно, что проект OpenStreetMap будет разгромлен наголову — у него просто нет ни малейших шансов! Слишком уж много денежных мешков ввязались в драку за потребителя. OSM давно уже обсуждается именно как сервис, но не как база данных, со всеми вытекающими. И даже те, кто работает с ней, как с базой, рассматривают её лишь как хранилище данных, как источник для своей выборки, который read only, и уже в выборке что-то там модифицируют, что-то считают, что-то показывают пользователю… а база остаётся прежней — тем же самым дерьмом, которым она была до всех этих трепыханий. А потом сами же жалуются, что результаты расчётов быстро устаревают так как OSM изменяется каждый день. Сизифов труд, однако! Зато огромная армия программистов может заниматься этим практически вечно, демонстрируя тем самым свою нужность, свою востребованность.

Так, может быть, есть ещё какие-то шансы спасти OSM от разгрома? Думаю, только один: программисты должны направить свои усилия на то, чтобы редактировать саму базу, а не всякие примочки, надёрганные из неё. Работать надо в режиме «кентавра», чтобы люди занимались своим делом, а процессоры — своим. Чтобы привести OSM к нормальному состоянию: исправить ошибки, структурировать данные, сделать их обработку удобной как для человеческих мозгов, так и для компьютерных. Как это сделать? Это уже тема другой статьи.

Или даже целого цикла статей. Впрочем, это всё равно утопия…

Спасибо всем, кто дочитал это до конца.

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (72):

  1. KongEnGe
    /#20038858 / +2

    Что-то в последние пару лет зачастили шитстормы по теме.

  2. vics001
    /#20038912

    Очевидно, что проект OpenStreetMap будет разгромлен наголову — у него просто нет ни малейших шансов! Слишком уж много денежных мешков ввязались в драку за потребителя

    Эм… Прошлый SOTM спонсировали Facebook, Microsoft, Apple, Uber и у всех них живой интерес в этой платформе. Действительно не хватает Amazon и Google, а так да слишком много денежных мешков взялись.

  3. vics001
    /#20038942 / +7

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

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

    Главный вопрос, захватят ли OSM деньги и редакторы от Mapbox, Apple, FB, Microsoft, Amazon или по-прежнему большинство будет являться casual-mappers, покажет время. Очевидно, что кроме US-maps, на worldwide-maps рынке в ближайшие 10 лет останутся только OSM и Google Maps. Выбирайте сами.

    • rybvv
      /#20039008

      О! Я целую серию заметок хочу написать про OSM — приятно встретить профессионала! Поговорим? Дело же не в редакторах — дело именно в софте, причём в софте верификации данных!

      • vics001
        /#20039112

        Я не знаю о чем говорить, надо ехать на конференцию на дня 3 и там рассуждать. Большинству людей вообще все равно на OSM, их интересуют приложения, сегодняшняя ситуация, где у Mapbox своя команда по доводке данных, у Facebook, Apple, говорит о том, что всех все устраивает.
        OpenStreetMap — это не компания в отличие от Wikipedia, им ни деньги, ни слава не нужна.

        • rybvv
          /#20039194

          О базе данных OSM, разумеется! И не на конференции, а «письменно». А приложения лично меня не интересуют, от слова «совсем».

          • vics001
            /#20039336

            Зачем вам нужна база данных?

            • rybvv
              /#20039380

              Мне?! По-моему, база данных нужна ВСЕМ! А именно эта БД выполняет прекрасную географическую привязку к местности, а потому может служить основой для многих других баз данных. Фрагмент из Вики:
              Общегеографические карты изображают рельеф, гидрографию, растительно-почвенный покров, населённые пункты, хозяйственные объекты, коммуникации, границы и т.д. Тематические карты показывают расположение, взаимосвязи и динамику природных явлений, населения, экономики, социальную сферу. Карты геологические, геофизические, карты рельефа земной поверхности и дна Мирового океана, метеорологические и климатические, океанографические, ботанические, гидрологические, почвенные, карты физико-географических ландшафтов и физико-географического районирования. Общественно-политические карты включают карты населения, экономические, политические, исторические, социально-географические. Экономические карты включают также карты промышленности, сельского хозяйства, рыбной промышленности, транспорта и связи… Хотя математика практически одинаковая — это всего лишь фильтры на слои информационного наполнения основной карты.

              Но ведь OSM — это даже не карта! Здесь сосредоточено огромное количество весьма интересной информации — именно потому, что используется «свалочная» EAV-модель, позволяющая эту информацию хотя бы сохранить. Причём о весьма значительной части этой информации наверняка не подозревают даже создатели БД. Вот её бы достать и обработать…

              • dimm_ddr
                /#20044778

                По-моему, база данных нужна ВСЕМ!
                «ВСЕМ!» база данных точно не нужна. Большинству людей нужны не данные, а их производные — нормально построенный маршрут, поисковая выдача по нужным местам рядом вроде кафешек, что-то еще. Большинству нужен именно сервис.

  4. rybvv
    /#20038994

    .

  5. snuk182
    /#20039090

    в базе OSM обнаружено аж 17 Южных полюсов

    На данный момент известно о четырнадцати фактах обнаружения «подлинных» голов Иоанна Крестителя, хотя научно подтверждены из них только пять (с)

    Интересно, как подобного можно избежать, модерация?

    • rybvv
      /#20039268

      Уже не 17, уже 50. Или… нет, только что качнул — 50 полюсов как она копеечка! :)

      • CryptoPirate
        /#20041436

        Есть несколько Южных полюсов, не 50 конечно. Есть Южный полюс (обычный), церимониальный Южный полюс, магнитный, есть вроде ещё другие. Возможно не все 50 являются дублями и ошибками.

        • rybvv
          /#20041546

          Невозможно. На координаты посмотрите — я привёл все 50.

  6. shurshur
    /#20039426 / +4

    Куча эмоций, и что?

    Любой коллективный проект такой, всё в нём постоянно ломается, путается, несогласованно итд итп. То же самое касается всяких Википедий. Чтобы починить всё, нужно в первую очередь полностью закрыть доступ на создание новых объектов. Но тогда мы потеряем актуальную базу.

    Любой инструмент нужно уметь использовать. Если хочется взять границы из OSM, то просто думать, что они там всегда точны и нигде не порушены нельзя. Надо быть готовым обрабатывать их поломанность, либо вручную чинить, если они не проходят валидацию, но критично необходимы. Не нравится? Есть коммерческие поставщики данных, которые сделают всё за нормальные деньги с гарантией и отставанием в месяцы и годы.

    Точки в lat=-90 возникают по той же причине, по которой они возникают в lat=lon=0: просто глюки софта. База в этом не виновата.

    • rybvv
      /#20039466 / -4

      Да нет там никаких «эмоций». :)

      С КАКОЙ РАДОСТИ, простите, «чтобы починить всё, нужно в первую очередь полностью закрыть доступ на создание новых объектов»? Редактировать ведь можно (и нужно!) в фоновом режиме, прозрачно для пользователей.

      Совершенно верно: «Надо быть готовым обрабатывать их поломанность, либо вручную чинить, если они не проходят валидацию, но критично необходимы». НО В САМОЙ БАЗЕ, а не в выборке! И какая разница, глюки ли это софта или нет? Вот именно, что «база в этом не виновата»! А потому данные должны быть исправлены! АДНАЗНАЧНА!

      • shurshur
        /#20039480 / +1

        > Да нет там никаких «эмоций». :)

        Некрасиво обманывать окружающих. Пост состоит из эмоций ничуть не менее, чем наполовину.

        > НО В САМОЙ БАЗЕ, а не в выборке!

        Для этого потребуется премодерация и армия людей на зарплате. Разумеется, данные после этого бесплатными не будут.

        • rybvv
          /#20039510

          Я же не вру ваще никада!" :) А насчёт эмоций я уже цитировал описание своего «идеального стиля общения». Или не в этой ветке? Ладно, повторим:
          Я заранее предполагаю, что оппонент адекватен, что он меня уважает, что он предполагает, что и я его уважаю, что все тезисы (мои или его) есть соответствующее IMHO, что это не нужно проговаривать на каждый чих. У меня нет ни времени, ни желания долго «обнюхиваться» при знакомстве, делать реверансы и т.п. И собеседнику моему, я полагаю, тоже время дорого. Так зачем же нам фигнёй заниматься, приплясывать друг перед другом — в тыщу раз эффективнее сразу поверить, что перед тобой нормальный, хороший человек, что с ним можно обмениваться эмоциональными, то бишь максимально информативными сообщениями. Господа, ну ведь это же так просто!

          Эмоции — это ИНСТРУМЕНТ в разговоре. Удобный, понятный, информативный. Но не более того.

          Господи, да не нужна никакая премодерация или армия. Всё проще гораздо… :)

          • shurshur
            /#20039564 / +1

            > Эмоции — это ИНСТРУМЕНТ в разговоре

            Эмоции — это эмоции. Они никакой информации не сообщают и никаких проблем не решают.

            > да не нужна никакая премодерация или армия. Всё проще гораздо… :)

            Ну навесим мы на базу constraint, запрещающий создавать там точки, и что? Это настолько мизерная и никчёмная проблема, что решать её всё равно что асфальтировать тротуары в деревне Кукуево, до которой 30 км бездорожья. Настоящую проблему в OSM представляют мультиполигоны и границы, которые ломают намного чаще, чем создают новые полюса. И если полюса интересуют редких экстремалов (они вообще в EPSG:3857 недоступны), то границы напрочь ломают геокодеры.

            Чтобы в базе ничего никогда не было сломано, нужно, чтобы перед любым коммитом в ней всё было исправлено. Это можно сделать только премодерацией.

            • rybvv
              /#20039586 / -1

              У меня — сообщают! И проблемы решают. Много лет пользуюсь — прекрасный инструмент! :)

              Зачем «запрещать создавать точки»?! Полная прозрачность! И никакой премодерации — это гарантированная смерть проекту! И мультиполигоны с границами никаких особых проблем не представляют. Даже если делать не карту, а связный комплект карт разных масштабов. И что значит «никогда не было сломано»? Всё ломается в этом мире! Другое дело, что ошибки должны выявляться и исправляться, а не торчать в базе до самой смерти вселенной.

              • shurshur
                /#20039666 / +1

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

                • rybvv
                  /#20039746

                  Какие именно «ошибки исправляют»? По моим оценкам, их там десятки миллионов. Может быть, сотни. И лежат они там годами! А я бы исправил, в первую очередь, ошибки в структуре данных. Точнее, даже не ошибки, а саму структуру.

                  • shurshur
                    /#20039756

                    Какие такие «миллионы ошибок»? Как это посчитано?

                    Вот, например, сломанные границы стран и областей обычно чинят довольно быстро, как только в валидаторах wowik и fserges вываливается простыня ошибок.

                    • rybvv
                      /#20039794

                      А что значит «сломанные»? Только те, которые влияют на работоспособность софта. Мне попалась когда-то траектория одного полигона, которую как будто ребёнок обвёл несколько раз, причём не по тем же точкам, а с какими-то люфтами. Не думаю, что её кто-то исправил…

                      А насчёт ошибок — сейчас попробую найти… ну вот, например:
                      Как ни странно, при переводе траекторий типа way в новый формат данных не было обнаружено ни одной бракованной! Это означает высочайшее качество данных, которое, конечно, обеспечивается программным обеспечением OSM — люди настолько безошибочно работать не могут! А вот с другими данными дела обстоят заметно хуже. В частности, обнаружено 312057 траекторий типа way, которые не только не имеют описаний, но на них никто и не ссылается. Что с ними делать? Выбросить? Или пометить как бракованные и натравить на них волонтёров? На карте ведь всё равно какие-то линии ими могут быть прорисованы. Ладно, пока оставим. Узлы-пустышки выбросим, а траектории-пустышки оставим. Но вообще, объект без описания — это ненормально, это ошибка. И таких объектов в базе не так уж и мало — тех же way-траекторий без описаний более 12 миллионов!

                      • shurshur
                        /#20039818

                        > А что значит «сломанные»?

                        Незамкнутые, самопересекающиеся…

                        > при переводе траекторий типа way в новый формат данных не было обнаружено ни одной бракованной

                        Какой ещё «новый формат данных»? Текущая структура базы OSM не менялась с момента ввода API 0.6, а это случилось в 2009 году.

                        > обнаружено 312057 траекторий типа way, которые не только не имеют описаний, но на них никто и не ссылается

                        Вот только не надо бездумно ломать то, в чём не разобрался. Эти линии легко могут быть частью мультиполигонов. Линия в OSM вообще не обязана иметь тэгов! Я уж не говорю о том, что это может быть часть сломанного объекта, требующего починки. Перед выпиливанием надо внимательно посмотреть, что это такое. В каждом случае. Вручную. А то потом после таких умников приходится мучительно чинить всё.

                        • rybvv
                          /#20039832

                          Незамкнутых выше крыши, и это вовсе не обязательно сломанные. И самопересекающихся немало.

                          Я же русским языком сказал: на них НИКТО НЕ ССЫЛАЕТСЯ! В том числе, из мультиполигонов. А формат данных нужен НОРМАЛЬНЫЙ, а не то, что там есть — пусть даже он не менялся от Рождества Христова.

                          • kiselev_dv
                            /#20039966

                            Ну пилите свой формат, кто же вам мешает. Только чур чтобы сохранялась возможность версионировать данные и относительно легко обнаруживать конфликты. И сохранялась возможность указывать топологические взаимосвязи между объектами. (Общие точки дорог для перекрестков, вот это все). А ну и модель данных свободная которую каждый дополняет без единого authority.

                            • rybvv
                              /#20041260

                              Да формат-то давно «напилен» и протестирован. Будет время — напишу вторую заметку, как раз про формат. Ну и про верификацию тоже. И про модель данных попробую.

                        • sshikov
                          /#20040196

                          Ну, на самом деле линия, которая не имеет тэгов сама, и не входит ни в какие отношения — это что-то странное, и скорее всего реально требует починки.

                          • rybvv
                            /#20041264

                            Именно!" А даже если и входит — тоже не мешало бы описание иметь.

                      • kiselev_dv
                        /#20039928

                        Что значит без описаний? Без тэгов совсем, или без name?

                        • rybvv
                          /#20041270

                          Без тегов. Name — это один из тегов и есть. Подавляющая часть данных типа node так и устроена.

                          • kiselev_dv
                            /#20042970

                            Дак вы 10 миллионов осеротевших точек нашли, или 10 миллионов осеротевших веев? Если точек, то это более ли менее понятно (их например бот менявший лицензию любил оставлять) и это запросто могло остаться в каком-нибудь Гондурасе где в начале был импорт, и местных кто хотел бы исправлять данные не нарисовалась, а потом прошёлся бот. 10м веев, как то подозрительно много. Обычно они есть но так, пара десятков на штат/область. Вроде keepright умел их находить. Вы можете этих сирот выгрузить с координатами чтобы посмотреть где они в основном?

                            • rybvv
                              /#20043644

                              Веев, веев. :) И не «осиротевших» (их около 300К), а без описаний. Точки я вообще намерен вышвырнуть из базы к чертям собачьим! :)

                              • kiselev_dv
                                /#20043724

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

            • kiselev_dv
              /#20039906

              Привет, старожилы. Сломанные мультики, для геокодера, в общем то решаемая проблема, да и не так уж и остро она стоит.


              Мне кажется главная проблема осм — психологическое выгорание.

              • rybvv
                /#20041272

                Психологическое выгорание лечится нормальным софтом. :)

      • freeExec
        /#20039528 / +2

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

        • rybvv
          /#20039548 / -2

          Представил. И что? Во-первых, это не обязательно процессор, а, скажем, модератор. Во-вторых, почему «не говорит»? Пусть говорит, на здоровье!

  7. sshikov
    /#20039588 / +1

    >И даже те, кто работает с ней, как с базой, рассматривают её лишь как хранилище данных, как источник для своей выборки, который read only

    Ну это, скажем прямо, преувеличение. Я именно из этих, которые работает с OSM как с базой. И я вам так скажу — при текущей архитектуре значительно проще возвращать свои наработки в общую базу, чем при обновлении в ней сливать изменения со своими. Потому что чужие изменения всегда были и будут интересны. Не сильно выгодно скрывать свои данные от сообщества, чтобы торговать ими, чисто технически.

    • rybvv
      /#20039636 / -1

      Серьёзно? Ваши исправления проходят именно В БАЗУ? В базу OSM или в какую-то Вашу базу?

      • sshikov
        /#20040184

        Тут видимо какое-то недопонимание. Попробую другими словами — мне от OSM нужна именно база. Я беру ее в виде архива, обычно Европы. Мне не нужны тайлы и сервисы, я работаю с данными именно как с базой. И при этом мне интересно, чтобы мои дополнения тоже в общую базу попадали (и я бы их в следующем архиве получал обратно). Как они туда попадают — это отдельная история, но для меня OSM не read only, это совершенно точно.

        • rybvv
          /#20041274

          Вот меня именно «отдельная история» как раз интересует. :)

  8. shasoft
    /#20039648

    исправить ошибки, структурировать данные, сделать их обработку удобной как для человеческих мозгов, так и для компьютерных.
    Тут нужно понимание
    1. Как это сделать
    2. Что именно делать

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

    • rybvv
      /#20039766

      Вот для этого я и хотел бы обсудить целый набор тезисов в цикле заметок. Не знаю, как получится (я сейчас плотно в гостях и даже не знаю, когда дома появлюсь), но следующая моя публикация будет называться что-то вроде «Земля — плоская»! :)

      • kiselev_dv
        /#20039972

        Ждём, возможно вы придумаете api 0.7 или тип полигон. Хотя, разговоры ведутся от рождества СтивКоста, но это видимо не мешает особо жить, и тем кто мапит и тем кто контрибьютит, и даже тем кто занимается валидацией — как минимум не досуг.

        • rybvv
          /#20041280

          При чём тут api? Редактировать нужно саму БД! А тип полигон имеется в достаточно большом количестве — старика Оккама на него не хватает! :)

          • kiselev_dv
            /#20043008

            Дак api 0.6 это как раз про модель данных, это появление отношений. Старик Оккам говорил не плодить сущностей сверх необходимого, ну как бы полигоны геософту и геопространственной бд нужны.

            • rybvv
              /#20043662

              Вот именно! А потому тип node надо вообще убрать, а из relation сделать голый контейнер. Ну и в way заменить адресуемые дочерние элементы на литеральные. Вот тогда старик Оккам будет вполне доволен! :)

  9. VJean
    /#20040132 / +1

    даже если не добавлять сюда стремительно размножающийся зоопарк «геософта»: Mapnik, Maperitive, CloudMade, JOSM, Cartagen, Potlatch, Merkaartor, Vespucc, Go Map!!, OsmAnd, Navit, и прочие GNOME Maps.
    Смешались в кучу кони, люди,
    И залпы тысячи орудий
    Слились в протяжный вой…


    Впрочем, и без вандализма всякого дерьма в БД OSM предостаточно.
    Воя много, а ассенизаторов на горизонте маловато.

    • rybvv
      /#20041282

      Вот он я, «ассенизатор и водовоз»! :)

  10. we1
    /#20040942

    Про 2ГИС я совершенно точно знаю, что они воруют данные из OpenStreetMap. На примере одного дома, который был в реальности, но сначала его не было на OSM, недавно открытый в городе 2ГИС сделал карту без этого дома. Когда я добавил дом в OSM он почти мгновенно появился в 2ГИС. Причем, понятно, что дом на окраине, там где люди случайно не оказываются, и дом не видно с дороги. То есть представить такое совпадение, что сотрудник 2ГИС проехал и посмотрел тот район именно в тот момент, когда я добавил дом на карту OSM — невозможно. Тем более, что дом стоял достаточно давно, и в OSM его не было именно по причине отдаленности и «невидимости» со стороны основного проезда. И вообще 2ГИС мерзкая контора с совершенно идиотскими правилами размещения рекламы (например на последнем этапе, после десятка правок рекламного модуля выяснятся, что у них запрещено на изображениях использовать букву ё в составе любых слов).

    • tretyakovpe
      /#20041746

      Яндекс аналогично.
      Я разметил свой поселок, поскольку знаю, что скорая помощь использует OSM.
      Спустя пару недель — вуаля, Яндекс карты знает всё.
      Причём я абсолютно уверен, что никто в народной карте этого нарисовать не мог.

      • aulitin
        /#20042382

        А ссылку можно на поселок?
        попробовал сравнить случайное село под Мюнхеном OSM и Яндекс.Карты — очень не похоже, что копируют. OSM на порядок качественнее. yandex / OSM

        • tretyakovpe
          /#20045732

          Дык я уже в яндексе тоже поправил. Это пару лет назад было.
          Основной момент это адреса (номера домов).
          Так как строительство на тот момент было в разгаре, дома поднимали быстрее чем мог отреагировать яндекс.

      • MaxDamage
        /#20043274

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

    • aulitin
      /#20042302

      Не воруют, а легально используют. Внизу справа есть активная ссылка(c) OpenStreetMap contributors

    • osmanpasha
      /#20043040

      Вообще-то там раньше было чёрным по белому написано, что они используют данные osm (в тех областях, где они использовали). Не знаю, как сейчас.

      • shurshur
        /#20043050

        До сих пор есть, хотя они с недавних пор грозят отказаться от OSM полностью.

  11. Ten
    /#20041236

    Трек, который несколько лет строился правильно, взял и сломался — экспедиторам строит маршрут в объезд, раза в 3 длиннее.
    Смотрю в редакторе — неделю назад кто-то на переезде установил «Заградительные барьеры». Человек думал, что это барьеры выдвижные, которые у шлагбаумов устанавливаются. На самом деле данный элемент запрещает любое движение.
    Исправил, человеку написал, сегодня всё стало хорошо.
    Но сам факт, что любой желающий может порушить нормальный порядок вещей, раздражает.
    Поэтому не стоит часто обновлять локальную базу.

    • rybvv
      /#20041286

      Технология борьбы с разрушениями давно известна и многократно опробована — например, на Вики.

      • Ten
        /#20041402

        Да, но пока казус не возникнет — и не узнаешь.

        • rybvv
          /#20041558

          Почему «не узнаешь»? У них же полный доступ КО ВСЕЙ базе! В отличие от любой другой ГИС. Это как раз ТАМ нифига не узнаешь.

          • Ten
            /#20041916

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

            • WinPooh73
              /#20042042

              Распознавать идиотские треки — возможно, эта задача как раз подходит для машинного обучения.

            • rybvv
              /#20042556

              За этим должны бы следить не столько пользователи, сколько процессоры.

  12. Kyushu
    /#20041754 / +1

    Очень интересный материал и обсуждение. Предположу, не будучи специалистом, что необходимая фильтрация данных реализуется отдельными группами «на стороне клиента». Как только будет введена премодерация, процесс занесения данных сразу застопорится. Исходный массив играет роль «сырых необработанных первичных данных». Видимо, следующим этапом будет вариант создания обработанной базы данных (в дополнение к первичной), когда игроки захотят и смогут договориться до этого.
    Хочу также отметить образный, легко читающийся стиль изложения. Спасибо.

    • rybvv
      /#20042424

      Не «в дополнение к первичной», а ВМЕСТО первичной!

  13. Zverik
    /#20042590

    Если кому хочется почитать более предметное обсуждение «денежных мешков», машинного обучения, валидации и прочего будущего OSM, советую вот этот подкаст со state of the map.

  14. abar
    /#20042802

    . А данные наверняка ворованные: вот режь меня, жги меня — я не верю, что каждый из них (или хотя бы один из них) собрал свою собственную карту силами только своих волонтёров (кстати, присваивать их труд тоже неприлично)!

    Работал в HERE maps (который тут даже не вспоммнили), и который заточен на автомобильные карты, так вот, данные очень даже сами собирают — по дорогам машины с лидарами ездят (технологии для работы с которые тоже не забесплатно появились), машины водят вполне себе сотрудники на зарплате. Какое-то очень странное представление картины мира у автора.

    • rybvv
      /#20043676

      Автору карты до лампады — ему БАЗЫ нужны! :)

  15. Zverik
    /#20048622

    Я понимаю, что статья с точки зрения человека, которому не шашечки, а ехать, но возможно, будет интересен ответ на неё из телеграм-канала про OSM. Если в России ссылка не открывается, попробуйте эту.