Вот здесь: http://gis-lab.info/projects/osm_dump/index.html
написано, что:
“На данном этапе Poly-файлы полностью идентичны предыдущему проекту”
и
“Как и в предыдущем проекте, обрезка стран и регионов осуществляется с опцией completeWays=yes”
Теперь смотрим на сами данные, а именно на то, что было скачано вчера вечером:
Очевидно, что узлы 695543-695551 отсутствуют в списке узлов, но на них есть ссылки из пути 2289606. И это случай достаточно массовый - количество ненайденных узлов идет на десятки-сотни тысяч.
C completeWays=yes осуществляется резка из local. Сам local режется из планеты без completeWay=yes - собственно так было всегда. Приведенный вей находиться в Финляндии, т.е. режется из планеты.
Именно это значит фраза: “обрезка стран и регионов осуществляется с опцией completeWays=yes”
Спасибо, конечно, за разъяснение, но я специально пивел две цитаты, в каждой из которых подчеркивается идентичность того, что было раньше и того, что сейчас.
На самом же деле это не так: в full.osm не было ссылок из WAY на несуществующие NODE.
Это понятно, у меня корректировка программы обработки этого случая заняла несколько минут. Но вопрос в том, что в новом проекте вопреки уверениям имеется некоторая разница в подходах по сравнению со старым.
Хотя “игнорировать” - не совсем подходящее слово. Алгоритм должен эту ситуацию как-то обрабатывать, т.е. “игнорировать” - это не отсутствие действий, а дополнительная ветка в коде.
Да и по поводу реализации алгоритма “игнорирования” тоже существует более одного варианта, навскидку:
Соединять между собой точки пути, лежащие по разную сторону от пропущенного участка. При этом количество путей остается неизменным (или может уменьшиться, если выбрасывать пути с 0-1 точками).
Делить один путь на несколько, чтобы в каждом участке были только непрерывно следующие точки. При этом количество путей увеличиться за счет деления одного пути на несколько.
Ну и сам факт, что что-то пришлось корректировать. Действие, конечно, тривиальное, но для его осуществления нужно иметь доступ к исходникам и компилятору.