Валидатор населённых пунктов и границ (http://atd.openstreetmap.ru)

У меня osmconvert не работает с ключами --way-comp*, а так норм и с х64.

Ну так у 32бит таких проблем с ключами нет, а если пропатчить то и файлы большего размера начинает обрабатывать без ошибки. На сейчас и патч не помогает, критический размер превышен.

gis-lab опять завалился, вчера выдал дамп очень поздно а сегодня дампа нет до сих пор … Но что-то менять мне уже наверное поздно, но это другая история.

Проверять руками было лень, поэтому написал программу для проверки целостности дампа … Ушло 2 дня (рабочих, естественно), т.е. руками ошибку нашёл бы быстрее :slight_smile:

В ГИС-Лабовском отсутствуют следующие точки, которые входят в состав границы РФ:

http://www.openstreetmap.org/node/4707310209
http://www.openstreetmap.org/node/4707309616

Соответственно дамп РФ получается битым. Что делать? Поскольку вероятность исправления дампа у ГИС-Лаба минимальна, то как обычно - пропатчу дамп у себя. Надеюсь что с завтрашнего дня граница в этом районе “починится”.

А какой файл качаете весь RU или по областям? Посмотрел, в обрезку RU и LOCAL этот участок попадает.

А вот на Чукотке ГИС-Лабовский дамп переломан гораздо сильнее. Отсутствуют такие точки:

http://www.openstreetmap.org/node/1113705061
http://www.openstreetmap.org/node/1113705446

а также многие другие …

Вот такой - http://be.gis-lab.info/data/osm_dump/dump/RU/RU-170418.osm.pbf (чтобы быть максимально точным). Скорее всего просто в их БД что-то сбилось и нужен ре-импорт.

Надо поменять точки, тогда есть шанся, что они в дифами в базу проскочат.

Боюсь что картина гораздо хуже чем я думал вначале … Похоже база ГИС-Лаба битая и продолжает разрушаться. Началось с Бурятии, потом увидел кучу пропавших точек на границе Чукотке (на разных веях) а недавно пропала точка уже в Приморском крае - http://www.openstreetmap.org/node/2152992050

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

Достаточно давно валидатор показывает, что Кировская область имеет невалидную границу … Но чинить никто не берётся.

Ошибка здесь - https://www.openstreetmap.org/way/495468422/history. Этот outer Кировской области расположен в Северо-Западном ФО, поэтому Кировская область геометрически не является полностью лежащей в Приволжском ФО.

Аналогичная краснота и на заглавной странице, и уже много недель. Инновационный центр «Сколково» в ОСМ геометрически расположен и на территории Москвы и МО. Про посёлок Центральный даже есть отдельная тема. Этот посёлок в ОСМ расположен одновременно и во Владимирской и в Нижегородской областях. Валидатор не может приписать его к какой-либо конкретной области по геометрической вложенности.

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

Про Центральный, там тоже вероятно проблема в том, что границы между регионами не согласованы, отсюда и возникают несоответствия. Если я правильно помню, то в текстовом описании границ там было сказано что граница идёт по реке и далее по границе землеотвода жд дороги, т.е. именно так как сейчас и внесено. Но мне всё-таки кажется там стоит подвинуть границу согласно генплану, дабы убрать противоречия.

Не знаю, заметил ли кто, но валидатор переживает бурные времена. Он штатно работал на моём рабочем компе в нерабочее время, так же есть полная конфигурация дома, т.е. я могу легко запустить всё дома … и ждать около 4 часов результатов работы.

Но всё хорошее когда кончается и проект на котором я работал закрылся и я стал безработным. ОК, валидатор можно гонять дома … И тут я нашёл работу :slight_smile: Это значит испытательный срок, никаких отпроситься и рискованно разворачивание не работе. ОК, погоняю дома не каждый день … Тут внезапно нужно ехать в длительную командировку … Ну и до кучи - придётся съезжать из текущей квартиры во что-то менее просторное.

Что в сухом остатке? Валидатор будет работать, но с непредсказуемой частотой обновления. Когда хоть что-то стабилизируется то отпишусь.

P.S. Я перешёл на самостоятельные вырезаемые дампы, поэтому пока есть некоторые артефакты обрезки, устаканится в ближайшее время.

Граница РФ сдвинулась на несколько километров на юг от прошлой в сторону Монголии (в горах), поэтому часть точек в Бурятии не попало в обрезку. Так что границы - вещь скользкая :slight_smile:

Сделал я собственный дамп, но Чукотка не полечилась. Теперь я уже не знаю что делать :frowning:

В моём дампе отсутствуют такие точки (все на 180):

https://www.openstreetmap.org/node/1114446765
https://www.openstreetmap.org/node/1114447179
https://www.openstreetmap.org/node/1114447389
https://www.openstreetmap.org/node/1114447713

Команда которой я вырезал Россию из планеты:

osmupd.exe -v --day --hour --keep-tempfiles -B=RUS.poly planet-latest.osm.pbf RU-latest.osm.pbf

Сам poly-файл: http://atd.osm.rambler.ru/data/RUS.poly

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

Какая-то бага конкретной версии osmupdate?

А ещё, порядка 50 сельских поселений было удалено за последние дни. Где-то (особенно в Вологодской области) показатели просели сильно.

Возможно по тому, что точки находятся ровно в 180.0, попробуй в полигоне обрезки сделать границу 180.01

А также почему-то отсутствуют линии:

http://www.openstreetmap.org/way/134546604
http://www.openstreetmap.org/way/23824393
http://www.openstreetmap.org/way/239992379

(это линии содержащие точки -180).

Всё же мне это напоминает багу в osmconvert. Почему-то в старой версии osmconvert (год или 2 назад) проблем с этим poly файлом не было, а сейчас есть. Как-то несимметрично обрабатывается antimeridian - если +180.0000 - то точки/линии попадают в обрезку, если -180.0000 то точки/линии выбрасываются. Соответственно такая фигня у меня и судя по всему на ГИС-Лабе.

Остаётся попробовать обходной путь предложенный - freeExec. Явно кривое решение, но мне нужен правильный дамп а не красивое решение … Попробую завтра. Может с этим обходным путём другие проблемы всплывут :slight_smile:

Сходу JOSM отверг такой poly-файл, сказал что точки “оказались за пределами мира” поэтому им перемещены (т.е. автоматически исправлены в 180.000000). Посмотрим что скажет osmconvert.

Собственно таким образом полученный дамп прошёл через валидатор без проблем. Точнее, +180.00000 обрабатывается osmconvert нормально, т.е. все линии и точки попадают в обрезку, но -180.00000 не отрабатывает, т.е. нужно ставить -180.00100

Предложения.

  1. Предлагаю доопределить первый уровень деления Федеральных городов (Москва, СПБ, Севастополь) кодами из ОКАТО, также как это сделано в ТЕРСОН-МО (коды ТЕРСОН приведены в справочнике по численности населения).
  2. Также не попали в административное деление управленческие округа Свердловской области и Бежтецкий участок, хотя им соответствуют объекты OSM, можно сгруппировать хотя бы по ним адм. единицы следующего уровня.

Вопросы.
Что можно предпринять, чтобы раз и навсегда устранить нелепые ошибки в делении. Начнем с того, что видно сразу.
а) Например, внутри города Балашиха почему то есть еще один город и сельские населенные пункты, продублированные в правильном месте.
б) Муниципальный округ Кунцево в Москве отсутствует в Западном административном округе, и висит выше уровнем под именем района Кунцево.
в) Амурская область. OSM объект ЗАТО Углегорск не ассоциируется с ОКТМО ЗАТО Циолковский.
г) Циолковский назван населенным пунктом, хотя у него есть код ОКТМО (почему-то здесь не указан), из которого однозначно следует, что он город (номера населенных пунктов 001-049 города, 051-099 пгт, 101 и далее сельские НП - это бы неплохо автоматизировать). Ранее он был Углегорском и впридачу поселком, как бы это указать?
P/s/ Я понимаю, что организационно эти вещи исправляются в josm довольно просто. Но то, что они существуют уже давно - это бага или фича? Какие именно исправления этих и им подобных ошибок не будут запилены под корень?