You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
Pages: 1
#1 2020-05-26 12:15:36
- akulin
- Member
- Registered: 2020-05-26
- Posts: 10
Osmgeoref не работает
Есть ряд некоторых проблем.
Для получения данных используется скрипт preparation.sh, в котором прописана последовательность из подпрограмм и параметров.
Скомпилировал все программы по образцу из preparation.sh под x86. В preparation.sh для примера в скрипте указана Германия. Как я понял, для получения координат используется подпрограмма osmposition.
Пример:
./osmposition adr.ogb <<< "Rathausplatz, Hamburg"
Для того чтобы получить координаты по названию необходимо преобразовать pbf файл с помощью подпрограмм, указанных в скрипте preparation.sh.
Запуск скрипта preparation.sh по-умолчанию выдает следующее:
osmconvert Error: not enough memory. Reduce --max-objects=
osmfilter Warning: unexpected end of input file: adrn.o5m
osmgeobase Warning: could not completely read file strings_housenumber
osmgeobase: read 0 strings of 1.
adr.ogb создаётся, размер равен 61 МБ.
Пробую получить координаты:
./osmposition adr.ogb <<< "Rathausplatz, Hamburg"
osmposition Error: wrong-formatted string statistics section 5
То есть пример не заработал как надо.
На странице с Osmgeoref есть полная документация на немецком языке. В 6 и 7 главе описана работа с подпрограммами. Пока не нашёл там полезной информации, большинство информации идентично help'ам подпрограмм. Возможно потом что-то прояснится.
Пробовал скачивать для теста область с картой Москвы: Central Federal District.
Запуск скрипта preparation.sh для Москвы выдает следующее:
osmconvert Error: not enough memory. Reduce --max-objects=
osmfilter Warning: unexpected end of input file: adrn.o5m
osmgeobase Error: incorrect node count value in file "strings_nodecount": 0
./preparation.sh: line 65: 21875 Segmentation fault (core dumped) ./osmgeobase adrr.o5m -o=adr.ogb
Скрипт крашится, adr.ogb создаётся, но имеет размер 0 байт.
Offline
#2 2020-05-26 12:38:04
- freeExec
- Moderator
- From: Ульяновск,Модератор всех слоёв
- Registered: 2012-07-31
- Posts: 8,547
Re: Osmgeoref не работает
osmconvert Error: not enough memory. Reduce --max-objects=
Вот тут же написано, что у вас не хватает памяти, сколько у вас её? И как вариант предлагают понизить её резерв, вы это пробовали?
Offline
#3 2020-05-26 16:34:59
- akulin
- Member
- Registered: 2020-05-26
- Posts: 10
Re: Osmgeoref не работает
Всего 8 ГБ памяти. Использую 32-битную ОС.
--max-objects в первом же блоке Processing Line 1 выдаёт not enough memory. Reduce --max-objects.
Если указать не 80000000, а скажем 70000000, то теперь уже пишет not enough space. Increase --max-objects.
То есть изменение значения параметра в любом случае выдаёт ошибку.
Что делать в этом случае?
Offline
#4 2020-05-26 17:02:50
- freeExec
- Moderator
- From: Ульяновск,Модератор всех слоёв
- Registered: 2012-07-31
- Posts: 8,547
Re: Osmgeoref не работает
Использую 32-битную ОС.
Это плохо. По сути у вас доступно процессу чуть более 1Гб. Это не серьёзно в масштабах ОСМ. Попробуйте ещё уменьшить --hash-memory, т.к. в дефолтный настройках он есть 900Мб.
Вот я их запустил и их потребление по-умолчанию: osmconvert 2.1Гб, osmfilter 1.2Гб
Offline
#5 2020-05-27 17:36:43
- akulin
- Member
- Registered: 2020-05-26
- Posts: 10
Re: Osmgeoref не работает
Я пробовал изменять настройки по-умолчанию, прописывая другие значения для max-objects и hash-memory. В итоге я получаю разные типы ошибок:
osmconvert Error: not enough space. Reduce --max-objects=
osmconvert Error: not enough space. Increase --max-objects=
osmconvert Error: not enough memory. Reduce --max-objects=Пробовал задавать разные значения, но в итоге ошибки всё равно возникают. В htop видно, что процесс забивает память по полной и не остаётся свободного места, половина памяти не используется, т.к. это 32-битная ОС.
Попробовал запустить на 64-битной ОС с 12 ГБ памяти. Всё что относится к примеру по-умолчанию заработало. Не возникло никаких ошибок и ворнингов.
Я попробовал сгенерировать данные для Москвы, скачав pbf файл и преобразовав его по тому же принципу, как для Германии.
osmgeobase Error: incorrect node count value in file "strings_nodecount": 0
./preparation.sh: line 65: 3292 Segmentation fault (core dumped) ./osmgeobase adrr.o5m -o=adr.ogbОшибка возникает в блоке "Processing Line 1+2+3 End" на этом этапе:
./osmgeobase adrr.o5m -o=adr.ogbСкорее всего это относится к osmassignpoly:
./osmassignpoly adr.o5m -B=adr.poly -b=5.86,47.27,15.05,55.06 --use-admin-levels=";;;admin_level=" --region-key=region --subregion-key=subregion --keep-boundary-nodes --export-strings --separate-housenumbers -o=adrr.o5mГде какие-то параметры скорее всего необходимо изменить под Москву. Я пока не понимаю что именно надо изменить.
Offline
#6 2020-05-28 08:22:19
- Mir76
- Member
- From: Екатеринбург
- Registered: 2009-12-18
- Posts: 1,455
Re: Osmgeoref не работает
-
Last edited by Mir76 (2020-05-28 08:23:22)
Offline
Pages: 1