Я разрабатываю пользовательское приложение маршрутизации с использованием Openstreetmap. Для этого мне нужно прочитать (по крайней мере) узлы и ребра в определенном граничном поле, используя API Openstreetmap, например, Overpass. После этого я обработать узлы и ребра и применить алгоритм маршрутизации. Моя основная проблема заключается в определении размера этого пограничного поля.Определение размера граничного поля в алгоритме маршрутизации Openstreetmap
Одним из способов является считывание большого пограничного поля, включающего в себя начальные и конечные узлы, и обработку всех узлов и ребер в нем, но это кажется чрезмерным и потребует длительного времени загрузки от API. Кроме того, это не способ гарантировать, что у нас есть все необходимые дороги.
Другой способ заключается в том, чтобы считывать небольшой пограничный блок вокруг узла происхождения, запускать алгоритм маршрутизации (например, Дейкстра) и читать/обрабатывать новую часть карты, когда это необходимо. Этот подход должен был бы сделать несколько вызовов на сервере API, и это может занять некоторое время.
Знаете ли вы, является ли один из этих двух подходов обычным в приложениях маршрутизации OSM или если предпочтительный другой подход?
+1 но я рекомендую заглянуть в программное обеспечение маршрутизации (серверы черепицы не помогут в маршрутизации): https: // wiki .openstreetmap.org/wiki/Маршрутизация – Karussell
Правильно, но это руководство помогает при создании и обновлении базы данных :) – scai
, который не то, что вы хотите, ЕСЛИ вы хотите только маршрутизацию :) – Karussell