Esri dostarczył instrukcje, jak stworzyć radialną mapę przepływu, ale myślę, że zakrzywione linie będą wytwarzane tylko na dużą odległość, jak połowa globu.
Na krótkich dystansach (20 km) linia geodezyjna prawdopodobnie nadal będzie wyglądać dość prosto. Aby nadal używać tego procesu do mapowania przepływu promieniowego na krótkich odległościach, pomyślałem, że możemy edytować ustawienia układu odniesienia, aby ziemia była mniejsza, dlatego dostaniesz ładną zakrzywioną linię na niewielką odległość. Czy ktoś wie jak to zrobić?
Czy w ArcGIS Desktop 10.0 jest jeszcze inne narzędzie do tworzenia zakrzywionych linii? Mam 90 punktów, które muszę połączyć z maksymalnie 54 punktami, dobrze byłoby zautomatyzować to niż rysować linie ręcznie.
Odpowiedzi:
Oto ilustracja przepływu pracy, o którym wspomniałem w powyższym komentarzu i chociaż nie znam żadnej prostej rutyny w puszkach, aby to zrobić, załączyłem arkusz kalkulacyjny programu Excel, za pomocą którego można importować zestaw współrzędnych źródłowych i docelowych arkusz tworzy następnie współrzędne linii lub linii ( tutaj arkusz kalkulacyjny ). Ma skonfigurowane formuły, więc dość łatwo jest zaimportować nowe współrzędne OD i rozszerzyć formuły, aby wypełnić wyniki, ale ja przejdę logikę tego procesu bardziej jednoznacznie, a inni mogą doradzić, jak napisać skrypt w całości ArcMap (lub cokolwiek innego).
Krótko mówiąc, myślę, że jest to uzasadnione do wizualizacji danych OD głównie z tego samego powodu, dla którego popularne są wielkie linie okręgu, które zapewniają bardziej wizualne rozróżnienie między liniami. Podejście, które sugeruję, ma również jedną zaletę w stosunku do wielkich linii okręgu, ponieważ kierunek przepływu jest zakodowany w półokręgu. W tej innej odpowiedzi na stronie przedstawiam bardziej ogólny przegląd technik wizualizacji do mapowania przepływu, a wiele z tych samych technik można zastosować oprócz tworzenia takich łuków.
Tak więc, aby szczegółowo opisać, jak rysuje się linie, tak jak sugeruję, zasadniczo mam tylko 3 kroki dla tego procesu, 1) znajduję orientację przepływu, 2) znajduję punkt środkowy i odległość przepływu, 3) traktuję punkt środkowy jako środek okręgu, a następnie narysuj łuk (półkole od początku do miejsca docelowego). Dla jasności zaczynam od ustawionej pary współrzędnych rzutowania
(x1,y1)
i współrzędnych docelowych(x2,y2)
.Więc 1) znajdź orientację przepływu. Najpierw stosuje się wzór,
ATAN((y2 - y1)/(x2 - x1))
a następnie w zależności od kierunku przypisuje orientację w zależności od tego, czy kierunek jest wschodni czy zachodni. Przykładowy pseudokod poniżej (przypisuję punkty OD, które mają te same współrzędne, orientację równą zero). W tym przypadku zmiennaor_rad
ma być skrótem dla „orientacji w radianach” ipi
odnosi się do wartości pi.2) Znajdź punkt środkowy i odległość przepływu. Jest to bardzo proste, dla tylko jednego zestawu sparowanych współrzędnych środkowym punktem współrzędnych (x, y) będzie
(x1+x2/2,y1+y2/2)
. Zdefiniujmy więcmid_x = (x1 + x2)/2
imid_y = (y1 + y2)/2
na następną część. Odległość przy użyciu pythagoreum theorum jest po prostudistance = SQRT((x1 - x2)^2 + (y1 - y2)^2)
.3) Następnie, biorąc pod uwagę te informacje, narysuj dany okrąg na określonej liczbie stopni i promieniu (który jest połową odległości między dwoma punktami). Załóżmy na przykład, że zaczynamy od zestawu par współrzędnych OD w
(1,3):(3,2)
. Orientacja w stopniach będzie wynosić ~ 116 (w radianach ~ 2), środkowy punkt x, y będzie,(2,2.5)
a odległość między dwoma punktami wynosi około 2,2.Powiedzmy, że chcemy narysować półkole wokół 180 stopni. W pseduo-code (używając zmiennych, które już zdefiniowałem) iteracje będą wyglądały jak;
Wstawiono poniżej schemat oryginalnych współrzędnych, które określiłem powyżej. Zaczynając od zera, a kończąc na 180, upewnia się, że istota i punkty końcowe znajdują się w tych samych lokalizacjach. Dostosowanie pętli w celu uzyskania większej liczby kroków (bardziej szczegółowy łuk) lub mniejszej (mniej szczegółowy łuk) powinno być dość oczywiste.
Należy zauważyć, że inne wątki na stronie omawiają tworzenie linii z danych punktów (patrz znacznik tworzenia polilinii ). Mam przykład w załączonym arkuszu kalkulacyjnym xls i skorzystałem z narzędzia arcmap ET Geo- wizards do konwersji współrzędnych arkusza kalkulacyjnego na linie pliku kształtu. Łuki w przykładowych danych w dołączonym arkuszu kalkulacyjnym wyglądają następująco;
Jedną prostą, ale potencjalnie użyteczną aktualizacją tego obecnego zestawu byłoby zaktualizowanie formuł, aby umożliwić z góry określoną ekscentryczność w łuku, chociaż do tej pory nie byłem pewien, jak to zrobić. Czekam na sugestie i opinie od społeczności tutaj na mojej porady.
źródło