Расчет точек маршрута с удалением 10 минут от базовой
Добавлено: 17 апр 2013, 13:57
Здравствуйте,уважаемые форумчане!
Сразу оговорюсь, что желательно иметь возможность реализовать такое в Google Earth, т.к. карту сейчас формирует именно для этого плагина.Еще есть Яндекс.Карты,но там пока все сыро...
Перейдем к описанию задачи:
Есть определенный объект на карте,допустим,больница(точка 2).

Необходимо найти максимально удаленные точки, от которых до этой самой больницы можно доехать за 10 минут.
Чтобы в итоге получалось примерно такое:

Я лично набросал следующую реализацию:
Насколько я понял из примеров, при передаче координат идет привязка к ближайшим дорогам,
но в цикле проверять 360 точек (для каждого градуса) с начальным удалением (радиусом) ресурсозатратно...
начальный радиус представляет собой рассчитанное расстояние,которое можно проехать за 10 минут,учитывая среднюю скорость движения по городу.
Соответственно, если при этом, время в пути составит больше 10 минут,то удаление(радиус) уменьшаем,допустим,на 200м и проверяем заново пока время в пути не составит 10 минут.
Если время в пути меньше 10 минут, то удаление(радиус) увеличиваем на 200м и проверяем заново.
Надо чтобы все это очень быстро обсчитывалось, потому что таких объектов 5-10.
Сейчас окружности рисуются в Гугл Мапс, но проверка объектов (находятся ли они в области отображения карты,чтобы для всех объектов не рисовать) нагружает компьютер пользователя
И еще интересно узнать:
Как реализован расчет времени в пути?

Всем заранее спасибо за советы,помощь и внимание!
Сразу оговорюсь, что желательно иметь возможность реализовать такое в Google Earth, т.к. карту сейчас формирует именно для этого плагина.Еще есть Яндекс.Карты,но там пока все сыро...

Перейдем к описанию задачи:
Есть определенный объект на карте,допустим,больница(точка 2).

Необходимо найти максимально удаленные точки, от которых до этой самой больницы можно доехать за 10 минут.
Чтобы в итоге получалось примерно такое:

Я лично набросал следующую реализацию:
Насколько я понял из примеров, при передаче координат идет привязка к ближайшим дорогам,
но в цикле проверять 360 точек (для каждого градуса) с начальным удалением (радиусом) ресурсозатратно...
начальный радиус представляет собой рассчитанное расстояние,которое можно проехать за 10 минут,учитывая среднюю скорость движения по городу.
Соответственно, если при этом, время в пути составит больше 10 минут,то удаление(радиус) уменьшаем,допустим,на 200м и проверяем заново пока время в пути не составит 10 минут.
Если время в пути меньше 10 минут, то удаление(радиус) увеличиваем на 200м и проверяем заново.
Надо чтобы все это очень быстро обсчитывалось, потому что таких объектов 5-10.
Сейчас окружности рисуются в Гугл Мапс, но проверка объектов (находятся ли они в области отображения карты,чтобы для всех объектов не рисовать) нагружает компьютер пользователя
И еще интересно узнать:
Как реализован расчет времени в пути?

Всем заранее спасибо за советы,помощь и внимание!