Видалення маленьких багатокутників "сіль та перець" із шару QGIS?


11

У мене є карта , складену з декількох полігонів, з кілька сотень тисяч точок дуже маленьких полігонів на всередині нього.

Мені потрібні більші багатокутники, але не точки малих багатокутників. Як вибрати та видалити всі точки малих багатокутників, зберігаючи більші багатокутники? (Я, очевидно, не хочу цього робити вручну - для цього є кілька занадто багато моментів!)

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

Файли, якими я користуюся, є .dbf, .prj, .qpj, .shp та .shx. Я просто перетягую .shp файл на QGIS, і карта відображається як один шар. В основному карта Великобританії розділена на регіони (які я хочу) і накрита пунктами (які не хочу).

перегляд карти подання таблиці

Це те, що схоже наближене. Я розпустив, щоб побачити, чи не вдасться вони перейти до навколишнього шару:

крупним планом вид багатокутників


4
Схоже, ви використовуєте shapefiles (.shp). Кожен файл форми може містити лише одну з точок, ліній або багатокутників. Отож, один (або більше) ваших форм-файлів буде містити регіони Великобританії як багатокутники, а 1 (або більше) ваших форм-файлів буде містити лише точки. Якщо ви ввімкніть / вимкніть файли форм у змісті (прапорці поруч із ними), ви побачите, які дані містяться у кожному файлі. Потім можна просто видалити файли, які містять точки.
Dan_h_b

1
Хто створив дані, або звідки ви їх отримали? Схоже, (на основі малюнка) у вас багатокутники з отворами.
HeikkiVesanto

1
Я погоджуюся з Везанто, що якщо це лише один шар, це може бути багатокутний шар з отворами в них або дуже маленькими багатокутниками. У цьому випадку ви могли б об'єднати їх з більшими багатокутниками. Наприклад, виберіть багатокутники, які знаходяться у великому, а потім зливаються. Не могли б ви збільшити масштаб і надати знімок екрана крупним планом "точок" на карті?
Кріс П

1
Будь-який шанс ви могли долучити файл shp?
Dan_h_b

1
Гаразд, тому в здогадку я скажу, що у вас є багаточастинні багатокутники (виходячи з того, що у вашій таблиці атрибутів всього 17 рядків). Якщо ви підірвете ваші дані на багатокутники з однією частиною, ви отримаєте 100 полігонів. (Вектор> Інструменти геометрії> Багаточастинні до одночастин). Тоді ви зможете зробити вибір на основі площі (тобто вибрати дійсно невеликі ділянки) та видалити їх, щоб позбутися від усіх цих крихітних багатокутників, або аналогічним чином ви зможете розчинити їх у той великий багатокутник, який вони впадуть. всередині.
Dan_h_b

Відповіді:


22

Схоже, ви працюєте з даними Ordnance Survey Code-Point , що є набором даних поштових індексів у Великобританії та Північній Ірландії.

"Точки", на які ви посилаєтесь, - це маленькі квадратні багатокутники, які представляють так звані "вертикальні вулиці": стеки з більш ніж одного поштового індексу, який неможливо представити, використовуючи "звичайні" багатокутники (детальніше див. Коментар Енді Харфута ). Ви можете подумати двічі про видалення цих полігонів, якщо вам потрібні поштові індекси для аналізу.

Це означає, що ви можете видалити ці багатокутники:

  1. Виберіть усі вертикальні багатокутники вулиць, натиснувши "Вибрати функції за допомогою виразу" та ввівши "POSTCODE" LIKE 'V%'. Це дозволить вибрати всі функції, з яких починається поштовий індекс V, - це вертикальні вулиці.

  2. Просто видалення функцій не допоможе, оскільки багатокутники залишать за собою отвори, як ви вже помітили. Натомість ви можете об'єднати вертикальні вулиці із сусіднім великим багатокутником, використовуючи "Вектор / Інструменти геопроцесори / Усуньте багатополігони", зберігаючи результат у новому файлі.

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

    1. Якщо ви хочете отримати автоматичне рішення, ви можете розпустити вертикальні вулиці у всі інші сусідні багатокутники. Збережіть виділення до нового шару, використовуючи "Шар / Зберегти виділення як векторний файл", а потім за допомогою "Вектор / Інструменти дослідження / Виберіть за місцеположенням" виберіть функції об'єднаного шару, що перетинаються з вертикальними вулицями, що порушують, створюючи новий вибір . Потім розірвіть цей вибір, використовуючи "Вектор / Інструменти геопроцесори / Розчинити", вибравши --- Dissolve all ---в полі "Розчинити". Зауважте, що такий підхід може призвести до небажаного розчинення "належних" багатокутників, якщо порушена вертикальна вулиця знаходиться на межі двох інших полігонів, або якщо в двох сусідніх полігонах є вертикальні вулиці, що порушують.

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


3
Прекрасне ознайомлення з джерелом, ризиками, варіантами та обробкою ОР, яку спочатку вимагали!
RyanKDalton

1
Незначна точка - вертикальні вулиці існують там, де є вертикальний стек з більш ніж одного поштового індексу, що перешкоджає їх представленню як "звичайний" багатокутник у наборі даних. Це зазвичай трапляється в житлових вежах або офісних будівлях. Список надається як супутник до основного набору полігонів кодової точки, який розширює вертикальний код вулиці (починаючи з V) на кілька поштових індексів, що складаються з нього.
Енді Гарфут

@AndyHarfoot: Ах, так, дякую за пояснення! Я відредагував свою відповідь
Джейк

Це геніально - дякую. Лише одне - я не можу знайти функції вибору за допомогою виразів чи векторів / інструментів для геообробки / усунення багатокутників. Я на 1.8.0 Лісабоні. Чи потрібно оновити?
Приглушений і заплутаний

2

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

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