Да мне линию не жалко совершенно, фиг бы с ней, - мультиполигон портится - внешняя граница оказывается незамкнута, целостность нарушается - некоторый софт (maptool/navit по крайней мере) на это обижается (устраивает наводнение).
Надо либо мультиполигон в сборе в вырезку сбрасывать - пусть озеро/граница/лес отрисовываются за нарезку (что проще), либо добавлять фиктивные линии, замыкающие мультиполигон по границе нарезки (что сложнее и менее идеологически верно).
Добрый день. Я у вас новенький. Интересует выгрузка по регионам в shp, особенно Краснодарский край. Именно с этим регионом что-то явно не то происходит. Дороги (krasnodar-roads-l) обновлялся последний раз 21.12.2010, хотя по статистике данные добавляются. С чем это связано?
Вот здесь: 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 точками).
Делить один путь на несколько, чтобы в каждом участке были только непрерывно следующие точки. При этом количество путей увеличиться за счет деления одного пути на несколько.
Ну и сам факт, что что-то пришлось корректировать. Действие, конечно, тривиальное, но для его осуществления нужно иметь доступ к исходникам и компилятору.