Не знаю я теоретик секса.
В руссе маршрутизация в атласах не работает в принципе, только в отдельных картах.
заманчиво, но в общем случае похоже это всё ручная работа.
Согласен, немножко искусственного интеллекта для этой задачи необходимо. Но для формирования правильной обзорной карты это необходимо. В крайнем случае можно пройти в ОСМе по дорогам и проверить что части двойных имеют одинаковые теги name/ref
…
Т.е. делать атлас для Гисруссы где вся РФ смысла нет?
Меня в соседней теме попросили конвертнуть всю РФ в .rus - всё срослось, вся РФ в атласе видна, только маршрутизации действительно нет - только если выбирать отдельные карты из этого набора.
Ну это смотря какой смысл вкладывать в атлас.
Начет упрощения моторвеев - можно попробовать округлять координаты узлов в исходном файле до точности координат обзорки.
Затем оставлять из всех веев, соединяющих два узла с совпадающими округленными координатами, один.
Кстати, при округлении метров до двухсот должны убраться и развязки.
Более интеллектуальный метод - собирать группы близкорасположенных узлов в кластеры и ставить один узел в центре тяжести. Но с кластерами я тоже только теоретик
А вообще методы генерализации параллельных линий, наверное, уже давно придуманы?
Я бы попробовал построить алгоритм следующим образом:
- искать и объединять близко расположенные параллельные (и направленные противоположно) отрезки веев, имеющих одинаковое значение тегов name (либо ref). Проблема же очевидно в том что узлы на противоположных полосах могут быть не парные. Например в одну сторону 1 сегмент, а в обратную - 2.
И эти два сегмента могут быть даже не одним веем, а порватые на 2 части – например для объединения в отношения запретов поворотов или остановок. В общем случае, если взять отношение к примеру dual_carriageway, то в нём понапихано кусков, из коих часть параллельна, часть просто составляющие одной дороги. Что говорить про просто дорогу с “одинаковым именем/рефом”. Наверно нужен полуавтоматических механизм (если это всё таки затеется – поиск двойных дорог) и предоставление программой таких условно-найденных частей на суд человеку. Плагином josm’у или еще как… или ссылками, генерируемыми скриптом для плагина remote (с последующим открытием и подтверждением).
Можно еще пытаться искать визуально сливающиеся линии.
Т.е. каждый вей за один проход “рендерим” в набор точек на сетке, соответствующий масштабу (в эдакий набор “пикселов”).
Если точки разных веев совпадают (или находятся в соседнем пикселе) - объединяем оба вея.
Безроутинговый вариант дорог уминается в 16М даже с деревнями.
Выкладываю test9, он же Release Candidat #2.
.rus: http://www.datafilehost.com/download-d7a276ff.html
.mp: http://www.datafilehost.com/download-2672fd6c.html (открывается в мапэдит очень долго, и я забыл сделать с ним Remove object duplicates)
Список объектов тут:
https://spreadsheets.google.com/ccc?key=0Ao3SN5YMf0PmdEJrZTl6M09LSzkxUXdFU1VsTzFLUEE&hl=en (колонка test9)
Вкратце:
По сравнению с test6 - добавлены дороги, оптимизированные без сохранения роутинга с эпсилон = 0.03 градуса.
МКАД полностью исчез.
P.S. расстояние “по поверхности сферы” пока не делал.
Сделал Release 1
Подробный отчёт: http://overquantum.livejournal.com/2149.html
Результаты там по ссылкам
Прошло почти 4 года.
Не появилось ли где более свежей векторной выгрузки всего мира?
Есть ли способ выкачать relation по id со всеми входящими в него ways и (в них) nodes кроме как запросом к основному API с /full?
Ни Overpass ни XAPI не дают вытащить relation по id, насколько я вижу. Вложенные relation - разворачивать не требуется.
P.S. Решаю задачу выкачать все place=city. Nodes и ways сделал через Overpass API (секторами 5х5 градусов и 1х1 в Германии), а relations - пришли без входящих в них объектов. Либо дёргать 56k ways либо 8k relations, но всё равно это нагрузка на API. Потом ещё place=town хочу, их чуть меньше в relations.
В общем, делаю новую обзорную карту мира.
Водные массивы и берега возьму из Natural Earth скорее всего (и ещё немного вкусностей).
Может быть получится генерализатор приспособить для слияния мелконарубленных дорог и прочего.
Пардон,но это не так, вот пример: https://code.google.com/p/osm-getbound/
что-то вроде этого
http://overpass.osm.rambler.ru/cgi/interpreter?data=relation(155262);(._;>);out meta;
osmfilter planet.o5m --keep= --keep-nodes=“place=city” --keep-ways=“place=city” --keep-relations=“place=city” >place_city.osm
Спасибо, работает (сделал через rel).
Где-то можно скачать готовый?
Сколько примерно надо оперативки в пике для такого экспорта? 2 ГБ хватит?
надо самому сделать из planet.pbf
pbf в o5m очень шустро конвертиться дяже для всей планеты.
Итак, Planet Overview, Release 2
Файлы тут: http://ge.tt/8AM9Dtt?c
- PlanetOverview_201310.rar - полный .mp файл (360М)
- PlanetOverview_201310_toplevels.rar - только верхние 3 уровня (3-5 исходного), .mp и .rus
- PlanetOverview_201310_split16.rar - разрезка на 16 .mp по 45х90 градусов
- PlanetOverview_201310_RussaAtlas.zip - атлас для Russa из 16 файлов
Отчёт о создании в блоге
В двух словах:
Из OSM: границы стран и областей, нас. пункты до деревень, аэропорты, дороги (motorway и trunk), ж/д, горы, вулканы и хребты, водопады, мелкие болота и озёра (node), моря и континеты (названия)
Из NaturalEarth: береговая линия, реки, крупные озёра, ледники, рифы, изобаты глубин, геоточки (мысы и т.п.), геолинии (дата, экватор, тропики)
Перезалил обновлённые файлы, выложил отчёт в блог.
mp_extsimp залью чуть позже.