Как разделить все автодороги на отрезки и разместить в базе данных

Добрый день.

Подскажите пожалуйста, каким образом, можно решить 3 задачи:

  • 1: из карт (например из карты monaco.osm.pbf) взять только автодороги и дворы, без парков (но с парковками), площадей, скверов, и прочего, в общем только то, по чему может двигаться автомобиль (в том числе и дворы, он же по ним тоже может ехать).
  • 2: Все автодороги автоматически, алгоритмом, разделить на отрезки длиной в 1 километр (или меньше, для последнего отрезка) без смежных пересечений, если пересечение имеется, то отрезок в 1 км дробится таким образом, чтобы координаты перекрестка (точка пересечения) находились только на одном отрезке.
    Либо: все дороги разделить от перекрестков до перекрестков, далее все ломанные линии поделить на равные отрезки, примерно равные 1 км.
    -3: Все полученные отрезки поместить в базу данных, например Postgress под разными индексами.

Общая задача сводится к следующему:
Необходимо считать количество проехавших с трекером по каждому отрезку дороги за последние 30 минут.
Это предполагается делать так:
В базу данных заносим каждую точку трекера, и ID отрезка который связан с этой точкой, а также время. Дальше запросом получаем количество внесенных данных за последние 30 минут.

Вцелом я смог загрузить в базу пострегес всю карту целиком используя osm2pgsql и в базе данных даже отдельно сформировалась таблица РОУДС. Но, тем не менее, это не решает основную задачу. Быть может кто-нибудь смог бы подсказать как реализовать задачи? Каким программным продуктом можно воспользоваться для этих целей?
С математикой и теорией графов я не очень.
Может ли обычный человек, без окончания физмата, решить эту задачу готовыми прикладными решениями? Какие программные продукты могут помочь решить ее?
Нужно так, или иначе поделить все дороги, из файла (например) monaco.osm.pbf поделить на небольшие отрезки.

  1. Фильтруете по тегам https://wiki.openstreetmap.org/wiki/RU:Highway_classification
    2/3. Не очень проникся вашей логикой, но разбить отрезки по перекрёсткам или побить по 1 км можно в PostGIS.
    https://postgis.net/docs/ST_Intersection.html
    https://postgis.net/docs/ST_LineInterpolatePoints.html