Вчера снова скачок был:
Нашел косяк.
Портятся мультиполигоны, приходящиеся на границу области выгрузки.
Конкретно: файл http://gis-lab.info/projects/osm_dump/dump/latest/RU-KR.osm.bz2
Мультиполигон Онежского озера, relation id=“1308279”.
В списке членов, в частности,
В самом файле путь 116334246 отсуствует.
В результате внешняя граница мультиполигона рваная.
Хм. А почему вы решили, что эта линия вообще должна быть в файле с Карелией? Там уже Вологодская губерния.
Да мне линию не жалко совершенно, фиг бы с ней, - мультиполигон портится - внешняя граница оказывается незамкнута, целостность нарушается - некоторый софт (maptool/navit по крайней мере) на это обижается (устраивает наводнение).
Надо либо мультиполигон в сборе в вырезку сбрасывать - пусть озеро/граница/лес отрисовываются за нарезку (что проще), либо добавлять фиктивные линии, замыкающие мультиполигон по границе нарезки (что сложнее и менее идеологически верно).
Добрый день. Я у вас новенький. Интересует выгрузка по регионам в shp, особенно Краснодарский край. Именно с этим регионом что-то явно не то происходит. Дороги (krasnodar-roads-l) обновлялся последний раз 21.12.2010, хотя по статистике данные добавляются. С чем это связано?
Возможно кому-то пригодиться соответствие старых названий новым:
adygeya RU-AD
altay RU-AL
altayskiy RU-ALT
amur RU-AMU
arkhan RU-ARK
armenia AM
astrakhan RU-AST
azerbaijan AZ
bashkir RU-BA
belarus BY
belgorod RU-BEL
bryansk RU-BRY
buryat RU-BU
chechen RU-CE
chel RU-CHE
chukot RU-CHU
chuvash RU-CU
dagestan RU-DA
evrey RU-YEV
georgia GE
ingush RU-IN
irkutsk RU-IRK
ivanov RU-IVA
kabardin RU-KB
kalinin RU-KGD
kalmyk RU-KL
kaluzh RU-KLU
kamch RU-KAM
karach RU-KC
karel RU-KR
kazakhstan KZ
kemerovo RU-KEM
khabar RU-KHA
khakas RU-KK
khanty RU-KHM
kirov RU-KIR
komi RU-KO
kostrom RU-KOS
krasnodar RU-KDA
krasnoyarsk RU-KYA
kurgan RU-KGN
kursk RU-KRS
kyrgyzstan KG
leningrad RU-LEN
lipetsk RU-LIP
magadan RU-MAG
mariyel RU-ME
mordov RU-MO
moscow RU-MOW
mosobl RU-MOS
murmansk RU-MUR
nenec RU-NEN
nizhegorod RU-NIZ
novgorod RU-NGR
novosib RU-NSK
omsk RU-OMS
orenburg RU-ORE
orlovsk RU-ORL
osetiya RU-SE
penz RU-PNZ
perm RU-PER
prim RU-PRI
pskov RU-PSK
rostov RU-RIS
russia RU
ryazan RU-RYA
sakhalin RU-SAK
samar RU-SAM
saratov RU-SAR
smol RU-SMO
stavrop RU-STA
stpeter RU-SPE
sverdl RU-SVE
tajikistan TJ
tambov RU-TAM
tatar RU-TA
tomsk RU-TOM
tul RU-TUL
tumen RU-TYU
turkmenistan TM
tver RU-TVE
tyva RU-TY
udmurt RU-UD
ukraine UA
ulyan RU-ULY
uzbekistan UZ
vladimir RU-VLA
volgograd RU-VGG
vologda RU-VLG
voronezh RU-VOR
yakut RU-SA
yamal RU-YAN
yarosl RU-YAR
zabaikal RU-ZAB
Ни у кого нет проблем с нарезкой регионов? В Новосибирскую область стали попадать какие-то объекты из Кемеровской области
http://osm.sbin.ru/stat/ru/novosib/latest/density.png
С сегодняшнего дня при загрузке данных в формате osm.xml из старого источника (http://gis-lab.info/projects/osm-export.html) сервер отвечает редиректом на соответствующие данные в новом источнике (http://gis-lab.info/projects/osm_dump/).
Неправильный алиас для Ростовской области:
--2011-09-16 16:00:34-- http://data.gis-lab.ru/osm/rostov/rostov.osm.bz2
Resolving data.gis-lab.ru... 89.111.189.176
Connecting to data.gis-lab.ru|89.111.189.176|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://data.gis-lab.info/osm_dump/dump/latest/RU-RIS.osm.bz2 [following]
--2011-09-16 16:00:34-- http://data.gis-lab.info/osm_dump/dump/latest/RU-RIS.osm.bz2
Resolving data.gis-lab.info... 89.111.189.176
Reusing existing connection to data.gis-lab.ru:80.
HTTP request sent, awaiting response... 404 Not Found
Поправил.
Вот здесь:
http://gis-lab.info/projects/osm_dump/index.html
написано, что:
“На данном этапе Poly-файлы полностью идентичны предыдущему проекту”
и
“Как и в предыдущем проекте, обрезка стран и регионов осуществляется с опцией completeWays=yes”
Теперь смотрим на сами данные, а именно на то, что было скачано вчера вечером:
...
<node id="695234" version="5" timestamp="2011-07-31T12:05:29Z" uid="187138" user="AB-" changeset="8880260" lat="60.9356343" lon="27.6712073"/>
<node id="695235" version="4" timestamp="2009-03-21T23:34:20Z" uid="34428" user="usm78-gis" changeset="844942" lat="60.9365679" lon="27.6777261"/>
<node id="695552" version="1" timestamp="2006-04-13T23:40:09Z" uid="1298" user="?12" changeset="3704" lat="60.7615007" lon="27.3493643"/>
<node id="695553" version="1" timestamp="2006-04-13T23:41:02Z" uid="1298" user="?12" changeset="3704" lat="60.7518568" lon="27.3387213"/>
...
<way id="2289606" version="17" timestamp="2011-10-13T04:09:21Z" uid="70359" user="JRA2" changeset="9544086">
<nd ref="695560"/>
<nd ref="695559"/>
<nd ref="986275361"/>
<nd ref="695553"/>
<nd ref="695554"/>
<nd ref="695555"/>
<nd ref="1460662356"/>
<nd ref="695556"/>
<nd ref="695557"/>
<nd ref="695558"/>
<nd ref="1460662368"/>
<nd ref="695552"/>
<nd ref="695551"/> <=====
<nd ref="695550"/> <=====
<nd ref="695549"/> <=====
<nd ref="695543"/> ...
<nd ref="695544"/>
<nd ref="695545"/>
...
Очевидно, что узлы 695543-695551 отсутствуют в списке узлов, но на них есть ссылки из пути 2289606. И это случай достаточно массовый - количество ненайденных узлов идет на десятки-сотни тысяч.
Кто-нибудь может это прокомментировать?
C completeWays=yes осуществляется резка из local. Сам local режется из планеты без completeWay=yes - собственно так было всегда. Приведенный вей находиться в Финляндии, т.е. режется из планеты.
Именно это значит фраза: “обрезка стран и регионов осуществляется с опцией completeWays=yes”
Петербург “из старого источника” был со всеми точками в линиях (можно было, например, glosmом сразу смотреть), “в новом источнике” стал не со всеми.
Спасибо, конечно, за разъяснение, но я специально пивел две цитаты, в каждой из которых подчеркивается идентичность того, что было раньше и того, что сейчас.
На самом же деле это не так: в full.osm не было ссылок из WAY на несуществующие NODE.
andriano, ссылки на неупомянутые ноды в дампе - нормально, для повседневных нужд их можно просто игнорировать.
Это понятно, у меня корректировка программы обработки этого случая заняла несколько минут. Но вопрос в том, что в новом проекте вопреки уверениям имеется некоторая разница в подходах по сравнению со старым.
Хотя “игнорировать” - не совсем подходящее слово. Алгоритм должен эту ситуацию как-то обрабатывать, т.е. “игнорировать” - это не отсутствие действий, а дополнительная ветка в коде.
Да и по поводу реализации алгоритма “игнорирования” тоже существует более одного варианта, навскидку:
- Соединять между собой точки пути, лежащие по разную сторону от пропущенного участка. При этом количество путей остается неизменным (или может уменьшиться, если выбрасывать пути с 0-1 точками).
- Делить один путь на несколько, чтобы в каждом участке были только непрерывно следующие точки. При этом количество путей увеличиться за счет деления одного пути на несколько.
Ну и сам факт, что что-то пришлось корректировать. Действие, конечно, тривиальное, но для его осуществления нужно иметь доступ к исходникам и компилятору.
Отчего не считается Новосибирская область? Граница сломана?
Где не считается?