Теги: стандартизация и исправление ошибок.

Иногда это такое получается, когда рисуешь много объектов, а потом теги навешиваешь скопом и какой-то из них забываешь выделить. Или я вот когда катаюсь в osm2go рисую абы как, иногда не вешаю теги, если и так понятно, что там, почти никогда не стыкую линии. Ну неудобно это стилом вырисовывать. А потом правлю в JOSM, тоже иногда не все замечаю.

Увы, при сегодняшней структуре OSM трудно понять, правильно это или неправильно. Например, можно нарисовать кучку безымянных веев, после чего объединить их в релейшн со всеми необходимыми тегами.

линия без тэгов и не в релейшене это ошибка.
А объединять в релейшен лучше не потом а в одном changeset с созданием линии.

Да, вопрос в другом: по самой линии нельзя сказать, входит она в релейшн или нет. Соответственно, невозможно и провести “локальное” детектирование ошибок.

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

Вообще то и josm и браузер показывают релейшены, в которые входит данный объект.
Вот пример линии с релейшенами: http://www.openstreetmap.org/browse/way/48857546
Там внизу под списком нодов:

Участвует в:
Отношение Хабаровский край (151223)
Отношение Российская Федерация (60189)

Причем здесь josm и браузер? (на самом деле даже не браузер, а http-сервер)
И там и там результат ОБРАБОТКИ ВСЕГО файла.
Есть XML файл установленного формата (называется *.OSM). Локально же по фрагменту файла, описывающему путь, выяснить, входит ли он в какие-либо отношения, невозможно. Для этого нужно обрабатывать ВЕСЬ файл.

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

А зачем работать с фрагментом файла?

Причин - масса.
Хотя бы потому, что файл целиком не лезет в память.
Опять же, просмотр ВСЕГО файла - достаточно длительная операция.

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

исходить нужно из задачи, а не из того, что у нас есть фрагмент файла.
Для выделения линий без тэгов, которые не входят в relation не обязательно весь osm-файл грузить в память. Хотя если работать не с planet osm, а с нарезкой по регионом проще наверно грузить osm-файл в postgreesql и делать разные запросы к базе.
К тому же просто использовать http://tools.geofabrik.de/osmi/ польза тоже будет.

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

Еще есть предложение выделить обсуждение зимников в отдельную тему.

Забавно, но половину исправили а половину - нет :slight_smile:

Выскажу своё мнение по поводу неизвестных и “не стандартизированных” тегов. Итак, сама структура OSM очень удобна для хранения фактически любой информации об объекте на карте. То-есть изначально любую сущность имеющую гео координаты мы можем описать сколь угодно разнообразными тегами. Такой вид хранения информации хорошо подходит для открытых, свободных и главное развивающихся проектов, чем и является OSM. Более того, жесткая стандартизация тегов административными методами не только противоречила-бы духу проекта, но и создавала-бы дополнительные трудности на пути развития опентритмапа.

Далее на основании объектов и тегов к ним, мы пытаемся создать карту (а то и множество других полезных сервисов). И тут уже сообщество начинает договариваться между собой какие теги где использовать. Для этого организуются обсуждения на форуме, создаются голосовалки, пишутся статьи в вики и т.д. В общем идёт работа, мапперы рисуют, база потихонечку наполняется. Что мы имеем в итоге в базе: 1) объекты на карте обозначенные корректными согласованными тегами. 2) Объекты отмеченные тегами с ошибками (опечатками) либо не совместимыми между собой тегами (будь-то дорога-река ручей-линия электропередач и т.д.) 3) объекты с “неизвестными” и новыми тегами.

А дальше думаем что с этим добром делать:
1 - это наше достояние, та самая ценность ОСМ. Бережно храним, поддерживаем актуальность и т.д.
2 - это работа для ботов (исправление опечаток) и людей (уточнение на местности что это всё-же такое).
3 - потенциально полезные данные. Рассылка роботами информационных писем авторам с просьбой уточнить что это за объекты и зачем нужен тот или иной тег. А дальше уже согласовывать, обсуждать писать статьи на вики и т.д., конечно если целесообразно.

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

Резюмируя: явные ошибки исправлять можно и нужно, любыми методами. Грамотная автоматизация, здесь хорошее подспорье. Неизвестные теги - уточнять у авторов, выносить на голосование, обсуждать, и т.д., но ни в коем случае не удалять, места они занимают не много, да и в самой базе данных даже после удаления они останутся, ибо история правок. Чем больше мапперов, тем выше точность и корректность данных, несмотря ни на что. Ну и конечно-же помогать новичкам, писать грамотные статьи, хаутушки, создавать видеоуроки и т.д., что-бы изначально уменьшить количество ошибок, а не исправлять их потом.

Спам технологии на службу миру!

А можно лично Вам делегировать эти функции что бы не было проблем со спамом.
Или спам это все же массовая рассылка информации, несущей рекламный характер?
Тогда это автоматизация. Мне вот от гугл приходят служебные письма от роботов, не уверен что все, кроме меня, метят их как спам

Где вы здесь узрели спам? Это, как я понимаю, робот, сообщающих пользователю о ЕГО ОШИБКАХ. У нас на работе такая система используется годами и действует так:

  1. Если то что должно быть сделано пользователем не делается в течение недели, то приходит ему письмо
  2. Если то что должно быть сделано пользователем не делается в течение нескольких недель, то приходит ему письмо раз в неделю ему и его супервайзеру с напоминанием
  3. Если то что должно быть сделано пользователем не делается в течение месяца, то приходит письмо ему, супервайзеру и его начальнику

Никакого спама, зато порядок на работе :slight_smile: Понятно что эта система разработана в коммерческой фирме и не может быть перенесена жёстко на развлекательный проект, но тем не менее …

Если хотите то это можно рассматривать как часть антивандального бота.

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

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

Неправда. “Отбор по критерию” практикует много спамеров.

а было интересно бы создать на просторах осм не существующий город-учебник. С примерами.
А наши потомки по этой схеме город построят 8)