Необходимо рассчитать положение точки на карте на основании её скорости и других факторов. Например, посреди леса стоит человек, и мы знаем его среднюю скорость в отдельные промежутки времени. Нужно расчитать где он может находиться на протяжении какого-то времени. Однако в лесу есть болота, непроходимые скалы, которые снижают / зануляют скорость передвижения. В какие-то моменты времени человек вообще не двигается (спит).
Первый скриншот начало движения, никаких препятствий.
Второй скриншот видно что зеленый полигон непроходим, а коричневый проходим, но с трудом.
Язык JavaScript, входные данные задаются объектом
{
time_periods: [{
from: 2012-12-12T20:00:00,
to: 2012-12-12T22:00:00,
speed: 5
}, {}],
objects: [{
geodata: POLYGON(...),
speed_modifier: 0.5
}, {}]
}
Так скажем, уже есть алгоритм но он валится на самопересекающихся полигонах. То есть либо пишем с нуля, либо дорабатываем существующий.
Опубликован 03.03.2016 в 19:05