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.***
#51 2008-07-27 14:59:12
- Jagor
- Member
- From: Minsk
- Registered: 2008-07-06
- Posts: 44
Re: Москва. Прокладка маршрутов
Таймаут увеличил. А порядок.. я читаю xml и пишу не руками, поэтому так и получилось. Поправил (только без отступов). Вот по производительности скрипт конечно отдыхает...
По поводу обновлений: можно полностью сливать и раз в неделю, а обновлять применяя osmChange от planet.osm (они выходят по 6 раз в день) - меньше нагрузки на api.
Offline
#52 2008-07-27 18:48:04
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Москва. Прокладка маршрутов
теперь вываливается с ошибкой
C:\buf\osm\OSMTools>load_map.rb -min_lon 37 -max_lon 38 -min_lat 55 -max_lat 56 -o test.osm
Retriving map within bbox 37.0,55.0,37.25,55.25... Done
.....
Retriving map within bbox 37.75,55.75,38.0,56.0... Done
./relation.rb:35:in `inner_xml_exact': undefined local variable or method `nodes' for #<Relation:0x1119cc68> (NameError)
from ./mapObjectBase.rb:76:in `to_exact_xml'
from ./map.rb:67:in `to_exact_xml'
from ./map.rb:67:in `each_value'
from ./map.rb:67:in `to_exact_xml'
from C:/buf/osm/OSMTools/load_map.rb:19Offline
#53 2008-07-27 19:39:29
- Jagor
- Member
- From: Minsk
- Registered: 2008-07-06
- Posts: 44
Re: Москва. Прокладка маршрутов
Мне повезло - у меня небыло отношений в квадрате:) Пофиксил.
Offline
#54 2008-07-27 20:01:38
- Vsevolod Shorin
- Member
- From: Moscow
- Registered: 2008-07-21
- Posts: 30
- Website
Re: Москва. Прокладка маршрутов
Vsevolod Shorin, а можете ещё добавить Минск(bbox=27.384,53.803,27.779,53.992)?
Я немного пооптимизировал программу и теперь по памяти нормально влезает вся Россия. Завтра постараюсь выложить и сразу добавить и Белоруссию. Где лучше её брать? Там же, где Liosha предложил брать Россию?
Offline
#55 2008-07-27 20:24:05
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Москва. Прокладка маршрутов
Белоруссия ежедневно http://download.geofabrik.de/osm/europe/
Offline
#56 2008-07-27 20:52:05
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Москва. Прокладка маршрутов
Пофиксил.
теперь не хватает закрывающих тегов </node>, </way> etc ![]()
Offline
#57 2008-07-27 20:56:43
- Jagor
- Member
- From: Minsk
- Registered: 2008-07-06
- Posts: 44
Re: Москва. Прокладка маршрутов
Белоруссия ежедневно http://download.geofabrik.de/osm/europe/
Да, тут самая лучшая.
Теперь не хватает закрывающих тегов </node>, </way> etc
Поправил:) завтра подоптимизирую ещё, а то сейчас память может поедать в больших количествах.
Offline
#58 2008-07-27 21:50:51
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Москва. Прокладка маршрутов
вроде бы заработало. ща попробую настроить скачку через это дело...
Offline
#59 2008-07-28 06:02:27
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Москва. Прокладка маршрутов
не-а, не получается...
любая ошибка при скачке одного тайла приводит к аварийному завершению всего скрипта
Retriving map within bbox 50.05791241,53.169807212,50.30791241,53.419807212...Er
ror: Net::HTTPInternalServerError (Internal Server Error) when loading from http
://api.openstreetmap.org/api/0.5/map?bbox=50.05791241,53.169807212,50.30791241,5
3.419807212./map.rb:83:in `merge!': undefined method `nodes' for nil:NilClass (N
oMethodError)
from ./map.rb:109:in `retrive'Offline
#60 2008-07-28 08:00:15
- Jagor
- Member
- From: Minsk
- Registered: 2008-07-06
- Posts: 44
Re: Москва. Прокладка маршрутов
можно сделать автоповтор, а можно просто пропустить. можно ещё автоповтор после того, как всё остальное пройдёт. Как лучше?
Offline
#61 2008-07-28 08:22:02
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Москва. Прокладка маршрутов
имхо правильнее сделать автоповтор с настраиваемыми числом попыток и суммарным временем
дело же не в конкретном тайле, а в сервере или линии
Offline
#62 2008-07-28 08:34:36
- Jagor
- Member
- From: Minsk
- Registered: 2008-07-06
- Posts: 44
Re: Москва. Прокладка маршрутов
В некоторых случаях (например при ответе BadRequest - повтор не поможет. в данном случае скорее всего нужно будет делить кусок на более мелкие, т.к. в первоначальном больше 50000 точек), а в остальных - можно повторить. Сделаю.
Offline
#63 2008-07-28 08:52:23
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Москва. Прокладка маршрутов
тогда лучше вначале создать очередь тайлов 0.5x0.5, а при получении BadRequest убирать большой тайл и добавлять две половинки ![]()
Offline
#64 2008-07-28 09:12:22
- Jagor
- Member
- From: Minsk
- Registered: 2008-07-06
- Posts: 44
Re: Москва. Прокладка маршрутов
Нет, 0.5х0.5 нельзя - ограничение в АПИ на 0.25х0.25, но уже 0.25 буду делить если что - на 4 части. Сейчас по проверяю как работает и выложу.
Offline
#65 2008-07-28 10:03:58
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Москва. Прокладка маршрутов
неправда ваша, ограничение уже давно подняли до 0.5х0.5 ![]()
Offline
#66 2008-07-28 10:22:01
- Vsevolod Shorin
- Member
- From: Moscow
- Registered: 2008-07-21
- Posts: 30
- Website
Re: Москва. Прокладка маршрутов
неправда ваша, ограничение уже давно подняли до 0.5х0.5
Поднять подняли, но Москву, например, такими кусками не повыкачиваешь. Видимо, срабатывает ограничение по памяти или времени. Кстати, я может что-то пропустил, но ограничение уже давно было 0.25 квадратных градуса, то есть хоть 0.5 на 0.5, хоть 0.3 на 0.8.
Offline
#67 2008-07-28 10:25:23
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Москва. Прокладка маршрутов
ну да, там ещё ограничение 50000 нод
о чём сейчас и речь, надо при отказе запрашивать кусками помельче
http://wiki.openstreetmap.org/index.php … ding_boxes
Last edited by liosha (2008-07-28 10:26:44)
Offline
#68 2008-07-28 10:29:04
- Vsevolod Shorin
- Member
- From: Moscow
- Registered: 2008-07-21
- Posts: 30
- Website
Re: Москва. Прокладка маршрутов
Скачал Белоруссию и попробовал загрузить её вместе с Россией. В принципе, памяти пока хватает, но ничего интересного не получается - сообщения между Россией и Белоруссией нет :-)
Сделал на cooper-е загрузку всей России. Работает, но поднимается всё это уже больше получаса и работает не очень быстро. Вот, например, дорога Омск-Мурманск:
http://cooper.gpsvp.com:6789/#55.053202 … ,33.046875
Поэтому:
- Белоруссию буду делать отдельно.
- Обновлять данные и перезапускать маршрутизатор буду ночью, где-то между тремя и пятью часами.
- Попробую сделать алгоритм быстрее.
Ну и если кто не заметил, запреты поворотов у меня работают неправильно, это тоже надо доделать.
Кстати, на карте у нас немало разрывов. Например, через Нижний на Вятку проехать нельзя:
http://cooper.gpsvp.com:6789/#56.292156 … 7099609375
Offline
#69 2008-07-28 10:31:54
- Jagor
- Member
- From: Minsk
- Registered: 2008-07-06
- Posts: 44
Re: Москва. Прокладка маршрутов
There are two restrictions on the size of bounding boxes:
They cannot enclose more than 0.25 degrees of latitude or longitude. The area covered by the largest possible bounding box (of 0.25 square degrees) varies from about 900 square miles at the equator to about 400 square miles on Iceland.
They cannot enclose more than 50,000 nodes.
http://wiki.openstreetmap.org/index.php … ding_boxes
а больше нигде не встречал про ограничения. У них нестыковочка - сначала говорят про максимум 0.25х0.25, а потом про 0.25^2:)
Но в любом случае можно начальное деление хоть 1х1 указать, всё равно будет уменьшать пока не загрузит или попытки не кончатся.
Выложил новую версию.
Offline
#70 2008-07-28 10:33:21
- Jagor
- Member
- From: Minsk
- Registered: 2008-07-06
- Posts: 44
Re: Москва. Прокладка маршрутов
Скачал Белоруссию и попробовал загрузить её вместе с Россией. В принципе, памяти пока хватает, но ничего интересного не получается - сообщения между Россией и Белоруссией нет :-)
Нужно будет занятся на досуге , хотя со стороны Беларуси большая часть дорог доходит до границы, чего не скажеш про Россию:(
Last edited by Jagor (2008-07-28 10:38:09)
Offline
#71 2008-07-28 13:46:33
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Москва. Прокладка маршрутов
ну вроде бы теперь скачка заработала
но вывод получается несортированный, и объекты дублируются
сваял небольшой фильтр, после него с файлом можно работать
http://garminmapsearch.com/osm/osmsort.zip
Offline
#72 2008-07-28 13:56:59
- Vsevolod Shorin
- Member
- From: Moscow
- Registered: 2008-07-21
- Posts: 30
- Website
Re: Москва. Прокладка маршрутов
Запустил Белоруссию: http://cooper.gpsvp.com:6787/
Пока без обновления.
Offline
#73 2008-07-28 14:23:28
- Jagor
- Member
- From: Minsk
- Registered: 2008-07-06
- Posts: 44
Re: Москва. Прокладка маршрутов
ну вроде бы теперь скачка заработала
но вывод получается несортированный, и объекты дублируютсясваял небольшой фильтр, после него с файлом можно работать
http://garminmapsearch.com/osm/osmsort.zip
не сортированный, так как выводит сразу как скачает кусок - раньше был сортированный, но работал медленнее и памяти больше съедал, а вот дублирующиеся объекты - баг.
Offline
#74 2008-07-28 14:27:09
- Jagor
- Member
- From: Minsk
- Registered: 2008-07-06
- Posts: 44
Re: Москва. Прокладка маршрутов
Запустил Белоруссию: http://cooper.gpsvp.com:6787/
Пока без обновления.
У меня не грузится:(
Offline
#75 2008-07-28 16:09:00
- Jagor
- Member
- From: Minsk
- Registered: 2008-07-06
- Posts: 44
Re: Москва. Прокладка маршрутов
liosha wrote:ну вроде бы теперь скачка заработала
но вывод получается несортированный, и объекты дублируютсясваял небольшой фильтр, после него с файлом можно работать
http://garminmapsearch.com/osm/osmsort.zipне сортированный, так как выводит сразу как скачает кусок - раньше был сортированный, но работал медленнее и памяти больше съедал, а вот дублирующиеся объекты - баг.
Исправил дубликаты и добавил ключик -s (--sort) для вывода сортированного файла
Offline