Znajdowanie i scalanie zduplikowanych punktów w ArcGIS Desktop?

15

Mam dwa punktowe kształty: czerwony i niebieski. Każdy punktowy plik kształtu ma wartość az, która reprezentuje promień (tzn. Reprezentowany jako bufory w przykładzie). Duplikat jest zdefiniowany jako punkt, który leży w odległości Z innego punktu, który może wynosić od 2 do 10 m. W tym przykładzie jest dziesięć par zduplikowanych punktów - siedem par zachodzi na siebie idealnie, podczas gdy trzy pary zachodzą na siebie, mieszcząc się w wartości Z innego punktu.

Chciałbym zachować tylko jeden z każdego duplikatu w obrębie Z i scalić dwa pliki kształtu w ArcGIS Desktop.

Jak znaleźć i scalić zduplikowane punkty?

wprowadź opis zdjęcia tutaj

Aaron
źródło
1
Mam rozwiązanie, ale najpierw, w jaki sposób wybierasz, który punkt zachować?
nagytech
Ponieważ oba punkty można uznać za prawidłowe same w sobie, choć nie razem, losowy wybór dwóch byłoby idealnym rozwiązaniem.
Aaron
1
Czy średnia z dwóch punktów byłaby do przyjęcia?
nagytech
@Geoist: Tak, średnia może działać.
Aaron
Jeśli masz dwa niebieskie [lub czerwone] punkty w ich odległościach, czy chcesz dwa punkty na wyjściu? A może więcej niż dwa punkty [dowolnego koloru]? Co jeśli A nakłada się na siebie B nakłada się na siebie C nakłada się na D, ale A nie zachodzi na D? Wyprowadzić jeden punkt, czy dwa [jeden z A i B, a drugi z C&D]?
Spacedman

Odpowiedzi:

11

Zamierzałem napisać moje rozwiązanie przy założeniu, że masz tylko dwie warstwy, ale zdałem sobie sprawę, że rozwiązanie jednowarstwowe będzie zarówno łatwiejsze, jak i bardziej elastyczne. Przeczytaj poniższe punkty i daj mi znać, jeśli potrzebujesz wyjaśnień w jakichkolwiek punktach.

1. Połącz dane w jedną klasę / plik kształtu

Po prostu uruchom narzędzie Merge na każdej istniejącej klasie / pliku kształtu, aż będziesz mieć tylko jedno narzędzie do pracy.

2. Oblicz geometrię Z.

Jeśli geometria jest włączona Z, musisz obliczyć wartość Z w tabeli atrybutów, aby zastosować ją do polecenia bufora.

Uwaga: w późniejszym etapie konieczne będzie odwołanie do tego procesu.

2.1 Dodaj pole

wprowadź opis zdjęcia tutaj

2.2. Ustaw typ pola

wprowadź opis zdjęcia tutaj

2.3 Oblicz geometrię

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

3. Geoprocessing

3.1 Buforuj swoje punkty za pomocą pola Z_Value jako odniesienia. Pamiętaj, aby sprawdzić odpowiednią funkcję rozpuszczania.

wprowadź opis zdjęcia tutaj

3.2 Uruchom narzędzie Multipart to Singlepart, aby rozbić dane.

3.3 Do danych rozstrzelonych dodaj dwa nowe pola o nazwach „Centroid_X” i „Centroid_Y”.

3.4 Użyj procesu zdefiniowanego w kroku 2, aby wyodrębnić współrzędne X i Y do właśnie utworzonych kolumn Centroid.

3.5 Wyeksportuj tabelę atrybutów do pliku DBF. (Pamiętaj, aby ustawić typ pliku na DBF.)

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

3.6 Zaimportuj plik DBF do mapy i dodaj dane X, Y do ramki mapy.

wprowadź opis zdjęcia tutaj

4. Gotowe

wprowadź opis zdjęcia tutaj

nagytech
źródło
8

Narzędzia do integracji (zarządzanie danymi) i usuwania danych identycznych (zarządzanie danymi) w ArcGIS rozwiązują ten problem. Po prostu dodaj punktowy plik kształtu i wybierz Tolerancję XY. Zakłada się, że wszystkie punkty w odległości tolerancji XY są takie same. Wynikowy punkt to średnia odległość między dwoma oryginalnymi punktami.

Funkcja Zintegruj służy do zachowania integralności wspólnych granic elementów, dzięki czemu elementy pokrywają się, jeśli mieszczą się w określonej tolerancji x, y. Funkcje mieszczące się w określonej tolerancji x, y są uważane za identyczne lub zbieżne.

Aaron
źródło
Jak przypisałbyś tolerancję na punkt, biorąc pod uwagę, że promień jest zmienny?
nagytech
W tym przypadku tolerancja to maksymalna odległość promienia 10 m. Na obrazku widać, że duplikaty mają ten sam promień i tylko dwa punkty znajdują się w promieniu siebie.
Aaron
Być może powinieneś ponownie sformułować swoje pytanie…
nagytech
@Geoist Dziękujemy za zainteresowanie. O czym dokładnie nie wiesz? Z przyjemnością zaktualizuję post z Twoimi sugestiami.
Aaron
2

Czy wypróbowałeś narzędzie „Blisko” w pobliżu promienia jako 10m. Użyj CZERWONEGO jako elementu wejściowego, a Niebieskiego jako blisko. Daje to identyfikator Niebieskiego, który spada z buforem punktu CZERWONEGO wynoszącym 10m. Na podstawie tego identyfikatora (w wyniku działania narzędzia near) możesz usunąć te w kolorze niebieskim, a następnie użyć narzędzia Scal, aby połączyć CZERWONY i pozostały niebieski.

vadivelan
źródło
2
@vadivelan To nie pomoże, ponieważ promień nie jest statyczny.
nagytech
Tak Geoist, spóźniłem się, że promień jest zmienny. Być może może spróbować narysować bufor na podstawie wartości promienia (istnieje możliwość wybrania pola, które ma wartość promienia, ale pole powinno być wypełnione wartością z) .. wtedy narzędzie przecięcia / łączenia przestrzennego pomoże ... niestety początkowo prowadzi to do wielu prac ręcznych.
vadivelan