Użyj eliminacji (wymagana licencja ArcInfo)
Eliminuje wielokąty, łącząc je z sąsiadującymi wielokątami, które mają największy obszar lub najdłuższą wspólną granicę. Eliminacja jest często używana do usuwania małych wielokątów taśmy, które są wynikiem operacji nakładania, takich jak Przecięcie lub Połączenie.
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000005p000000.htm
Użytkownicy ArcGIS 10 Uwaga: w Opcjach tego narzędzia dostępna jest NOWA funkcja.
Można teraz zachować oryginalny POLYGON lub POLILINIĘ za pomocą opcji> ex_features (Opcjonalnie) Wejściowa polilinia lub klasa obiektów wielokątów lub warstwa, która określa granice wielokątów lub ich części, których nie należy eliminować.
Aby to zrobić ręcznie w QGIS, przejdź do
Settings|Project Properties...
NaGeneral
zakładce u dołu znajduje sięSnapping options...
Sprawdź warstwę, którą chcesz przyciągnąć, ustaw trybto vertex
i ustaw tolerancję na pewną wartość mniejszą niż najkrótsza odległość między dwoma posiadanymi punktami. Jeśli nie masz pewności, ustaw jednostkipixels
i tolerancję na coś takiego jak 5, aby jeśli były jakieś dziwaczne szczegóły, możesz powiększyć w prawo i upewnić się, że nie przyciągniesz do niewłaściwego wierzchołka.Następnie edytuj warstwę wektorową, wybierz narzędzie węzła i przenieś błędne punkty do ich odpowiedników.
Robienie tego automatycznie jest nieco trudniejsze. AFAIK QGIS nie ma wtyczki do automatyzacji, i chociaż PostGIS jest zbudowany na GEOS, który ma funkcje przyciągania, nie jest narażony na PostGIS. Możliwe jest napisanie zapytania, aby sprawdzić każdy punkt wielokąta pod kątem sąsiadów w odległości przyciągania, ale obecnie jest to poza moim dowcipem, aby rozwinąć.
GRASS ma v.clean.snap, do którego można uzyskać dostęp za pośrednictwem QGIS, ale istnieje dodatkowy etap tworzenia zestawu danych GRASS.
źródło
Jeśli znasz QGIS: w bagażniku QGIS 1.9 (może być zainstalowany jako qgis.dev za pomocą instalatora OSGEO, patrz strona główna qgis) jest nowa funkcja w menu wektorowym o nazwie „Eliminuj wielokąty taśmy”, która dokładnie robi to, co chcieć. Możesz wybrać problematyczne wielokąty i połączyć je z sąsiednimi wielokątami na podstawie wspólnej propozycji granicy lub obszaru. Wypróbuj to!
źródło
Jeśli jesteś użytkownikiem QGIS, zyskujesz pełną moc GRASS, ponieważ jest to w pełni topologiczny GIS. Wewnątrz QGIS aktywuj wtyczkę GRASS, utwórz lokalizację / zestaw map, w którym chcesz zaimportować dane.
Otwórz zestaw map i zaimportuj brudną warstwę za pomocą v.in.ogr: graj z dwoma zaawansowanymi parametrami: „próg przyciągania do granic” i „minimalny rozmiar importowanego obszaru”.
Możesz także użyć opcji, które zapewnia moduł v.clean.
źródło
ArcGIS ma reguły topologiczne , które pomogą ci zidentyfikować i poprawić luki w danych, takie jak to, do którego się odnosisz. Aby utworzyć reguły topologii, potrzebujesz licencji ArcEditor lub ArcInfo i przechowujesz swoją klasę elementów w zbiorze danych elementów w osobistej lub plikowej geobazie.
Najprawdopodobniej zechcesz wdrożyć zasadę „ nie wolno mieć luk ”. Po utworzeniu bazy reguł ze wszystkimi regułami, które Twoim zdaniem są konieczne, warto zweryfikować topologię, która zidentyfikuje wszystkie błędy w danych.
Następnie, korzystając z Inspektora błędów i narzędzia Napraw błędy topologii , możesz samodzielnie lub zbiorczo wybrać błędy, które chcesz naprawić, i sposób, w jaki chcesz je naprawić (tj. - utworzyć nowe wielokąty w celu wypełnienia pustych przestrzeni lub połączyć je z większymi wielokątami w pobliżu) .
źródło
W przyborniku QGIS 2.12 (Lyon) dostępna jest funkcja „Eliminuj wielokąty taśmy”. Jestem pewien, że jest to również we wcześniejszej wersji.
źródło
Cóż, korzystałem z funkcji PostGIS (używam bezpośrednio w moim QGIS), która wykonuje rekurencyjne przyciąganie w celu rozwiązania tego problemu. Wyniki są dość dobre, po prostu wymagają dobrego połączenia wartości tolerancji, aby uzyskać najlepsze wyniki. Jeśli chcesz spróbować, sprawdź to (w moim przypadku wszystkie geometrie są wielokrotne, stąd st_multi w moim wykonaniu):
źródło
Nie jest to idealne rozwiązanie, ale w większości przypadków jedna z tych dwóch rzeczy działa dla mnie:
W QGIS zapisz warstwę w formacie GEOJSON. Ale przed zapisaniem w oknie dialogowym „zapisz warstwę jako” ustaw dokładność współrzędnych na 3 (domyślnie 15). Spowoduje to zjednoczenie wierzchołków, które są bardzo blisko siebie.
Przejdź do Mapshaper , prześlij plik i kliknij „upraszczaj”. W lewym górnym rogu poda liczbę znalezionych przecięć linii i daje możliwość ich naprawy. Uważam, że ta poprawka działa mniej więcej w połowie czasu.
źródło
Nie korzystałem z niego, ale ET Geowizards , który wprowadza wiele narzędzi do przetwarzania ArcEditor i ArcInfo do licencji poziomu ArcView (znanej również jako ArcGIS Standard), ma Kreatora eliminacji, który „Eliminuje niechciane wielokąty (slivers) poprzez scalenie ich w sąsiednie wielokąty lub usuwanie ich ” . Zestaw narzędzi kreatora przywróci ci 250 USD ( cennik ).
źródło
Napotkałem ten sam problem, który poprzez eksplorację narzędzi dość łatwo rozwiązałem, chociaż nie znam logiki. ! [W narzędziach przejdź do skrzynki narzędziowej Zarządzanie danymi, przejdź do Klasy cech i uruchom skrypt Integruj, klikając dwukrotnie] [1]
w oknie Skryptu wybierz klasę, w której występuje problem, aw tolerancji XY dodaj dolinę, mierząc odległość za pomocą narzędzia pomiaru w wielu punktach i uzyskaj średnią wartość doliny, wstaw tę wartość do środowiska tolerancji i zastosuj problem. rozwiązuję. nie teraz jak, ale rozwiązany z około 90% dokładnością. ! [wprowadź opis zdjęcia tutaj] [2]
Wypróbowałem wszystkie inne metody opisane w powyższych odpowiedziach, ale uzyskanie automatycznych poprawek dla przerw między sąsiadującymi wielokątami było trudne i kłopotliwe.
źródło