Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
Deze tutorial is bedoeld om te bespreken hoe afstand en peiling in LuckyTemplates kunnen worden berekend en hoe deze efficiënt kunnen worden gebruikt voor geospatiale analyse .
Op internet kun je veel afstandsberekeningen vinden. Voor deze demonstratie gebruik ik een vereenvoudigd voorbeeld van een oplossing die ik moest bouwen voor een van mijn supply chain-netwerkprojecten.
Ik laat ook de berekening zien van de afstand in rechte lijn van een afleverpunt naar servicelocaties.
Hier heb ik een snijmachine om een afstand te selecteren met behulp van een DAX-maat . Dit maakt dynamische analyse van de klanten, stromen, gewicht, omzet en elke andere waarde binnen de geselecteerde afstand mogelijk.
De berekening van de grootcirkelafstand, ook wel bekend als de Haversine- formule , is de kernmaat voor deze tutorial. Als u deze techniek beheerst, kunt u elke gewenste afstands- en peilingberekening aan.
Hoewel ik de meeste berekeningen het liefst doe in Power Query, is het vereist om een DAX-meting te gebruiken wanneer u de gegevens dynamisch moet analyseren op basis van de selecteerbare afstand.
Indien beschikbaar, kan de werkelijke afstand de voorkeursoptie zijn. In veel gevallen heb je dit echter niet nodig, omdat de afstand in een rechte lijn voldoende is.
Google of Bing API kan worden gebruikt om de afstand in Power Query toe te voegen voor zowel de werkelijke als de lineaire afstand. Het is een goede gewoonte om meer tools in uw georuimtelijke toolbox te hebben. Het toepassen van API op LuckyTemplates wordt in deze zelfstudie echter niet besproken.
Inhoudsopgave
Het scenario begrijpen
Ik werd gevraagd om te helpen met het toewijzen van de dichtstbijzijnde business-to-business pakketautomaten aan de huisadressen van servicemonteurs.
De servicemonteurs werkten in vooraf gedefinieerde werkgebieden die in de loop van de tijd konden veranderen en begonnen die taak vanuit huis.
'S Nachts vond de aanvulling van dringende reserveonderdelen plaats naar de pakjesautomaten. De volgende ochtend haalde de machinist de reserveonderdelen uit de pakjesautomaat op weg naar zijn werkgebied.
Normaal gebruik ik GIS- software (Geografisch Informatiesysteem) om dit soort analyses uit te voeren. Maar nu ga ik het proberen met LuckyTemplates om een dynamisch allocatiemodel te krijgen. Ik heb ook zowel de afstand in rechte lijn als peilingberekeningen gebruikt.
In GIS wordt peilingshoek gebruikt voor navigatie of richting. In dit voorbeeld heb ik de peiling toegevoegd die is omgezet in een richting ( Oriëntatie ) omdat de Afstand zelf niet de volledige oplossing biedt.
De dichtstbijzijnde pakjesautomaat kan in de tegenovergestelde richting van het werkgebied staan. Dus ik wilde ook de richting weergeven.
Hierdoor kan de selectie voor de toewijzing van lockers worden beperkt tot overeenkomstige geografische rubrieken met het werkgebied.
Het werkgebied is bijvoorbeeld ten noorden van zijn huis. De voorkeurslocatie van de pakjesautomaat moet dus in dezelfde richting liggen.
Analyse van de afstand en peiling dataset
In dit vereenvoudigde voorbeeld bevat de dataset adressen in Nederland en de vrije pakjesautomatenlocaties.
Dit bevat kolommen voor de lengte- en breedtegraad (van en naar ) , Depot , Naam , Onderdelenwaarde en Vraag .
Naast de begintabel staan de berekende kolommen en de afstandsberekeningen in Excel. Eerst heb ik de radialen berekend.
Vervolgens heb ik de werkelijke afstandsberekeningen gemaakt voor zowel mijlen als kilometers met behulp van de radialen en de Haversine- formule.
Berekening van afstand en peiling: de demogegevens maken
De berekeningen voor de peiling resulteren in eerste instantie in een decimaal getal in graden. Dus ik moet dit omzetten in iets praktischer.
Ik heb een tabelkolom gemaakt met de graden van 1-360. Ik heb ook een kolom toegevoegd voor de richtingen volgens het kompas.
Bovendien heb ik een SORT- kolom toegevoegd om de richtingen met de klok mee te sorteren in LuckyTemplates.
Daarna heb ik de sourceNL dataset en de Oriëntatietabel in Power Query geladen.
Laten we eens kijken naar de tabel sourceNL .
De kolommen toevoegen
Eerst heb ik een kolom Index toegevoegd . Telkens wanneer ik transformaties in de editor uitvoer, voeg ik een Index- kolom toe, hetzij ter referentie of om te sorteren.
Vervolgens heb ik de lengte- en breedtegraad afgerond op 4 cijfers , wat belangrijk is in grotere datasets. Door dit te doen, zal het een nauwkeurigheid van 11 meter retourneren , wat nog steeds genoeg is.
Omwille van dit voorbeeld heb ik elke stap in een aparte berekende kolom toegevoegd om de kaart weer te geven. Ik berekende de radialen van de breedte- en lengtegraadwaarden, net zoals ik deed in Excel.
Vervolgens heb ik de Haversine- formule toegepast om de afstanden zowel in mijlen als in kilometers te berekenen.
Peiling En Oriëntatie
Voor de peiling is de berekening een andere formule die ik van internet heb gehaald. Ik heb het gewoon een beetje aangepast om aan mijn doeleinden voor dit scenario te voldoen .
Aanvankelijk is deze berekening in radialen. Het is volkomen nutteloos. Dus ik moet het omzetten.
Dit is de Bearing pre-step . Dit is voor het omzetten van de radialen in de volgende stap van mijn berekening.
Voor de volgende stap heb ik de negatieve getallen gewijzigd en gecorrigeerd door deze berekening toe te passen.
Daarna heb ik de Bearing afgerond om een geheel getal te krijgen.
Ik heb de kolommen Bearing (rad) , Bearing pre en Bearing verwijderd . Daarna hernoemde ik de kolom Naar boven afronden naar Bearing Roundup .
Ik kan nu de kolom Bearing Roundup in deze tabel samenvoegen met de kolom BEARING uit de oriëntatietabel .
Door dit te doen, zou ik in staat zijn om de richting te verkrijgen.
Nu heb ik de peiling ( Bearing Roundup ) en de richting ( Orientation_Direction ) kolommen die ik zal gebruiken voor het volgende model.
Dit is het resultaat in Power Query.
R-script voor afstands- en peilingberekening
Voor deze gebruik ik een oplossing met een R-script . Dit is een dataset met de berekende afstanden in mijlen en kilometers.
Ik voer dit R-script uit dat veel korter en schoner is dan de formules.
Na het uitvoeren van het R-script heb ik nu 3 tabellen.
Hier is de uitvoer. Ik heb het ook afgerond.
Zoals u kunt zien, zijn de resultaten voor de R-scriptberekening en de Excel-berekening vergelijkbaar.
Kaartbeelden toevoegen
Ten slotte voeg ik een visuele weergave toe aan het eindresultaat.
Om dat te doen, herhaalde ik de stappen in een LuckyTemplates-rapport . Ik heb de tabel geladen met de 3 locaties. Ik heb ook de Oriëntatietabel en de dataset ( selectionNL ) geladen met de kolom Sorteren . Vervolgens heb ik kolommen samengevoegd voor de Oriëntatie .
Hiermee is het definitieve model voltooid.
Geospatiale analyse – Nieuwe cursus over LuckyTemplates
Datavisualisaties LuckyTemplates – Dynamische kaarten in knopinfo
LuckyTemplates Vormkaartvisualisatie voor ruimtelijke analyse
Conclusie
In dit rapport heb ik ervoor gekozen om de door de klant geziene richting weer te geven. U kunt dit omdraaien of beide weergeven in uw rapport, afhankelijk van uw voorkeuren. Het enige dat nodig is, is om de van en naar breedtegraad en lengtegraad in de berekening uit te wisselen.
Hopelijk heeft deze tutorial bijgedragen aan een beter begrip van de afstands- en peilingberekeningen in het algemeen.
Bekijk de onderstaande links voor meer voorbeelden en gerelateerde inhoud.
Proost!
Paulus
Wat is zelf in Python: voorbeelden uit de echte wereld
Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.
In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.
Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.
In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.
Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.
Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.
Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.
Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.
Wat is LuckyTemplates Gateway? Alles wat u moet weten