SASGIS - SAS.Планета
View Issue Details
0003807SAS.Планета[All Projects] Багpublic03-01-2022 20:3507-07-2022 08:48
iglezz 
zed 
normalminoralways
resolvedfixed 
Windowsany
211230 
220707220707 
0003807: Прокладка маршрута через osmscout в некоторых случаях выдаёт исключение
Видимо, когда по непонятным причинам маршрут построить не получается, появляется такое окно с ошибкой:
[Window Title]
Ошибка
 
[Content]
Exception: "router_calc" failed with error: There was an error while calculating the route!
 
[OK]

Проверено на:
Windows 10 x64 21h2
Windows 7 x86 (VirtualBox)
0. Используются БД Литвы и Беларуси, созданные по инструкции (https://github.com/zedxxx/libosmscout-route/blob/master/readme.md)

1.
Профиль - "пешком"
В приложенном osmscout_testing_1.kml находятся 3 пути:
route 1 bad - вызывает ошибку
route 1 good - нормально строит маршрут
при "растягивании" пути route 1 bad --> route 1 good на каком-то этапе маршрут начинают прокладываться

2.
Профиль - любой
Простроение маршрута через границу Беларусь-Россия, Беларусь-Украина заканчивается либо успешно либо вышеприведённой ошибкой с исключением
Некоторое количество проведённых на карте тестов даёт основание считать, что проблема где-то в кишках самого osmscout.
No tags attached.
related to 0003808resolved zed Исключение osmscout (0003807) ломает процесс автопрокладки маршрута 
? osmscout_testing_1.kml (1,714) 03-01-2022 20:35
https://bugtracker.sasgis.org/file_download.php?file_id=2565&type=bug
? route 3 bad.kml (540) 03-01-2022 20:52
https://bugtracker.sasgis.org/file_download.php?file_id=2566&type=bug
png 1641286186.png (274,212) 04-01-2022 08:50
https://bugtracker.sasgis.org/file_download.php?file_id=2567&type=bug
Issue History
03-01-2022 20:35iglezzNew Issue
03-01-2022 20:35iglezzFile Added: osmscout_testing_1.kml
03-01-2022 20:52iglezzFile Added: route 3 bad.kml
03-01-2022 20:55iglezzNote Added: 0020262
04-01-2022 08:27zedRelationship addedrelated to 0003808
04-01-2022 08:48zedNote Added: 0020264
04-01-2022 08:50zedFile Added: 1641286186.png
04-01-2022 08:57zedStatusnew => confirmed
04-01-2022 08:57zedProduct Version => 211230
04-01-2022 08:57zedTarget Version => 24xxxx
07-01-2022 14:26zedNote Added: 0020265
10-01-2022 18:30zedStatusconfirmed => resolved
10-01-2022 18:30zedFixed in Version => 24xxxx
10-01-2022 18:30zedResolutionopen => fixed
10-01-2022 18:30zedAssigned To => zed
07-07-2022 08:47zedTarget Version24xxxx => 220707
07-07-2022 08:48zedFixed in Version24xxxx => 220707

Notes
(0020262)
iglezz   
03-01-2022 20:55   
Добавил route 3 bad.kml - профиль Авто строит маршрут, Вело и Пешеход вываливают ошибку
(0020264)
zed   
04-01-2022 08:48   
Эту ошибку надо перевести в разряд не критических и текст изменить на что-то вроде "Маршрут не может быть построен для данного профиля. Недостаточно данных в БД".

Просто сравнил поведение с онлайн сервисами и всё стало понятно. Посмотрите, что строится для "route 1 bad" сервисом Project OSRM (профиль пешком) - он делает петлю в 400 км аж через Латвию (это при том, что между точками для построения маршрута всего 5 км).
(0020265)
zed   
07-01-2022 14:26   
Сделал. Правда, пришлось обновить и сильно отрефакторить libosmscout_route.dll. Плюс, за последние полгода в osmscout успел поменяться формат файлов БД, так что теперь старые БД нужно перегенерировать новым импортёром. Действуйте в соответствии с обновлённым readme.