Patrząc na buforowanie za pomocą fizycznej bariery za pomocą ArcGIS na komputery? , przyszło mi do głowy, że nie jestem pewien, jak można by użyć narzędzi geoprzetwarzania w ArcGIS do programowego podzielenia wielokąta linią.
Ręcznie użyłbyś narzędzia Wytnij wielokąty lub Podziel wieloboki na pasku narzędzi Topologia , ale w jaki sposób możesz wykonać to samo zadanie za pomocą narzędzia do tworzenia modeli lub narzędzi do tworzenia skryptów w Pythonie?
Od razu myślę o wszystkich narzędziach do analizy, takich jak Unia, Tożsamość itp., Ale wszystkie są narzędziami Wielokąt-Wielokąt, a NIE narzędziami Linia Wielokąt. Nawet narzędzie Podziel to Wielokąt-Wielokąt.
Jakieś pomysły?
arcpy
arcgis-10.0
RyanKDalton
źródło
źródło
aPolygon.Split (aPolyLine)
:-).Odpowiedzi:
Korzystając z ET Geowizard, możesz uzyskać dostęp do kodu dla narzędzia Podziel wieloboki za pomocą polilinii:
Oto link do skryptu .
Możesz również użyć ArcObjects, aby to zrobić:
Wytnij fragment wielokąta
Możesz także użyć opisanej tutaj metody buforowania z jednej strony .
źródło
Po tym fakcie stworzyłem własne narzędzie ModelBuilder. Zapomniałem o tym pytaniu i zamieściłem moje rozwiązanie na inne podobne pytanie . Dla kompletności jest to odpowiedź na odpowiedź:
źródło
Jeśli chcesz wyjść poza ArcGIS, skorzystaj z geom.splitpolysbylines .
Osobiście nigdy nie korzystałem z niego w programie, ale myślę, że możesz uzyskać dostęp do tej linii komunikacyjnej za pomocą Pythona, więcej informacji znajdziesz w pomocy.
źródło
jeśli nie masz żadnych problemów z wysoką dokładnością, buforujesz linię z minimalną odległością np. (0,002, myślę, że powinna być lepsza niż dokładność twojej klasy obiektów), a następnie zastosuj narzędzie do wymazywania wielokąta przez buforowaną linię.
źródło
Zaktualizowano kod łuku w celu dzielenia wielokątów w kierunku poziomym lub pionowym przy użyciu wartości procentowych
źródło