Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Este tutorial tem como objetivo discutir como calcular distância e rumo no LuckyTemplates e como usá-los de forma eficiente para análise geoespacial .

Você pode encontrar muitos cálculos de distância na web. Para esta demonstração, usarei um exemplo simplificado de uma solução que precisei criar para um de meus projetos de rede de cadeia de suprimentos.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Também mostrarei o cálculo da distância em linha reta de um depósito de entrega até os locais de atendimento.

Aqui, tenho um slicer para selecionar uma distância usando uma medida DAX . Isso permite a análise dinâmica dos clientes, fluxos, peso, receita e qualquer outro valor dentro da distância selecionada.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

O cálculo da distância do grande círculo, também conhecido como fórmula de Haversine , é a medida principal deste tutorial. Se você dominar esta técnica, poderá lidar com qualquer distância necessária e cálculo de orientação.  

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Embora eu prefira fazer a maioria dos cálculos no Power Query, é necessário usar uma medida DAX quando você precisa analisar os dados dinamicamente com base na distância selecionável.

Se disponível, a distância real pode ser a opção preferida. No entanto, você não precisará disso em muitos casos, pois a distância em linha reta será suficiente. 

A API do Google ou do Bing pode ser usada para adicionar a distância no Power Query para a distância real e em linha reta. É uma boa prática ter mais ferramentas em sua caixa de ferramentas geoespaciais. No entanto, a aplicação da API ao LuckyTemplates não será discutida neste tutorial. 

Índice

Compreendendo o Cenário

Pediram-me para ajudar com a alocação dos armários de encomendas business to business mais próximos aos endereços residenciais dos engenheiros de serviço.

Os engenheiros de serviço trabalhavam em áreas de trabalho predefinidas que podiam mudar com o tempo e começaram esse trabalho em casa.

Durante a noite, o reabastecimento de peças de reposição urgentes ocorreu nos armários de encomendas. Na manhã seguinte, o engenheiro recolheria as peças sobressalentes no armário de encomendas a caminho de sua área de trabalho. 

Normalmente, utilizo um software GIS (Sistema de Informação Geográfica) para fazer esse tipo de análise. Mas agora vou tentar fazer com o LuckyTemplates para obter um modelo de alocação dinâmica. Também usei a distância em linha reta e os cálculos de orientação. 

No  GIS , o ângulo de direção é usado para navegação ou direção. Neste exemplo, adicionei o rolamento que é convertido em uma direção ( Orientação ) porque a Distância em si não oferece a solução completa. 

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

O armário de encomendas mais próximo pode estar posicionado na direção oposta à área de trabalho. Então, eu queria mostrar a direção também.

Isso permite restringir a seleção para a atribuição de armários com base nas rubricas geográficas correspondentes à área de trabalho. 

Por exemplo, a área de trabalho fica ao norte de sua casa. Portanto, o local preferencial do armário de encomendas deve estar na mesma direção. 

Analisando o conjunto de dados de distância e direção

Neste exemplo simplificado, o conjunto de dados inclui endereços na Holanda e os locais de depósito de encomendas grátis.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Contém colunas para Latitude e Longitude (para e de ) , Depot , Name , Parts value e Demand .

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Adjacentes à tabela inicial estão as colunas calculadas e os cálculos de distância no Excel. Primeiro, calculei os radianos.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Em seguida, criei os cálculos de distância reais para milhas e quilômetros usando os radianos e a fórmula de Haversine

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Cálculo de distância e direção: criando os dados de demonstração

Os cálculos para o rolamento inicialmente resultam em um número decimal em graus. Então, eu preciso converter isso em algo mais prático.

Criei uma coluna de tabela com os graus de 1-360. Também adicionei uma coluna para as direções de acordo com a bússola.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Além disso, adicionei uma coluna SORT para classificar as direções no sentido horário no LuckyTemplates.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Depois disso, carreguei o conjunto de dados sourceNL e a tabela Orientation no Power Query.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Vamos dar uma olhada na tabela sourceNL .

Adicionando as Colunas

Primeiro, adicionei uma coluna Index . Sempre que faço transformações no editor, adiciono uma coluna de índice para referência ou para classificação.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Em seguida, arredondei a latitude e a longitude para 4 dígitos , o que é importante em conjuntos de dados maiores. Ao fazer isso, ele retornará uma precisão de 11 metros , o que ainda é suficiente.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Por causa deste exemplo, adicionei cada etapa em uma coluna calculada separada para mostrar o mapa. Calculei os radianos dos valores de latitude e longitude, assim como fiz no Excel.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Em seguida, apliquei a fórmula de Haversine para calcular as distâncias tanto em milhas quanto em quilômetros.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Rumo e Orientação

Para o rolamento, o cálculo é outra fórmula que tirei da web. Eu apenas ajustei um pouco para atender aos meus propósitos para este cenário

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Inicialmente, esse cálculo é em radianos. É completamente inútil. Então, eu preciso convertê-lo.

Esta é a pré-etapa Rolamento . Isso é para converter os radianos na próxima etapa do meu cálculo.  

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Para a próxima etapa, alterei os números negativos e os corrigi aplicando esse cálculo.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Depois disso, arredondei o rolamento para obter um número inteiro.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Excluí as colunas Bearing (rad) , Bearing pre e Bearing . Em seguida, renomeei a coluna Naar boven afronden como Bearing Roundup .

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Agora posso mesclar a coluna Bearing Roundup nesta tabela com a coluna BEARING da tabela Orientation .

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Ao fazer isso, eu seria capaz de obter a direção.

Agora, tenho as colunas de direção ( Bearing Roundup ) e direção ( Orientation_Direction ) que usarei para o próximo modelo.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Aqui está o resultado no Power Query.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Script R para Cálculo de Distância e Rumo

Para este, usarei uma solução com um script R . Este é um conjunto de dados com as distâncias calculadas em milhas e quilômetros.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Estou executando este script R que é muito mais curto e limpo do que as fórmulas.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Depois de executar o script R , agora tenho 3 tabelas.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Aqui está a saída. Eu também arredondei.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Como você pode ver, os resultados do cálculo do script R e do cálculo do Excel são semelhantes. 

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Adicionando Visuais de Mapa

Por fim, adicionarei uma exibição visual ao resultado final.

Para fazer isso, repeti as etapas em um relatório do LuckyTemplates . Eu carreguei a tabela com os 3 locais. Também carreguei a tabela Orientation e o conjunto de dados ( selectionNL ) com a coluna Sort . Em seguida, juntei colunas para Orientation .

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates

Isso completa o modelo final.

Cálculo de Distância e Rumo: Análise Geoespacial do LuckyTemplates


Análise geoespacial – Novo curso sobre
visualizações de dados LuckyTemplates LuckyTemplates – Mapas dinâmicos em dicas de ferramentas
Visualização de mapas de formas do LuckyTemplates para análise espacial

Conclusão

Neste relatório, optei por mostrar a direção vista pelo cliente. Você pode reverter isso ou mostrar ambos em seu relatório, dependendo de suas preferências. Basta trocar a latitude e longitude de e para o cálculo.

Esperançosamente, este tutorial contribuiu para uma melhor compreensão dos cálculos de distância e orientação em geral.

Confira os links abaixo para mais exemplos e conteúdo relacionado.

Saúde!

Paulo

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.