Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Ten samouczek ma na celu omówienie sposobu obliczania odległości i namiaru w usłudze LuckyTemplates oraz efektywnego używania ich do analizy geoprzestrzennej .

W sieci można znaleźć wiele wyliczeń odległości. W tej demonstracji użyję uproszczonego przykładu rozwiązania, które musiałem zbudować dla jednego z moich projektów sieci łańcucha dostaw.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Pokażę również obliczenie odległości w linii prostej od magazynu dostawy do punktów serwisowych.

Tutaj mam fragmentator do wybierania odległości za pomocą miary DAX . Pozwala to na dynamiczną analizę klientów, przepływów, wagi, przychodów i dowolnej innej wartości na wybranym dystansie.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Podstawową miarą tego samouczka jest obliczanie odległości po ortodromie, znane również jako wzór Haversine'a . Jeśli opanujesz tę technikę, możesz poradzić sobie z dowolnym wymaganym obliczeniem odległości i namiaru.  

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Chociaż wolę wykonywać większość obliczeń w dodatku Power Query, wymagane jest użycie miary języka DAX, gdy zachodzi potrzeba dynamicznej analizy danych na podstawie wybranej odległości.

Jeśli jest to możliwe, preferowaną opcją może być rzeczywista odległość. Jednak w wielu przypadkach nie będzie to potrzebne, ponieważ odległość w linii prostej będzie wystarczająca. 

Google lub Bing API może służyć do dodawania odległości w Power Query zarówno dla odległości rzeczywistej, jak i odległości w linii prostej. Dobrą praktyką jest posiadanie większej liczby narzędzi w zestawie narzędzi geoprzestrzennych. Jednak stosowanie interfejsu API do usługi LuckyTemplates nie zostanie omówione w tym samouczku. 

Spis treści

Zrozumienie scenariusza

Zostałem poproszony o pomoc w przydzieleniu najbliższych firmowych paczkomatów do adresów domowych inżynierów serwisu.

Inżynierowie serwisowi pracowali w predefiniowanych obszarach roboczych, które mogły zmieniać się w czasie i rozpoczynali tę pracę z domu.

W nocy nastąpiło uzupełnienie pilnych części zamiennych do paczkomatów. Następnego ranka inżynier zbierał części zamienne z paczkomatu w drodze do swojego obszaru roboczego. 

Zwykle używam oprogramowania GIS (Geographic Information System) do przeprowadzania tego rodzaju analiz. Ale teraz spróbuję to zrobić za pomocą usługi LuckyTemplates, aby uzyskać model alokacji dynamicznej. Użyłem również zarówno odległości w linii prostej, jak i obliczeń namiaru. 

GIS kąt namiaru jest używany do nawigacji lub wyznaczania kierunku. W tym przykładzie dodałem łożysko przekonwertowane na kierunek ( Orientacja ), ponieważ sama odległość nie oferuje pełnego rozwiązania. 

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Najbliższy paczkomat może znajdować się w kierunku przeciwnym do obszaru roboczego. Chciałem więc również wyświetlić kierunek.

Pozwala to na ograniczenie wyboru przydziału szafek w oparciu o odpowiednie nagłówki geograficzne z obszarem roboczym. 

Na przykład obszar roboczy znajduje się na północ od jego domu. Tak więc preferowana lokalizacja paczkomatu powinna znajdować się w tym samym kierunku. 

Analiza zestawu danych odległości i namiaru

W tym uproszczonym przykładzie zbiór danych obejmuje adresy w Holandii oraz lokalizacje bezpłatnych paczkomatów.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Zawiera kolumny dla szerokości i długości geograficznej (do iz ) , magazynu , nazwy , wartości części i popytu .

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Do tabeli początkowej przylegają kolumny obliczeniowe i obliczenia odległości w programie Excel. Najpierw obliczyłem radiany.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Następnie stworzyłem rzeczywiste obliczenia odległości zarówno dla mil, jak i kilometrów, używając radianów i wzoru Haversine'a

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Obliczanie odległości i namiaru: tworzenie danych demonstracyjnych

Obliczenia dla łożyska początkowo dają liczbę dziesiętną w stopniach. Muszę więc przerobić to na coś bardziej praktycznego.

