Створення полігонів часу приводу за допомогою інструментів Open Source?


55

Хтось використовує інструменти та / або дані з відкритим кодом для генерації полігонів часу приводу, які випромінюються з певного місця? Наприклад, я використав продукти ESRI, такі як Network Analyst та Business Analyst, щоб створити межі полігонів, які представляють максимальну відстань, яку можна пройти по дорожній мережі від заданої точки протягом визначеного користувачем періоду часу (скажімо, 5, 10 та / або 15 хвилин). Чи є подібні альтернативи з відкритим кодом або на веб-основі?

Я бачив цю публікацію, але вона не дає альтернативних варіантів: чи можна зробити полігон регіону подорожі за допомогою API Google Maps?

Мені було особливо цікаво дізнатися, чи хтось (або може) використовувати OpenStreetMap для аналізу часу на драйві?

Також, чи є реалізація утиліт pgRouting, які можна використовувати для генерації полігонів? http://pgrouting.postlbs.org/


Зацікавлені подивитися відповідь на це. Наскільки я стурбований, ESRI лідирує над серверними продуктами з відкритим кодом, головним чином тому, що це відкриває геопроцесори в простої для обслуговування / споживання моделі.
Саймон

Будь-яке оновлення з цього питання? Мені дуже цікаво возитися з творцем політехніки DT з відкритим кодом у сценаріях карт.
Фурлонг

Я точно не можу дати відповіді, оскільки мені довелося поставити свою роботу над цим проектом на паузу. Оскільки я не "хлопець", я, певно, не збираюся йти цим маршрутом, хоча, здається, це дуже життєздатне рішення. Однак зараз я схиляюся до спроби використовувати pgRouting, в якому нібито вбудовані функції Alpha Shapes.
RyanDalton

Відповіді:


52

GRASS v.net.iso дасть вам такий результат:

введіть тут опис зображення

Можливо, ви не хочете запускати алгоритм опуклого корпусу на цьому виході. Уявіть сині дороги: опуклий корпус навколо них містив би багато частин, недоступних за час, представлений "блакитними".

