Pull to refresh

Comments 4

Встречал на практике ситуации, когда границы двух районов проходили аккурат по осевой линии автомобильной дороги. И буквально одно направление дороги находится в эксплуатации одного района, а встречное — другого.

Ну и смысл сегментирования не очевиден, есть классический пикетаж автодороги, который "на земле" как раз и используется для локализации чего угодно. Ощущение — вы придумали себе проблему и успешно её решили.

границы двух районов проходили аккурат по осевой линии автомобильной дороги

Да, полностью с вами согласен, что данный алгоритм, основанный на осевой линии дороги, в таком случае может выдать неподходящий результат, и без вмешательства человека не обойдется. Тем не менее, по нашим оценкам, 90% всех полигонов дорог будут корректно автоматически сегментированы.

 смысл сегментирования не очевиден

Нам нужны небольшие участки дороги (сегменты), чтобы можно было привязать к ним связанные с дорогой инциденты и локально отслеживать обстановку с течением времени. Например, для выявления особо проблемного и опасного участка дороги.

есть классический пикетаж автодороги

К сожалению, в нашей базе данных информация о разметке дорог отсутствует. А так это безусловно повысило бы качество сегментации.

А почему не хранить, например, те же самые люки или происшествия как точечные объекты в своих таблицах и потом получать их пространственными запросами?

А запросы делать от осей, которые уже и разделить как классический пикетаж. Сегментировать отрезки проще

Спасибо за вопрос!

А почему не хранить, например, те же самые люки или происшествия как точечные объекты в своих таблицах и потом получать их пространственными запросами?

Да, у нас события представлена как точечные объекты. Мы храним их в таблице инцидентов. В ней есть колонка с координатами самого происшествия (POINT(x,y)). И потом ещё с помощью геосервиса определяем к какому сегменту дороги оно относится и добавляем эту информацию (идентификаторы) в отдельные колонки этой же таблицы.

А запросы делать от осей, которые уже и разделить как классический пикетаж. Сегментировать отрезки проще

А вот тут не совсем понял идею. В алгоритме осевая линия делится на отрезки и вокруг каждого из них строится прямоугольный буфер,чтобы при пересечении с исходным полигоном выделить сегмент. Отмечу, что нам нужны не только сами события на карте, но и связанные с ними сегменты.

Sign up to leave a comment.

Articles