Stworzyłem kolumnę tabeli ze stopniami od 1-360. Dodałem również kolumnę na kierunki zgodnie z kompasem.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Ponadto dodałem kolumnę SORT do sortowania kierunków zgodnie z ruchem wskazówek zegara w LuckyTemplates.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Następnie załadowałem zestaw danych sourceNL i tabelę Orientation w Power Query.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Rzućmy okiem na tabelę sourceNL .

Dodawanie kolumn

Najpierw dodałem kolumnę Index . Za każdym razem, gdy wykonuję przekształcenia w edytorze, dodaję kolumnę indeksu w celach informacyjnych lub sortowania.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Następnie zaokrągliłem szerokość i długość geograficzną do 4 cyfr , co jest ważne przy większych zbiorach danych. W ten sposób zwróci dokładność 11 metrów , co wciąż jest wystarczające.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Na potrzeby tego przykładu dodałem każdy krok w osobnej kolumnie obliczeniowej, aby pokazać mapę. Obliczyłem radiany wartości szerokości i długości geograficznej, tak jak zrobiłem to w Excelu.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Następnie zastosowałem wzór Haversine'a , aby obliczyć odległości zarówno w milach, jak i kilometrach.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Łożysko I Orientacja

W przypadku łożyska obliczenie to kolejna formuła, którą wziąłem z sieci. Po prostu zmodyfikowałem go nieco, aby pasował do moich celów w tym scenariuszu

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Początkowo to obliczenie jest w radianach. To zupełnie bezużyteczne. Więc muszę to przekonwertować.

To jest krok wstępny łożyska . Ma to na celu przekształcenie radianów w następny krok moich obliczeń.  

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

W następnym kroku zmieniłem liczby ujemne i poprawiłem je, stosując to obliczenie.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Następnie zaokrągliłem Łożysko, aby uzyskać liczbę całkowitą.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Usunąłem kolumny Bearing (rad) , Bearing pre i Bearing . Następnie zmieniłem nazwę kolumny Naar boven afronden na Bearing Roundup .

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Mogę teraz scalić kolumnę Zaokrąglenie łożyska w tej tabeli z kolumną BEARING z tabeli Orientacja .

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Robiąc to, byłbym w stanie uzyskać kierunek.

Teraz mam kolumny namiaru ( Bearing Roundup ) i kierunku ( Orientation_Direction ), których użyję w następnym modelu.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Oto wynik w dodatku Power Query.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Skrypt R do obliczania odległości i namiaru

W tym przypadku użyję rozwiązania ze skryptem R. To jest zestaw danych z obliczonymi odległościami w milach i kilometrach.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Używam tego skryptu R , który jest znacznie krótszy i czystszy niż formuły.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Po uruchomieniu skryptu R mam teraz 3 tabele.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Oto dane wyjściowe. też zaokrągliłem.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Jak widać, wyniki obliczeń skryptu R i obliczeń Excela są podobne. 

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

Dodawanie wizualizacji mapy

Na koniec dodam wizualizację do wyniku końcowego.

Aby to zrobić, powtórzyłem kroki w raporcie LuckyTemplates . Załadowałem tabelę z 3 lokalizacjami. Załadowałem również tabelę Orientation i zestaw danych ( selectionNL ) z kolumną Sort . Następnie połączyłem kolumny dla Orientation .

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates

To kończy ostateczny model.

Obliczanie odległości i namiaru: Analiza geoprzestrzenna usługi LuckyTemplates


Analiza geoprzestrzenna — nowy kurs na temat LuckyTemplates
Wizualizacje danych LuckyTemplates — mapy dynamiczne w etykietkach narzędzi
Wizualizacja mapy kształtów usługi LuckyTemplates do analizy przestrzennej

Wniosek

W tym raporcie zdecydowałem się pokazać kierunek widziany przez klienta. Możesz to odwrócić lub pokazać oba w swoim raporcie, w zależności od preferencji. Wszystko, czego potrzeba , to zamienić zi do szerokości i długości geograficznej w obliczeniach.

Mamy nadzieję, że ten samouczek przyczynił się do lepszego zrozumienia ogólnych obliczeń odległości i namiaru.

Sprawdź poniższe łącza, aby uzyskać więcej przykładów i powiązanych treści.

Dzięki!

Paweł

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.