Перепробовал все версии осмосиса толку нет.
Но есть общее (SEVERE: Execution aborted.):
Похоже чего то нет, или неправильно расположены файлы. Тем более непонятно почему не работает старый скрипт.
Перепробовал все версии осмосиса толку нет.
Но есть общее (SEVERE: Execution aborted.):
Похоже чего то нет, или неправильно расположены файлы. Тем более непонятно почему не работает старый скрипт.
Из описания плагина mapsforge:
Под версией 0.35 он работать и не должен.
В версии 0.41 менялся интерфейс плагинов osmosis, изменения в коде плагина сделали, но новую сборку не выкладывали.
Под версиями 0.43.1 и выше он сходу не заработает ещё и потому что там поломали механизм проверки версий: https://trac.openstreetmap.org/ticket/5013
Итого:
Можно поставить новую версию osmosis (0.42), но под неё нужно будет самостоятельно собрать плагин mapsforge из исходников. Для 0.43.1 и выше придётся ещё дополнительно подправить файл описания плагина.
Можно использовать старую версию (0.36-0.40), но для них нужно добавить плагин tagtransform. Для этого можно вот этот файл положить в подкаталог lib/default в osmosis
Можно поставить два экземпляра osmisis-а, один старый, для mapsforge, другой новый, со встроенным tagtransform. Ну и делать конвертацию в два этапа, с промежуточной записью результата в файл.
Выбирайте.
может. запросто.
последнее время всё чаще замечаю, что османд как-то неэфективно показывает названия. любые. их слишком мало на единицу площади.
Ни в одной не работает, я их все перепробовал, и файл лежит + скачал его файлы которые он закачивает, он только сказал что файл уже существует и опять “SEVERE: Execution aborted”.
Ну вы или сами разбирайтесь или давайте больше информации. Надоело клещами вытягивать, чесслово.
Кстати, если вы не знали - mapsforge можно конфигурировать. Секция “Defining a Custom Tag Mapping via XML” в описании.
Берёте умолчательный файл, правите его как нужно и затем подключаете через ключик tag-conf-file. Для building там уже есть набор значений, всего-то надо добавить пару строк про те, которых там нет.
И tagtransform в данном случае можно не использовать, он может понадобиться, если возможностей штатного конфигурирования не хватит.
Нашел причину дублирования улиц по районам
Молодец! Замечал такое, но не знал почему.
Кто занимается конвертированием Эстонии, SviMik?
Добавь предварительную обработку перед конвертированием, нужно повырезать из дампа тег
К сожалению, это не так просто. В моём скрипте предварительной обработки не предусматривалось, тем более выборочной (только для карт Эстонии).
Может подумаем, можно ли что-то сделать с самой картой, чтобы place=suburb работали правильно? Возможно, их надо откорректировать? Иначе я не понимаю, если у нас Таллин покрыт place=suburb, то откуда берётся вторая(первая) улица без скобок?
Может подумаем, можно ли что-то сделать с самой картой, чтобы place=suburb работали правильно? Возможно, их надо откорректировать? Иначе я не понимаю, если у нас Таллин покрыт place=suburb, то откуда берётся вторая(первая) улица без скобок?
Насколько понимаю, влияет расстояние куска дороги до нода с place=suburb. Так или иначе, это ровным счетом ничего не даст. Ибо в любом случае будут длинные и разбытые на куски улицы с кусками в разных районах.
Как видно, улиц без указания района нет.
ИМХО, действовать нужно иначе, в следующем порядке (при условии корректности данный в базе, по текущему вопросу имеем вполне корректные данные):
Как видно, при не выполеннии пункта 1 сразу предложил исправить ситуацию своими силами с наименьшими затратами, т.е. пункт 3.2
К сожалению, это не так просто. В моём скрипте предварительной обработки не предусматривалось, тем более выборочной (только для карт Эстонии).
Это же замечательно. Не, замечательно не то, что “это не так просто”, а то, что речь о скрипте, а значит он легко поддается изменениям. Всего-то надо:
• Добавить проверку “а дамп Эстонии ли?”
• Если да, то скармливаем “вырезалке”, результат пускаем в конвертер. Если нет, то сразу в конвертер.
С чем имеем дело? GZip OSM XML? С вырезом из OSM XML по предложенному алгоритму, возможно, sed справится (затрудняюсь ответить, не писал я под него “условных условий”), если задачу свести к полному вырезу place=suburb, то и grep справится. На питоне вырезалка бы строк 5 занимала, но само собой, бинарные решения предпочтительнее.
Итого, расспаковываем gzip и скармливаем выходящий поток данных вырезалке, результирующий поток данных обратно гзипим, или же, тут же скармливаем его конвертеру (если он потдерживает подобные магии, хотя и магий особых и нет, вполне стандартные действия). Одна консольная команда. Почему именно так, а не расспаковать на диск и обработать? Да потому, что разархивирование/архивирование будет идти в памяти и работа с диском ограничится чтением / записью ~70Mb, что значительно быстрее, чем запись расспакованного >1Gb и последующее чтение этих данных.
Буду рад услышать и иные решения/предожения…
Cd_spb, а на адреску районы у вас влияют? Не может ли быть в разных районах одинаковых улиц со своей нумерацией? У нас-то нет такого, посему, деление на ройоны для нас - зло.
Cd_spb, а на адреску районы у вас влияют? Не может ли быть в разных районах одинаковых улиц со своей нумерацией? У нас-то нет такого, посему, деление на ройоны для нас - зло.
Теоретически, у нас есть улицы с одинаковым названием в разных районах… А вот на практике - не могу сказать. Уточню в теме Питера.
А что если бы OsmAnd делал бы приписку районов не к улицам, а к номерам домов? Минимум действий со стороны пользователей и информация о районах сохраняется. Возможно, разве что, для пользователей карт с адреской по райнам данный подход буден не очень логичным. Наверняка, они привыкли к поиску от большего к меньшему, город->район+улица->дом. Получится, же, город->улица->дом + район. Тем не менее, подход с моей колокольни должен удовлетворить потребности и тех и других.
Cd_spb, а на адреску районы у вас влияют? Не может ли быть в разных районах одинаковых улиц со своей нумерацией? У нас-то нет такого, посему, деление на ройоны для нас - зло.
В Санкт-Петербурге есть улицы, к названию которых принято добавлять определённые уточнения, чтобы эти улицы можно было отличить от одноимённых и расположенных в том же населённом пункте.
Проблема адресации решается добавлением на линии улиц и на дома, адресующиеся по ним, тега addr:suburb в тех случаях, когда это необходимо, то есть тогда, когда к названию улицы принято добавлять какое-то уточнение, чтобы её можно было отличить от одноимённой улицы, расположенной в том же населённом пункте.
Например, в Санкт-Петербурге есть “Казанская улица” и есть “Казанская улица (Малая Охта)”. Соответственно, для одной у нас name=Казанская улица на линии улицы и addr:street=Казанская улица на домах, для другой - name=Казанская улица + addr:suburb=Малая Охта на линии улицы и addr:street=Казанская улица + addr:suburb=Малая Охта на домах.
В карте Питера тоже попадаются улицы разбитые по “раЁнам”. Так что вопрос глобальный.
А где расположен этот “Чкаловский проспект (Петроградская сторона)”? По нему адресуются какие-нибудь дома?
В OsmAnd`e сейчас так:
В поиске улицы “Казанская” два результата, одна просто “Казанская”, а вторая “Казанская(Апраксин двор)”. Выбираем улица “Казанская”, и видим две записи с номером “4”. Одна запись вёдет в центр города, а вторая рядом с Шаумяна.
А где расположен этот “Чкаловский проспект (Петроградская сторона)”? По нему адресуются какие-нибудь дома?
Вот этот квартал http://openstreetmap.ru/#mmap=17/59.96228/30.2966&map=17/59.96228/30.2966
“Чкаловский проспект (Петроградская сторона)” - несколько домов “15” и один 25. В других местах нет домов…
“Чкаловский проспект” - дома 15 и остальные. Плюс в других местах.
Я правильно понимаю, что OsmAnd при построении адресного поиска обрабатывает точечные и/или полигональные place=suburb? Не нужно этого делать;)
С чем имеем дело? GZip OSM XML?
Бинарный формат (pbf). Это всё усложняет, да. Нужен спецсофт.
Я правильно понимаю, что OsmAnd при построении адресного поиска обрабатывает точечные и/или полигональные place=suburb? Не нужно этого делать;)
Насколько я понял - именно так. Тчательно перерыл окрестности разделенных улиц в Таллине, кроме нодов с place=suburb искомых наименований районов больше нигде не нашел, и ноды эти лежат сами по себе не связанные никакими отношениями.
Бинарный формат (pbf). Это всё усложняет, да. Нужен спецсофт.
freeExec опередил
./osmconvert europe.pbf |gzip >europe.osm.gz bzcat europe.osm.bz2 |./osmconvert --out-pbf >europe.pbf
Что только люди не придумают лишь бы не пользоваться osmosis-ом.
Там это делается через параметры командной строки без всяких промежуточных файлов.
Не хотите osmosis - можно через osmfilter.
Ну вы или сами разбирайтесь или давайте больше информации. Надоело клещами вытягивать, чесслово.
Нет информации. Делаю все методом тыка. Скачал и не знаю что куда ложить. Продублировал по всем папкам и по очереди запускаю скрипты. Пытаюсь понять что изменилось. Потом всё тоже самое проделываю с другим осмосисом.
Кстати, если вы не знали - mapsforge можно конфигурировать. Секция “Defining a Custom Tag Mapping via XML” в описании.
Берёте умолчательный файл, правите его как нужно и затем подключаете через ключик tag-conf-file. Для building там уже есть набор значений, всего-то надо добавить пару строк про те, которых там нет.
И tagtransform в данном случае можно не использовать, он может понадобиться, если возможностей штатного конфигурирования не хватит.
Скачал и tagtransform.jar и всю его папку на которую была ссылка:
fetch latest osmosis and unpack
wget -O - http://bretth.dev.openstreetmap.org/osmosis-build/osmosis-latest.tgz | tar xz
get a precompiled tagtransform.jar (tested with 0.40.1)
wget -O $(echo osmosis*)/lib/default/tagtransform.jar http://www.imn.htwk-leipzig.de/~cmuelle8/tagtransform.jar
run osmosis on YOURFILE, doing transformations in TRANSFORM.xml, writing to OUTFILE
./osmosis*/bin/osmosis --read-xml file=YOURFILE --tag-transform file=TRANSFORM.xml --write-xml file=OUTFILE
#end
Теперь гоняю её по осмосису пытаюсь запустить, найти её место. От сюда и скрипт который оказался под люникс.
pbf->osm->filter->osm->pbf…
Даже проверять не буду, какая у этого будет производительность…