Quest-ce que le self en Python ? Exemples concrets
Qu'est-ce que le self en Python ? Exemples concrets
Ce didacticiel vise à expliquer comment calculer la distance et le relèvement dans LuckyTemplates et comment les utiliser efficacement pour l'analyse géospatiale .
Vous pouvez trouver de nombreux calculs de distance sur le Web. Pour cette démonstration, j'utiliserai un exemple simplifié d'une solution que j'avais besoin de créer pour l'un de mes projets de réseau de chaîne d'approvisionnement.
Je montrerai également le calcul de la distance en ligne droite entre un dépôt de livraison et des points de service.
Ici, j'ai un slicer pour sélectionner une distance à l'aide d'une mesure DAX . Cela permet une analyse dynamique des clients, des flux, du poids, des revenus et de toute autre valeur dans la distance sélectionnée.
Le calcul de la distance orthodromique, également connu sous le nom de formule Haversine , est la mesure principale de ce didacticiel. Si vous maîtrisez cette technique, vous pouvez vous attaquer à tous les calculs de distance et de relèvement requis.
Bien que je préfère effectuer la plupart des calculs dans Power Query, il est nécessaire d'utiliser une mesure DAX lorsque vous devez analyser les données de manière dynamique en fonction de la distance sélectionnable.
Si disponible, la distance réelle pourrait être l'option préférée. Cependant, vous n'en aurez pas besoin dans de nombreux cas car la distance en ligne droite sera suffisante.
L'API Google ou Bing peut être utilisée pour ajouter la distance dans Power Query pour la distance réelle et en ligne droite. C'est une bonne pratique d'avoir plus d'outils dans votre boîte à outils géospatiale. Cependant, l'application de l'API à LuckyTemplates ne sera pas abordée dans ce didacticiel.
Table des matières
Comprendre le scénario
On m'a demandé d'aider à l'attribution des casiers à colis d'entreprise à entreprise les plus proches aux adresses de domicile des ingénieurs de service.
Les ingénieurs de service travaillaient dans des zones de travail prédéfinies qui pouvaient changer au fil du temps et commençaient ce travail depuis chez eux.
Du jour au lendemain, le réapprovisionnement des pièces de rechange urgentes a eu lieu dans les casiers à colis. Le lendemain matin, l'ingénieur récupérait les pièces de rechange dans le casier à colis en se rendant sur son lieu de travail.
Normalement, j'utilise un logiciel SIG (Système d'Information Géographique) pour faire ce genre d'analyse. Mais maintenant, je vais essayer de le faire avec LuckyTemplates pour obtenir un modèle d'allocation dynamique. J'ai également utilisé à la fois la distance en ligne droite et les calculs de relèvement.
Dans les SIG , l'angle de relèvement est utilisé pour la navigation ou la direction. Dans cet exemple, j'ai ajouté le relèvement qui est converti en direction ( Orientation ) car la Distance elle-même n'offre pas la solution complète.
Le casier à colis le plus proche peut être positionné dans la direction opposée à la zone de travail. Donc, je voulais aussi afficher la direction.
Cela permet de restreindre la sélection de l'attribution des casiers en fonction des rubriques géographiques correspondantes à la zone de travail.
Par exemple, la zone de travail est au nord de sa maison. Ainsi, l'emplacement préféré du casier à colis doit être dans la même direction.
Analyse de l'ensemble de données de distance et de relèvement
Dans cet exemple simplifié, l'ensemble de données comprend des adresses aux Pays-Bas et les emplacements des casiers à colis gratuits.
Celui-ci contient des colonnes pour Latitude et Longitude (vers et depuis ) , Dépôt , Nom , Valeur des pièces et Demande .
À côté du tableau initial se trouvent les colonnes calculées et les calculs de distance dans Excel. J'ai d'abord calculé les radians.
Ensuite, j'ai créé les calculs de distance réels pour les miles et les kilomètres en utilisant les radians et la formule Haversine .
Calcul de la distance et du relèvement : création des données de démonstration
Les calculs pour le relèvement se traduisent initialement par un nombre décimal en degrés. Donc, je dois convertir cela en quelque chose de plus pratique.
J'ai créé une colonne de tableau avec les degrés de 1 à 360. J'ai également ajouté une colonne pour les directions selon la boussole.
De plus, j'ai ajouté une colonne SORT pour trier les directions dans le sens des aiguilles d'une montre dans LuckyTemplates.
Après cela, j'ai chargé le jeu de données sourceNL et la table d'orientation dans Power Query.
Jetons un coup d'œil à la table sourceNL .
Ajouter les colonnes
Tout d'abord, j'ai ajouté une colonne Index . Chaque fois que je fais des transformations dans l'éditeur, j'ajoute une colonne Index soit pour référence, soit pour le tri.
Ensuite, j'ai arrondi la latitude et la longitude à 4 chiffres , ce qui est important dans les grands ensembles de données. En faisant cela, il restituera une précision de 11 mètres ce qui est tout de même suffisant.
Pour cet exemple, j'ai ajouté chaque étape dans une colonne calculée distincte pour afficher la carte. J'ai calculé les radians des valeurs de latitude et de longitude, tout comme ce que j'ai fait dans Excel.
Ensuite, j'ai appliqué la formule Haversine pour calculer les distances en miles et en kilomètres.
Roulement et orientation
Pour le roulement, le calcul est une autre formule que j'ai prise sur le web. Je l'ai juste un peu modifié pour l'adapter à mes objectifs pour ce scénario .
Initialement, ce calcul est en radian. C'est complètement inutile. Donc, je dois le convertir.
Il s'agit de la pré-étape Roulement . C'est pour convertir les radians dans la prochaine étape de mon calcul.
Pour l'étape suivante, j'ai changé les nombres négatifs et les ai corrigés en appliquant ce calcul.
Après cela, j'ai arrondi le roulement pour obtenir un nombre entier.
J'ai supprimé les colonnes Bearing (rad) , Bearing pre et Bearing . Ensuite, j'ai renommé la colonne Naar boven afronden en Bearing Roundup .
Je peux maintenant fusionner la colonne Bearing Roundup de ce tableau avec la colonne BEARING de la table Orientation .
En faisant cela, je serais en mesure d'obtenir la direction.
Maintenant, j'ai les colonnes de roulement ( Bearing Roundup ) et de direction ( Orientation_Direction ) que je vais utiliser pour le prochain modèle.
Voici le résultat dans Power Query.
Script R pour le calcul de distance et de relèvement
Pour celui-ci, j'utiliserai une solution avec un script R . Il s'agit d'un ensemble de données avec les distances calculées en miles et en kilomètres.
J'exécute ce script R qui est beaucoup plus court et plus propre que les formules.
Après avoir exécuté le script R , j'ai maintenant 3 tables.
Voici la sortie. Je l'ai également arrondi.
Comme vous pouvez le voir, les résultats du calcul du script R et du calcul Excel sont similaires.
Ajout de visuels de carte
Enfin, je vais ajouter un affichage visuel au résultat final.
Pour ce faire, j'ai répété les étapes d'un rapport LuckyTemplates . J'ai chargé le tableau avec les 3 emplacements. J'ai également chargé la table d'orientation et le jeu de données ( selectionNL ) avec la colonne Sort . Ensuite, j'ai fusionné les colonnes pour l' Orientation .
Ceci complète le modèle final.
Analyse géospatiale - Nouveau cours sur
les visualisations de données LuckyTemplates LuckyTemplates - Cartes dynamiques dans les info-bulles
Visualisation de cartes de forme LuckyTemplates pour l'analyse spatiale
Conclusion
Dans ce reportage, j'ai choisi de montrer le sens vu par le client. Vous pouvez inverser cela ou afficher les deux dans votre rapport, selon vos préférences. Il suffit d'échanger la latitude et la longitude de départ et d'arrivée dans le calcul.
Espérons que ce didacticiel a contribué à une meilleure compréhension des calculs de distance et de relèvement en général.
Consultez les liens ci-dessous pour plus d'exemples et de contenu connexe.
Acclamations!
Paul
Qu'est-ce que le self en Python ? Exemples concrets
Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.
Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.
Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.
Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.
Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.
Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.
Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.
Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.
Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir