Карта всех точек ниже определенного времени в пути? - PullRequest
40 голосов
/ 23 февраля 2012

Мой вопрос очень прост и может быть понят в одной строке:

Есть ли способ, инструмент и т. Д., Использующие карты Google для наложения всей поверхности, которая находится ниже определенного времени в пути?

Я надеюсь, что вопрос ясен, но я не могу найти ничего связанного в Интернете.

Если у вас есть информация, я ее возьму!

UPDATE:

Вот что я имею в виду на примере:

Я ищу новое место для жизни. Я знаю точный адрес моего офиса. В этом случае я бы смог наложить на карты Google поверхность, которая находится под определенным временем в пути (скажем, 30 минут на машине). У нас будет длинная поверхность, окрашенная вокруг автомагистралей (потому что вы становитесь быстрее), и цвета вокруг дорог.

Ответы [ 6 ]

37 голосов
/ 29 февраля 2012

Я думаю, что вы ищете что-то вроде Mapnificient : он показывает вам области, которые вы можете добраться на общественном транспорте в данный момент времени ( видео ).

enter image description here

Подобный сайт с еще большим количеством опций Как далеко я могу путешествовать .Здесь вы можете выбрать между вводом вашей скорости перемещения и времени в пути ИЛИ расстояния.При желании вы также можете указать, насколько точными должны быть результаты.

enter image description here

Теперь, как создать такие примеры самостоятельно?См. этот связанный вопрос , где принятый ответ объясняет шаг за шагом, как вы можете получить данные о времени в пути из API Карт Google .

Наконец, за 8,75 $Вы можете купить статью Утилиты Stata для геокодирования и генерации информации о времени в пути и о расстоянии в пути . Автор Адам Озимек и Даниэль Майлз, которая описывает traveltime, команду, которая использует Google Maps для предоставления пространственной информации для данных.

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

5 голосов
/ 25 апреля 2015

Кроме ответов в @BioGeek, вот еще:

Nokia Here Maps API может дать вам точную форму вывода. Они называют это временной изоляцией. Смотрите здесь: Запрос изолинии на основе времени

enter image description here

Для поездок менее 10 минут Isoscope доступен по этому адресу.

Также это выглядит многообещающе: Route360

Обновление:

Route360 можно бесплатно использовать в следующих местах:

  • Африка

  • Австрия

  • Австралия и Новая Зеландия

  • Британские острова

  • Британская Колумбия

  • Чехия

  • Дания

  • Франция

  • Германия

  • Италия

  • Малайзия, Сингапур и Бруней

  • Мексика

  • Норвегия

  • Португалия

  • Испания

  • Швеция

  • Швейцария

  • USA

4 голосов
/ 29 февраля 2012

Я думаю, что вы ищете Google Distance Matrix API . Он возвращает не маршруты, а длительность и расстояние для каждой пары отправления и назначения. Он имеет ограничение использования 100 элементов в 10 секунд.

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

2 голосов
/ 29 февраля 2012

Я не думаю, что есть простой способ сделать это, но вот идея:

Сначала вам нужно получить координаты длинной / широты вашей стартовой позиции. Затем вам нужно будет выработать, скажем, 50 координат вокруг этой начальной позиции, скажем, в 1 километре от нее (ответ здесь может помочь). Затем вам нужно будет обойти каждую из этих точек и попросить время вождения, чтобы добраться туда с вашей стартовой позиции, используя Google Driving Directions API .

Затем вам нужно будет снова пройти точки, чтобы найти точки, которые находятся ниже разрешенного времени прохождения (например, 30 минут в вашем вопросе), переместить эти точки еще на один километр или около того (в том же направлении, что точка изначально перемещен из начальной позиции) и повторяйте запрос времени вождения, пока все не превысят разрешенное время в пути. Наконец, вы получите 50 координат, которые вы можете отобразить на изображении Google Maps в виде многоугольника, используя Google Javascript API для отображения многоугольников .

Этот метод требует много запросов в Google, поэтому вам нужно подумать о том, как Google ограничивает количество запросов, которые вы можете сделать в день.

1 голос
/ 03 января 2018

Вы можете использовать GraphHopper Directions API - эта часть API также с открытым исходным кодом .

Поскольку мы добавили общественный транспорт и эту функцию недавно, в настоящее времяне работает вместе.Но это запланировано, и до тех пор вы можете наслаждаться изохронами дорожной сети:)

Отказ от ответственности: я один из основателей GraphHopper.

enter image description here

1 голос
/ 29 февраля 2012

Вы можете нарисовать круг вокруг вашей текущей позиции и проверять дорогу под углом каждые X градусов.

Другая идея заключается в использовании контурного графика и изолиний.

...