Próbuję wymyślić, jak utworzyć wielokąt, który łączy wszystkie punkty końcowe pliku kształtu zawierającego zestaw polilin z pythonscript w ArcGIS, mam problem z tym, ponieważ kolejność węzłów w wielokącie jest ważna. Chcę uzyskać szary wielokąt na obrazie z zielonych linii
10
Odpowiedzi:
KROKI:
Oblicz punkty środkowe sekcji:
Zbudowali swoje euklidesowe minimalne drzewo opinające, rozpuść je i oblicz bufor, odległość równa połowie najkrótszej sekcji:
Utwórz punkty końcowe przekroju i oblicz ich pikietaż (odległość wzdłuż linii) na granicy bufora (wersja buforowa zamkniętej polilinii):
Posortuj punkty końcowe w porządku rosnącym za pomocą pola pikowania. Punkty poniżej oznaczone ich FID:
Utwórz wielokąt z uporządkowanego zestawu punktów:
Scenariusz:
Wiem, że to rower, ale jest mój i podoba mi się
źródło
Zamieszczam tutaj to rozwiązanie dla QGIS, ponieważ jest to bezpłatne oprogramowanie i łatwe do wdrożenia. Rozważałem tylko właściwą „gałąź” warstwy wektorowej polilinii; jak widać na następnym obrazku (12 cech w tabeli atrybutów):
Kod (algorytm w jednowierszowym rozumieniu listy python) do działania w konsoli Pythona w QGIS to:
Po uruchomieniu kodu:
utworzono wieloboczną warstwę pamięci (z 11 cechami w tabeli atrybutów). Działa ładnie.
źródło
Możesz wybrać punkty końcowe, które będą uczestniczyć w wielokącie, utworzyć NIP tylko z tych punktów. Przekształć NIP w wielokąty, rozpuść wielokąty. Sztuką automatyzacji tego procesu jest decydowanie, które punkty mają przyczynić się do każdego wielokąta. Jeśli masz linie z prawidłowymi kierunkami, a wszystkie te linie mają wspólny atrybut, możesz napisać zapytanie do wyeksportowania, powiedz, że wierzchołki końcowe używają wierzchołków linii do punktów, a następnie wybierz według atrybutu te punkty, które mają wspólną wartość atrybutu.
Lepiej byłoby wyodrębnić / wybrać punkty, odczytać wartości x, y za pomocą kursora, użyć wartości x, y do napisania nowego wielokąta. Nie widzę załączonego zdjęcia w twoim poście, ale jeśli kolejność punktów ma znaczenie, to kiedy już masz wartości x, y zapisane na liście Pythona, posortuj je. http://resources.arcgis.com/EN/HELP/MAIN/10.1/index.html#//002z0000001v000000
źródło
Rozszerzając komentarz @iant, najbliższą geometrią do twojego migawki jest kształt alfa (kadłub alfa) punktów końcowych. Na szczęście wiele dobrze odebranych wątków zostało już odebranych na GIS SE. Na przykład:
Utwórz złożony wielokąt z warstwy punktowej, używając tylko punktów granicznych w ArcGIS
Co to jest definicja, algorytmy i praktyczne rozwiązania dla kadłuba wklęsłego?
Aby rozwiązać problem, najpierw użyj opcji Funkcja do punktu, aby wyodrębnić punkty końcowe. Następnie użyj narzędzia Python z tego łącza, aby obliczyć kadłub wklęsły.
źródło