[Power BI] Transformando Latitude e Longitude de Graus para Decimal




Olá amiguinhos que adoram mapas nos seus paineis tudo bem?

Hoje bate papo rapidão sobre uma dúvida de uma colega no nosso grupo do telegram, e se você não está nele pode ir agora tirar duvida com um grupo de quase 1700 pessoas e super ativo.

https://t.me/planilheiros

Bem, a dúvida dela era bem simples e já tinha visto outra vez alguém perguntando em outro grupo mas estava na correria e não pude ajudar, isso acontece infelizmente bastante. Ela tem dados de latitude e longitude em Grau e gostaria de passar isso para DECIMAL para poder utilizar nos visuais de Mapa do Power BI.

A dúvida é bem legal e precisa entender um pouco a lógica matemática de transformar Grau para Decimal e ela é bem simples.

Quando um dado em Grau, temos 3 informações:

- Grau
- Minutos
- Segundos.

Grau é o valor inteiro e ele por si só já me da o dado do meu inteiro do Decimal.

Minuto é isso mesmo Minuto, para eu chegar num valor decimal de minutos eu preciso dividir ele por 60.

Segundo segue a mesma lógica, vamos dividi-lo então por 3600.

Sendo assim basta criar uma função personalizada que nos diga exatamente isso, pegue graus, separe o inteiro (Grau)  Number.From(Text.BeforeDelimiter(Fonte, "º")), pegue a parte de minutos divida por 60 Number.From(Text.BetweenDelimiters(Fonte, "º", "'"))/60, pegue segundos divida por 3600 Number.From(Text.BetweenDelimiters(Fonte, "'", """"))/3600 e depois só somar esses carinhas todos.

E voilè temos nossa função personalizada para usar bonitão só copiar e colar no editor avançado em uma consulta nula.

(graus as text)=>
let
    Fonte = graus,
    Graus = Number.From(Text.BeforeDelimiter(Fonte, "º")),
    Minutos = Number.From(Text.BetweenDelimiters(Fonte, "º", "'"))/60,
    Segundos = Number.From(Text.BetweenDelimiters(Fonte, "'", """"))/3600,
    Final = Graus + Minutos + Segundos
in
    Final

E por hoje é só pessoal.

Grande abraço.

Comentários

  1. Muito massa . Gostei. Rafael, uma sugestão: quando puder, faz um vídeo de como inserir um arquivo kml no Power bi. Seria ótimo...

    ResponderExcluir
    Respostas
    1. Boa... eu tenho um material pra usar o KML, geojson e etc... to tratando isso pra poder disponibilizar...ta faltando tempo e coragem de voltar nesse negócio rs...

      Excluir
  2. Este comentário foi removido pelo autor.

    ResponderExcluir
  3. Uma dúvida, cálculos não é melhor realizar no dax?

    ResponderExcluir
    Respostas
    1. Sem duvida...a questão que para esse caso geralmente utiliza-se esse dado como eixo de visual então precisa criar uma nova coluna. Nesse caso a melhor abordagem é função personalizada no Power Query.

      Excluir
  4. Parabéns pelo artigo.. a tempo estava procurando esse tipo de trabalho

    ResponderExcluir

Postar um comentário