Korzystam z ArcGIS Desktop 10.0.
Mam sposób na usunięcie dziur w pączku, czyli przekształcenie wielokąta w linię, a następnie utworzenie wielokąta z linii, a na koniec scalenie ich wszystkich. Wadą tej strategii jest to, że usuwa inne dziury i puste obszary, które w rzeczywistości są puste i powinny być puste. Zobacz poniższy obraz:
Odpowiedzi:
Chciałbym spróbować Union narzędzia z NO_GAPS:
Następnie możesz wybrać funkcje z pustymi atrybutami poniżej wielkości progowej i obliczyć ich atrybuty, aby były takie same jak oryginalny wielokąt - lub skopiować / wkleić je w oknie Atrybutu edytora.
Obiekty z pustymi atrybutami powyżej wielkości progowej powinny zostać usunięte.
Stamtąd narzędzie Dissolve powinno zakończyć zadanie.
źródło
Rozwiązanie PolyGeo to takie, które sam zatrudniłem i działa dobrze (+1). Inną alternatywą jest buforowanie twoich wielokątów małą ilością, a następnie buforowanie wyniku o tę samą ilość (powiedzmy + 1m, a następnie -1m). Działa to również dobrze, ale wiąże się z niewielkim ryzykiem przypadkowego połączenia wielokątów sąsiadujących o tę samą wartość co bufor. Może również zwiększyć liczbę wierzchołków (co może, ale nie musi stanowić problemu).
Możesz także napisać skrypt dla solidnego rozwiązania, iterując po każdym wielokącie, tworząc tymczasowe wielokąty na podstawie pierścieni wewnętrznych i testując je pod kątem ich obszarów. Jeśli znajdują się poniżej progu, usuwasz wewnętrzny pierścień z geometrii i aktualizujesz swój rząd. To rozwiązanie jest więcej pracy niż rozwiązanie PolyGeo lub mój hack buforowy powyżej, ale prawdopodobnie jest to „czystsze” podejście.
źródło
Możesz użyć narzędzia „Wyeliminuj część wielokąta” (Narzędzia zarządzania danymi -> Uogólnienie) w ArcToolbox. Możesz określić minimalną powierzchnię / procent otworu do usunięcia.
źródło
Oto inny sposób na usunięcie jezior z wielokątów (np. Warstwa mapy kodów pocztowych z Navteq). Jest to również przydatne do czyszczenia warstw mapy terytorium, które zostały wygenerowane przez rozpuszczenie warstwy mapy kodu pocztowego przez kod terytorium.
Zauważ, że nie rozwiąże to problemu rzek wyciętych w obrysie wielokąta, ale poprawi oryginalną warstwę mapy poprzez usunięcie wewnętrznych otworów pączka.
źródło
Jeśli wielokąty w klasie obiektów zawierają inne wielokąty w tej samej klasie obiektów (np. Lesotho w Południowej Afryce) i jeśli musisz wyeliminować ręczną edycję na korzyść ModelBuilder itp., Użycie opcji „Eliminate Polygon Part” jest najszybszym rozwiązaniem. Ustawienia narzędzi:
- „Warunek (opcjonalnie)” = OBSZAR - „Obszar (opcjonalnie)” = bardzo duża liczba (powiedzmy 1e + 100) - „Wyeliminuj tylko zawarte części (opcjonalnie)” = [zaznaczone]
To da RPA z wypełnionym obszarem Lesotho, niezbędnym dla przepływów pracy, takich jak wyprowadzanie wierzchołków do użycia w poligonach w Tableau.
źródło
Ponieważ nie zostało to wspomniane do tej pory i wydaje się być właściwym narzędziem do tego, co próbujesz osiągnąć: agreguj wielokąty
Ustaw minimum_hole_size na minimalny rozmiar wieloboku, który chcesz zachować. Mniejsze zostaną wyeliminowane.
Opcjonalna wartość minimum_area w tym samym narzędziu robi to samo dla części wielokąta, które nie są otworami.
źródło