Łączenie wielokątów dotykających narożników w jedną funkcję


12

Utworzyłem warstwę wielokąta z rastrów i dla każdego wielokąta mam tylko jeden identyfikator klasyfikacji (i obliczone akry). Chciałbym „rozpuścić” wszystkie dotykające się elementy na większe, indywidualne wielokąty. 3 obszary zaznaczone na czerwono (poniżej) zawierają zielone wielokąty / piksele, które dotykają tylko punktów kwadratów. Intuicyjnie (z perspektywy użytkownika końcowego) wszystkie zielone wielokąty w zakreślonym obszarze powinny być połączone i traktowane jak pojedynczy wielokąt, ponieważ nie ma „przerw”, w których cechy / komórki nie dotykają się.

Jaka byłaby najlepsza metoda osiągnięcia „połączenia” lub „rozwiązania” wszystkich tych funkcji za pomocą ArcGIS. Mam rozszerzenie ArcInfo i Spatial Analyst. Jeśli istnieje lepsza metodologia wykonywania tego w programie Spatial Analyst, mogę w ten sposób wstępnie przetworzyć wielokąty.

Raster na wielokąt


2
Nie jest jasne, jakie jest pytanie, ponieważ ani tekst, ani cyfra nie pomagają nam zrozumieć, co stanowi „wielokąt”. Niemniej jednak wygląda na to, że możesz szukać grupy regionalnej z opcją „OSIEM” dla sąsiadów.
whuber

Każdy zielony obiekt na obrazie jest wielokątem przekonwertowanym z komórki. Na przykład w górnym przykładzie znajduje się 7 wielokątów (od lewego górnego rogu) o wielkości .02, .02, .02, .52, .12, .02, .17 akrów. Miałem nadzieję, że uda mi się osiągnąć 1 większy wielokąt o wielkości 0,89 akra (suma 7 części). Każdy z zakreślonych obszarów byłby własnymi wielokątami o powierzchni akrów wielkości sumy.
RyanKDalton

2
RegionGroup robi dokładnie to, Ryan.
whuber

Odpowiedzi:


6

Mogę wymyślić kilka podejść, które mogą być warte wypróbowania w zależności od tego, jakie są twoje dane (spowoduje to niewielkie zmiany):

  1. Czy włączono opcję „uogólnienia wielokątów” podczas konwersji z rastra na poli?
  2. Możesz zmienić rozdzielczość rastra i zastosować konserwatywne ustawienie jednego z narzędzi, takich jak Boundary-Clean lub Nibble, przed konwersją na wielokąty (przez próbkowanie w górę rozdzielczości nie wywiera żadnego wpływu na oryginalne obszary, ale zmniejsza rozmiar zmiana danych końcowych - w zależności od danych możesz nie odczuwać problemu)
  3. Możesz buforować o niewielką ilość (tylko większą niż tolerancja klastra).

Jestem pewien, że istnieją inne podejścia, ale dziś wieczorem brakuje mi pary. Mam nadzieję, że te pomysły pomogą.


3

Wielokąty, które próbujesz scalić, muszą współdzielić więcej niż jeden wierzchołek. Nie można rozpuścić i wybuchnąć, ponieważ wielokąty, które mają tylko jeden wierzchołek, zostaną również oddzielone. Jeśli ręcznie scalisz grupy w kółko, staną się one multigeometryczne, ponieważ tak naprawdę nie przecinają się. @Sylvester zasugerował uogólnienie przy konwersji, a także inne metody. Możesz tego spróbować. Jedną z surowych metod jest buforowanie wszystkich cech wielokąta małą liczbą dodatnią, a następnie ponowne buforowanie tą samą małą liczbą ujemną, która połączy się z wielokątami, ale zaokrągli wewnętrzne rogi. Wprowadzi również wiele wierzchołków, co może nie być pożądane.


Rozumiem, że potrzebowałem więcej niż 1 wierzchołek do rozpuszczenia, dlatego zadaję to pytanie. Wypróbuję koncepcję „małego bufora”. To po prostu może działać.
RyanKDalton,

Gdy RegionGroup zostanie zastosowana z opcją „OSIEM”, współdzielenie jednego wierzchołka wystarczy, aby dwie komórki zostały uznane za część tego samego wielokąta.
whuber

0

Jeśli dobrze rozumiem, możesz po prostu użyć narzędzia rozpuszczania, aby zasadniczo przekształcić oddzielne zielone poliki w jeden wieloczęściowy wielokąt, a następnie dodać nowe pole powierzchni i ponownie obliczyć akry.

Mam nadzieję, że to pomoże Tylerowi


0

Miałem prawie dokładnie ten sam dylemat. Poniższe działało przynajmniej w przybliżeniu. Użyłem narzędzia Gładkie wielokąt do „zaokrąglenia” kwadratów pikseli, a następnie narzędzia agregującego. Po wygładzeniu wielokąty dotknęły więcej niż węzła, więc narzędzie agregujące mogło wykorzystać swoją magię.


Po wypróbowaniu kilku metod wygładzania albo dodają zbyt dużo obszaru, albo nie tworzą wystarczającej krawędzi, aby agregować w niektórych wielokątach. Więc wróciłem i użyłem metody zaproponowanej przez Jakuba powyżej w 2012 roku ... znacznie lepiej! Byłoby wspaniale, gdyby Esri zawarła w narzędziu agregującym opcję agregowania wielokątów dotykających węzła (punktu).
Lisa,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.