Mam mapę składającą się z wielu wielokątów, a kilkaset tysięcy punktów bardzo małych wielokątów na jego obrębie.
Potrzebuję większych wielokątów, ale nie punktów małych wielokątów. Jak wybrać i usunąć wszystkie punkty małe wielokąty, zachowując większe wielokąty? (Oczywiście nie chcę tego robić ręcznie - jest na to kilka punktów za dużo!)
Jestem całkowicie nowy w QGIS i obszernie googlowałem bez powodzenia. Prawdopodobnie dlatego, że nie jestem pewien, jakiej poprawnej terminologii należy używać w wyszukiwarce Google!
Pliki, których używam to .dbf, .prj, .qpj, .shp i .shx. Po prostu przeciągam plik .shp do QGIS, a mapa pojawia się jako jedna warstwa. Zasadniczo mapa Wielkiej Brytanii podzielona na regiony (które chcę) i ujęta w punkty (które nie chcą).
Tak to wygląda z bliska. Rozpuściłem się, żeby zobaczyć, czy wejdą do otaczającej warstwy, bez powodzenia:
Odpowiedzi:
Wygląda na to, że pracujesz z danymi kodu pośredniczącego Ordnance Survey , który jest zestawem danych obszarów kodów pocztowych w Wielkiej Brytanii i Irlandii Północnej.
„Punkty”, o których mówisz, to małe kwadratowe wielokąty reprezentujące tak zwane „pionowe ulice”: stosy więcej niż jednego kodu pocztowego, których nie można przedstawić za pomocą „konwencjonalnych” wielokątów (więcej szczegółów w komentarzu Andy'ego Harfoota ). Możesz zastanowić się dwa razy nad usunięciem tych wielokątów, jeśli potrzebujesz analizowanych kodów pocztowych, których dotyczy problem.
To powiedziawszy, oto jak możesz usunąć te wielokąty:
Zaznacz wszystkie pionowe wielokąty uliczne, klikając „Wybierz obiekty za pomocą wyrażenia” i wprowadzając
"POSTCODE" LIKE 'V%'
. Spowoduje to wybranie wszystkich obiektów, które zaczynają się od kodu pocztowegoV
, czyli pionowych ulic.Samo usunięcie funkcji nie pomoże, ponieważ wielokąty pozostawiają dziury w tyle, jak już zauważyłeś. Zamiast tego możesz połączyć pionowe ulice z sąsiednim dużym wielokątem, używając „Wektor / Narzędzia geoprzetwarzania / Wyeliminuj wielokąty taśmy”, zapisując wynik w nowym pliku.
Może zostać wyświetlony komunikat ostrzegawczy, że niektórych funkcji nie można rozwiązać, wraz z listą identyfikatorów funkcji. Jeśli chcesz również pozbyć się tych funkcji, wybierz pionowe ulice w nowej warstwie, używając wyrażenia z wcześniej, a następnie wykonaj jedną z następujących czynności:
Jeśli chcesz automatycznego rozwiązania, możesz rozpuścić pionowe ulice razem ze wszystkimi sąsiadującymi wielokątami. Zapisz zaznaczenie na nowej warstwie za pomocą „Warstwy / Zapisz zaznaczenie jako plik wektorowy”, a następnie użyj „Wektor / Narzędzia badawcze / Wybierz według lokalizacji”, aby wybrać elementy na scalonej warstwie, które przecinają się z obrażającymi pionowymi ulicami, tworząc nowy wybór . Następnie rozpuść ten wybór za pomocą „Vector / Geoprocessing Tools / Dissolve”, wybierając
--- Dissolve all ---
w „Dissolve field”. Zauważ, że takie podejście może prowadzić do niepożądanego rozpuszczenia „właściwych” wielokątów, jeśli obrażająca się pionowa ulica znajduje się na granicy dwóch innych wielokątów, lub jeśli występują obrażające pionowe ulice w obrębie dwóch sąsiadujących wielokątów.Jeśli chcesz uniknąć rozpuszczania innych wielokątów, możesz ręcznie wybrać pionowe ulice i jeden sąsiadujący wielokąt, uważając, aby nie zaznaczyć dwóch sąsiednich wielokątów, a następnie rozpuścić je jak wyżej.
źródło
Spróbuj odwrócić swoją metodologię. Zamiast próbować wybierać i usuwać tysiące punktów, czy próbowałeś wybrać wielokąty i utworzyć nową warstwę z tego wyboru? Nie byłoby to zbyt żmudne, gdybyś miał metodę ręcznego usuwania wszystkich punktów, po prostu wybierz obiekty wielokąta i albo utwórz warstwę, albo wyeksportuj je. Jeśli te punkty są małymi wielokątami, jak skomentowali inni, nadal możesz wybrać tylko wielokąty, które chcesz zachować i wyeksportować.
źródło