Як обчислити сфери впливу в QGIS?


10

Я намагаюся створити багатокутний шар, на якому відображаються багатокутники, які відповідають найближчому магазину.

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

У мене є місце розташування магазину та шар вулиць OSM зі стовпцем максимальної швидкості. Отриманий багатокутний шар повинен базуватися на шарі вулиць ОСМ, а не просто лінійних областях.

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

Це відео програмного забезпечення Maptitude - прекрасний приклад того, що я намагаюся досягти (швидкий перехід до 1:55 відео). Як варіант, див. Приклад нижче:

Області мапітунтів, найближчі до лікарні

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

Як я можу повторити це за допомогою QGIS?

Відповіді:


8

алгоритм трави v.net.alloc може створювати підмережі - ви можете викликати його з панелі інструментів Processing (перевірено у QGIS 2.16)

Вам знадобиться точковий шар (для споруд) та шар ліній із витратами (або час / довжина). Він створить новий шар рядка з catдоданим полем , яке буде ідентифікатором найближчого об'єкта.

Ось приклад, заснований на відстані пішки до найближчого паба. Кожен сегмент рядка кольоровий за catдопомогою випадкових кольорів: -

Приклад v.net.alloc

Зауважте, що іноді дорожнім мережам двох сусідніх пабів надаються дуже схожі кольори; якщо ви позначите їх, ви побачите, що це справді спрацювало.

Щодо отримання полігонів без проміжків, як ви показуєте вище, я здивований. Якщо ви "вилучите вузли" за результатами і застосуєте "Опуклий корпус" (згрупування за котом), з'являться прогалини і перекриття.

EDIT

ви дійсно можете отримати бажаний результат. Як ви запропонували у своєму коментарі, ви можете зробити наступне.

  • запустіть Витягнути вузли на виході v.net.alloc
  • запустіть багатокутники Вороного на шарі витяжних вузлів
  • запустіть на цьому буфер з фіксованою відстані , щоб переконатися, що багатокутники перекриваються (наприклад, буфер на 1 метр)
  • run Dissolve на захищеному шарі, використовуючи поле 'cat'

Ось результат ... це не ідеально, іноді ви побачите частини дорожньої мережі, що в'їжджають у сусідні багатокутники.

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

У новій 2,16 GUI для розпуску є «пастка». Я встановив поле, але воно ніби все розчинило. Вам потрібно пам’ятати, щоб зняти прапорець «Розчинити все», інакше параметр поля ігнорується.


Це корисно, і я, безумовно, можу використати результат у своїй заявці. Я залишаю це відкритим тимчасово, щоб побачити, чи є спосіб закінчити багатокутники. Чи можливо, що інструмент «Полігони Вороні» якось допоможе?
ge0m3try

a Voronoi на ваших спорудах дасть лише наближення, виходячи з евклідової відстані, "коли ворона летить" , тому вона ефективно ігнорує вашу дорожню мережу.
Стівен Кей

Мені цікаво, якби я витягнув вузли за результатом v.net.alloc, ворони, а потім розпустити багатокутники для голосування на основі унікального ідентифікатора об'єкта. Розмір набору даних про дороги дуже великий, тому я не зможу швидко перевірити це, але, можливо, тим часом з’являться деякі думки, чому це може не вийти.
ge0m3try

насправді ваша думка правильна - просто спробував.
Стівен Кей

2
ВАЖЛИВА ПРИМІТКА. У цьому робочому процесі є кілька неприємностей, які я зрозумів, як подолати. Інструмент буфера фіксованої відстані не потрібен. Інструмент SAGA Dissolveздається набагато швидшим, ніж еквівалент QGIS. І також здається швидше розділити Voronoiшар на catполе, а потім dissolveкожну область окремо. Mergeїх назад разом. Потім запустіть GRASS v.cleanта виберіть інструмент rmduplдля видалення повторюваних вузлів. Це важливо, інакше інші процеси, такі як відсікання, просторове з'єднання, не будуть працювати належним чином на об'єднаному розчиненому вороному шарі.
ge0m3try
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.