Об’єднати сусідні паралельні лінії та додати рахунок у атрибут QGIS?


9

У мене шар, що містить декілька ліній, що представляють пролітають доріжки літаків. Моя мета - створити карти для аналізу потоку руху в певних повітряних просторах.

Я хотів би об'єднати всі паралельні або близькі паралельні лінії відрізки, які знаходяться на певній відстані один від одного (скажімо, 1 морська миля).

Нові, об'єднані рядки повинні містити атрибут, що містить кількість вихідних рядків, які були об'єднані. Наприклад, якщо 5 паралельних рядків об'єднані в один, новий об'єднаний рядок повинен мати атрибут count 5, який би дозволив мені відповідно стилізувати його.

Розглянемо наступний схематичний приклад:

Вхід:

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

Три окремі лінії, дві з яких мають спільний паралельний відрізок.

Бажаний вихід:

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

Загальну частину зеленої та оранжевої ліній об’єднали в одну лінію (червону). Нова червона лінія матиме атрибут count 2.

Примітка. У цьому прикладі червона лінія буде середнім значенням двох початкових сегментів рядка. Решта сегментів зеленої та помаранчевої ліній не повинні з'єднуватися саме з новою червоною лінією. Іншими словами, топологія не повинна бути неушкодженою, оскільки результат буде використовуватися лише для візуального зображення.

В основному я намагаюся створити щось подібне:

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

(джерело)

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

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

Відповіді:


1

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

Переконайтеся, що ви створили новий стовпець для своїх ліній, назвіть це "польоти" та використовуйте значення 1 для всіх. Я використав назву "Графа", яка не найкраща.

Потім виконайте буферну операцію з потрібною близькістю, вам доведеться грати з тією відстані, яку ви вважаєте придатною для вашого аналізу: (мій QGIS - іспанською, але я впевнений, що ви можете це зрозуміти)

Буфер

Потім у вас буферні лінії, які, швидше за все, торкаються один одного, як ковбаси. Ваш останній крок - виконати просторове з'єднання під векторним меню управління даними. Використовуйте параметри, що перетинаються, таким чином:

приєднатися

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

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

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