Натомість ви можете заглянути в альфа-форми (пов'язане питання: Що таке визначення, алгоритми та практичні рішення для увігнутих корпусів? )

ескіз форми альфа

Ви можете створити ізохрони часу приводу за допомогою pgRouting та QGIS ( як описано тут ). Я не використовував OSM в цьому випадку, але, звичайно, ви можете створити свою маршрутизовану мережу на базі OSM (див. Інструмент osm2pgrouting ).

введіть тут опис зображення

( повна роздільна здатність )

Для чистого рішення PostGIS можна використовувати функцію альфа-форми pgRouting . Ось порівняння альфа-форм, реалізованих у pgRouting, та підходу, який я представив у попередньому оновлення:

введіть тут опис зображення

Кольорові області представляють результати функції альфа-форми, чорні лінії - результати описаного раніше інтерполяційного підходу. Ділянки водозбору менш деталізовані, використовуючи альфа-форми pgRouting. Також, схоже, немає способу змінити значення альфа для створення більш детальних уявлень.


2
+1 на альфа-формі! Щодня дізнайтеся щось нове! Я знав, що опуклий корпус не був саме рішенням, але про них не знав!
Даррен Коуп

1
Дуже дякую за те, що розмістили опис цього у своєму блозі. Я безумовно планую поглянути на це найближчим часом і побачити, чи зможу це повторити зі своїми даними. Це виглядає фантастично, хоча!
РайанДалтон

10

GRASS 'v.net.iso можна використовувати для створення' мережі 'диска, який ви можете передати команді' опуклий корпус ', щоб отримати багатокутник. Можливо, не ідеально, але працювало б!


1
Ха-ха - просто побий мене!
om_henners

+1 для v.net.iso, але не впевнений у частині опуклої частини корпусу - дивіться мою відповідь
знизу

9

Ну, потенційно ви могли б використовувати v.net.iso від GRASS GIS. Однак він не створює багатокутників (AFAIK), але розбиває рядки за класами витрат від джерела.

Що стосується обчислення часу приводу з OSM, ви можете імпортувати дані в GRASS за допомогою v.in.osm і використовувати v.net.iso для розрахунку зон витрат. Якщо ви хотіли часу подорожі, і у вас немає потенційних обмежень швидкості на дорозі, ви можете обчислити обмеження швидкості на основі певної функції класу доріг.


7

Ви можете використовувати GraphHopper для цього завдання, який також підтримує різні режими, такі як ходьба або їзда на велосипеді та використовує OpenStreetMap за замовчуванням. Вам знадобиться кодування Java, яке досліджує дорожню мережу з початкової точки, аналогічно тому, як працюють алгоритми Dijkstra, але тоді ви можете отримати щось подібне навіть у режимі реального часу (<0,5s):

введіть тут опис зображення

Код збирає точки, які потрібно перетворити на багатокутник, наприклад, інструменти JTS . Швидкість багато в чому залежить від цього останнього кроку. Без цього було б можливо менше 0,5 с. Навіть на великих відстанях.

Інший спосіб був би з OpenTripPlanner .



5

Ви можете перевірити відкритий JavaScript API Route360 ° , який працює як з Leaflet, так і з картами Google. Він повертає полігони часу подорожі для таких режимів подорожі: прогулянка, велосипед, машина, транзит.

Полігони часу в дорозі - Нью-Йорк

Це безкоштовно і з відкритим кодом, і покриття досить добре. На веб-сайті ви можете знайти безліч різних навчальних посібників, як ним користуватися.


1
Сторона клієнта є відкритим кодом, але сторона сервера не IMO.
Каруссел

2

Хоча безпосередньо і не відповів на ваше запитання, варто поглянути на API API .

Mapnific надає динамічні карти часу подорожі громадським транспортом для багатьох міст США та деяких країн світу. Ви можете використовувати API API, щоб збільшити додаток Google Maps з накладенням часу в громадському транспорті.

Погляньте на Лондон тут . alt текст


mapvable є відкритим кодом?
Karussell

2

Я також натрапив на розширення мережі gvSIG , але документація щодо конфігурації, яку я знайшла до цього часу, є досить поганою. Я покладаю на це великі надії, мені просто потрібно розібратися в деталях для розрахунку вартості.

Я використовував дані TIGER американського перепису для дорожньої мережі і фактично генерував кілька полігонів, але просто не міг отримати одиниці витрат, щоб вони справді мали сенс. Якщо хтось успішно реалізував цей інструмент, я хотів би почути його.

Я також знайшов Quantum Navigator для QGIS, але останніх оновлень я не знайшов.


2

Результат із підходом до увігнутих корпусів чудовий, і я набрався багато натхнення з наведених зображень. Але я помітив, що результати можуть включати деякі ділянки, недоступні дорогою (наприклад, річка, наприклад). Без сумніву, це не є проблемою з точки зору пошуку відповідних особливостей (населення центроїдів, кількість будинків) на відстані чи часу від походження. Але він також працює лише на будь-якому кінці кожного посилання. Знову ж таки, це не проблема у переважній більшості випадків (оскільки найдовші дорожні зв’язки мають контроль доступу - нормально не можна з’їжджати з них доти, доки не дійдеш до наступного перехрестя / перехрестя).

Однак для цього я працював над іншим підходом, заснованим на ПОСИЛАННЯХ, повернутих PgRouting / (або необробленим алгоритмом "Dijkstra"), упорядкованим часом з вузла початку. Він відносно простий і класифікує посилання за часовим діапазоном, а також розбиває посилання, що перетинають часові межі. Тоді зв'язки з такою ж категоризацією (наприклад, 0-2 хв., 2-4 хв.) Буферуються на 250 метрів.


1

На цьогорічному WhereCampPDX кілька представників OpenStreetMap заявили, що використання даних OSM для маршрутизації досить поширене в Європі. Однак у США це рідше, оскільки карта, як правило, недостатньо хороша. Ви можете перевірити послугу маршрутизації на базі ОСМ за адресою:

http://openrouteservice.org/


1
І жодна маршрутизація - це не те саме, що час диска, але це пов'язано.
jvangeld

1
Це свого роду маршрутизація, але "один до всіх" обмежена часом або відстані
Каруссел

1
Ця послуга добре працює для мене. Я не отримав шансу перевірити точність, проте це дозволяє мені знайти, наприклад, радіус 1 години навколо певної області. Дуже добре, якщо вам доведеться переїхати в невідому область для роботи тощо
Роман

1
Openrouteservices.org має можливість експорту наших даних до geoJSON. Після цього ми можемо перетворити його та показати нашу ізохронну карту, тобто в Google Earth, Google Maps тощо ... mkrgeo-blog.com/…
Маріуш Крукар

Дивовижно. Openrouteservice виглядає так, що зараз працює в штаті зараз.
jvangeld
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.