Tak, ale w pewnym sensie. ArcGis nie ma już topologii węzła-linii, która pozwala użytkownikowi stwierdzić, ile łuków (linii) jest połączonych na ich końcach (węzłach).
Sprawdzanie to jedna rzecz, ale może zamiast tego naprawić? Jeśli otworzysz klasę obiektów w ArcMap, a następnie użyjesz linii płaskich (podaj tolerancję), a linie zostaną przyciągnięte i podzielone na przecięciu - oszczędza to dużo pracy. Jeśli nie chcesz dzielić linii, rozważ narzędzie Zintegruj, ale uważaj, aby zastosować bardzo małą tolerancję, spowoduje to przyciągnięcie końców do siebie, ale może sprawić, że linie również będą przyciągać. Przed użyciem zintegruj zachowaj kopię zapasową, ponieważ może zniszczyć twoje dane!
Teraz, aby znaleźć rozłączone końce, użyj Punktów Wierzchołków do Punktów, aby zdobyć punkty końcowe, a następnie Zbieraj Wydarzenia, które dadzą ci klasę obiektów z liczbą obecnych punktów końcowych, na tym etapie podejrzane jest każde zdarzenie 1, więc będziesz musiał rozdzielić te out.
Aby dowiedzieć się, czy należy go połączyć, jest kolejnym zadaniem, użyj opcji Generuj w pobliżu tabeli (ponownie z odpowiednią tolerancją) i opcji closest = ALL, używając zdarzeń o liczbie 1 w stosunku do pierwotnych wierszy, a następnie za pomocą statystyk podsumowujących możesz znaleźć dla każdego punktu liczba rekordów wykorzystująca IN_FID jako pole obserwacji i NEAR_FID jako pole statystyki z typem statystyki „COUNT”.
Aby łatwiej wyodrębnić z bliskiej tabeli rekordy o odległości większej niż 0 za pomocą Select Table . Każde zdarzenie znajdzie linię, która go wygenerowała, ale odległość będzie wynosić 0, jeśli zostanie prawidłowo dołączona do innej linii (w wierzchołku), odległość będzie również wynosić 0, więc teraz każde zdarzenie, które ma rekord pozostały w bliskiej tabeli, ma wartość być może rozłączne, ale będą musiały być przeglądane ręcznie.
Innym podejściem jest użycie topologii MAP. Poderwałem ten fragment kodu VBA, który identyfikowałby wiszące krawędzie. Jeśli widzisz wiszące krawędzie w sieci, a nie oczekiwane końce sieci, oznacza to, że musi nastąpić rozłączenie.
Kod polega na tym, że masz zainstalowany VBA, jesteś w trybie edycji i dodałeś warstwę polilinii do topologii mapy.
źródło
To jest stary post, ale myślę, że najprostszym rozwiązaniem jest:
Wynik będzie miał pole „Policz” dla każdej linii w warstwie. jeśli liczba jest większa niż 1, linia nie jest „połączona” z resztą linii.
Koncepcyjnie: krok 2 tworzy tutaj punkty w wierzchołkach z jedną połączoną krawędzią (jedna linia „wchodzi”, zero „wychodzi”). Ponieważ każda linia w sieci „połączonej” będzie miała co najwyżej 1 taki wierzchołek, każda linia z więcej niż 1 nie jest częścią sieci i dlatego nie jest „połączona”.
źródło
Oto metoda, którą wymyśliłem, z pomocą niektórych przyjaciół, przy użyciu Model Builder i Gephi. Krok 1 ArcModel tworzenie tabeli łączy / krawędzi (dodawanie węzłów w każdym wierszu nakłada się w razie potrzeby) Krok 2 Importowanie Gephi łączy / krawędzi, a następnie dodawanie identyfikatorów komponentów Krok 3 ArcModel dodaje identyfikatory komponentów z powrotem do oryginalnej linii
Krok 1: Wszystkie funkcje wejściowe dzielą je na skrzyżowaniach, aby upewnić się, że węzeł sieci jest obecny i tworzy tabelę do zaimportowania do Gephi. Oto kroki: Proces: Funkcja do linii (może przyjmować wiele danych wejściowych) Proces: Wiele części do pojedynczego elementu Proces: Napraw geometrię Proces: Dodaj początkowe końcowe współrzędne (Dodaj atrybuty geometrii) Proces: Dodaj pole „Źródło” Proces: Dodaj pole „Cel” Proces: Oblicz „Źródło” (jako startX i startY) Proces: Oblicz „Cel” (jako koniec X i koniec Y) Proces: Usuń pola (wyczyść dodatkowe pola, aby uniknąć pomyłek) Proces: Tabela GDB do CSV
Krok 2 Proces Gephi (bezpłatne pobieranie) -importuj dane wyjściowe CSV z polami nazwanych węzłów Źródło i Cel jako Łącza -Run Oblicz komponenty jako przekierowane (w ramach narzędzi statystycznych) -Eksportuj CSV z Laboratorium danych dla węzłów (podaj identyfikator węzła i identyfikator komponentu)
Krok 3: Pobiera dane wyjściowe Gephi i dodaje atrybut komponentu / sieci do oryginalnych linii. Proces: Tabela do tabeli (pochłanianie danych wyjściowych Gephi do Geobazy w celu utworzenia unikalnych identyfikatorów obiektów). Proces: Połącz pole (wartości węzła źródłowego połączone z danymi wyjściowymi Gephi w celu wypełnienia numeru komponentu do linii) Symbolizuj według składnika
Oczyszczanie po tym punkcie będzie prawdopodobnie ręcznym procesem sprawdzania, gdzie rozłączenia występują wzdłuż linii i czy rozłączenie jest prawidłowym oddzieleniem w świecie rzeczywistym, czy tylko wadą danych.
źródło