Заказ закрыт
Алгоритм поиска возможного положения точки

Бюджет: 500 $
374.48 € – 37 672.40 руб
Необходимо рассчитать положение точки на карте на основании её скорости и других факторов. Например, посреди леса стоит человек, и мы знаем его среднюю скорость в отдельные промежутки времени. Нужно расчитать где он может находиться на протяжении какого-то времени. Однако в лесу есть болота, непроходимые скалы, которые снижают / зануляют скорость передвижения. В какие-то моменты времени человек вообще не двигается (спит). 
Первый скриншот – начало движения, никаких препятствий. 
Второй скриншот – видно что зеленый полигон непроходим, а коричневый проходим, но с трудом. 

Язык – JavaScript, входные данные задаются объектом 

  time_periods: [{ 
    from: 2012-12-12T20:00:00, 
    to: 2012-12-12T22:00:00, 
    speed: 5 
  }, {}], 
  objects: [{ 
    geodata: POLYGON(...), 
    speed_modifier: 0.5 
  }, {}] 


Алгоритм должен иметь следующие настройки
1. Временной шаг (через какие временные интервалы строится максимально возможное положение)
2. Максимальное и минимальное расстояние между вершинами полигона (smooth edges)

Результат работы алгоритма задается объектом
{
  stages: [{
    time: 0,
    polygon: MULTIPOLYGON(..) (WKT format)
  }, {
    time: 10, //Step in seconds
    polygon: MULTIPOLYGON(..) (WKT format)
  }, {..}]
}

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


Опубликован 21.03.2016 в 06:56 Последнее изменение: 18.08.2016 в 04:35
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.