Como converter coordenadas geográficas em decimais no Excel

Confira nosso curso online de QGIS

Muitas vezes nos deparamos com coordenadas registradas no formato 28º 25′ 49”. Esse formato não é suportado por alguns softwares de geoprocessamento e para isso, devemos converte-las para o formato decimal.
Aprenda a realizar essa conversão utilizando uma simples planilha do Excel.

Coordenadas geográficas são utilizadas para definir a localização de um objeto na superfície terrestre. Para tanto, nosso planeta é divido horizontal e verticalmente em ângulos, que são chamados de latitude e longitude.

Em algumas situações, podemos organizar tais coordenadas em uma planilha. Mas se as coordenadas forem inseridas incorretamente, podem complicar bastante as coisas no futuro, especialmente se você precisar remover alguma informação da planilha e converte-la para utilizar em outro software, como o ArcGIS ou QGIS.

[Postagem originalmente publicada no blog Souzas’ Data – e Atualizada em 19/09/2017]

[Se você precisar converter seu shape para outro sistema de coordenadas, confira nossa postagem “Como converter coordenadas geográficas e decimais com diferentes referências?“]

Por exemplo, você tem uma planilha gigantesca com coordenadas geográficas de vários pontos, todas elas escritas como 28°40’39″S 49°22’11″W, e você precisa separar os graus, minutos e segundos para converte-los em graus decimais.

Tal conversão é necessária para importar as coordenadas para um software de SIG.

Neste tutorial, vamos aprender a como extrair pedaços de informação (i.e. graus, minuto, segundo) da célula da planilha e depois vamos transformar elas em graus decimais.

Você poderá utilizar tanto o Microsoft Excel quanto o LibreOffice Calc, pois as fórmulas funcionam para ambos. Caso você não tenha uma planilha, pode baixar ESSA AQUI e acompanhar nosso tutorial.

Quais funções utilizaremos?

Você deve ter notado que na nossa planilha de exemplo (clique aqui para baixá-la) há duas abas, uma somente com coordenadas e outra com as respostas deste tutorial.

Mesmo com a resposta, é importante que você conheça quais funções utilizamos, veja abaixo.

  • PROCURAR(a; b; c): Irá retornar a posição do carácter que você procura, onde “a” é o carácter que procuramos; “b” é a célula que contém nosso dado; e “c” é a posição que a contagem irá iniciar;
  • EXT.TEXTO(a; b; c): Irá extrair um texto/número do meio de uma célula, onde “a” é a célula que contém o texto/número; “b” é a posição inicial; e “c” é o número de carácteres a serem extraídos;
  • SEERRO(a;b): Função para definir o que vai acontecer se um erro ocorrer, onde “a” é o que acontecerá se não houver erro, e “b” é o que acontecerá se houver um erro;
  • DIREITA(a; b): Função para extrair carácteres começando pelo lado direito do texto, onde “a” é a célula que contém os dados; e “b” representa quantos carácteres serão extraídos;
  • SE(a; b; c): Função que checa se um determinada condição é verdadeira ou falsa, onde “a” é esta condição; “b” é o que acontece se ela for verdadeira; e “c” é o que acontece se ela for falsa;
  • CARACT(34): As aspas duplas têm uma função específica no Excel e para representá-la como texto, precisamos usar essa função.

Para inserir essas funções na sua planilha, basta inserir o sinal de igual (=) na célula, digitar a função e inserir parenteses com os argumentos da função.

Inserindo as Funções

Caso você tenha baixado nossa planilha, você irá perceber duas colunas, uma com latitudes e outra com longitudes na aba exercício; e se você estiver usando sua própria, é recomendável organizar os seus dados desta forma.

Primeiramente, iremos criar algumas colunas auxiliares, com os seguintes nomes “graus”, “minutos” e “segundos”. Vamos repetir esse procedimento, inserindo-as novamente.

Depois vamos inserir duas colunas representando em qual hemisfério a coordenada se encontra. O resultado final é apresentado na figura abaixo.

Exemplo da organização da planilha
Aparência da nossa planilha após as primeiras edições.

Agora vamos colocar as funções, sempre repetindo o procedimento (o primeiro para a latitude e o segundo para a longitude). Na coluna “graus”, vamos inserir a seguinte função:

=EXT.TEXTO(A2;1;PROCURAR("°";A2)-1)
=EXT.TEXTO(B2;1;PROCURAR("°";B2)-1)

A função EXT.TEXTO é alimentada com o local onde será extraído o carácter (isto é, as células A2 e B2), enquanto a função PROCURAR irá buscar a posição nesta célula do símbolo °, sendo ainda subtraído um (1) deste valor, para não haver a extração do símbolo.

Na coluna seguinte (“minutos”), vamos ainda utilizar as funções EXT.TEXTO e PROCURAR, porém desta vez, vamos usar elas para localizar o símbolo de graus e de minutos.

=EXT.TEXTO(A2;PROCURAR("°";A2)+1;PROCURAR("'";A2)-PROCURAR("°";A2)-1)
=EXT.TEXTO(B2;PROCURAR("°";B2)+1;PROCURAR("'";B2)-PROCURAR("°";B2)-1)

Com essa equação, indicamos que a extração de dados irá iniciar após o símbolo de graus (por isso a adição de 1), e subtraímos a posição deste símbolo do símbolo de minutos, menos 1.

Essa última operação nos fornecerá quantos carácteres precisamos extrair, do símbolo de graus até o símbolo de minutos.

Agora, para a coluna dos “segundos”, temos apenas algumas alterações. Adicionamos a função SEERRO, pois em algumas situações os segundos são omitidos em função deles serem iguais a zero.

Para evitar qualquer erro, quando não há símbolos de segundos, nossa função irá retornar zero.

=SEERRO(EXT.TEXTO(A2;PROCURAR("'";A2)+1;PROCURAR(CARACT(34);A2)-PROCURAR("'";A2)-1);0)
=SEERRO(EXT.TEXTO(B2;PROCURAR("'";B2)+1;PROCURAR(CARACT(34);B2)-PROCURAR("'";B2)-1);0)

Note que utilizamos a função CARACT para dizer ao Excel que ele deve procurar aspas duplas. Caso você tenta-se inserir as próprias aspas duplas, ele iria retornar um erro.

Até o momento, temos os graus, minutos e segundos. Agora vamos extrair em qual hemisfério a coordenada se encontra.

Considerando que a definição do hemisfério esta no final do texto, vamos usar a função DIREITA para extrai-los. Nas colunas N/S e E/W, podemos colocar as seguintes funções:

=DIREITA(A2;1)
=DIREITA(B2;1)

Finalmente separamos todas nossos dados em colunas separadas para podermos converte-las em coordenadas geográficas decimais.

Geográficas para Decimais

Vamos utilizar seguinte formula para o cálculo, a qual basicamente soma os graus, quantidade de minutos divididos por 60 e a quantidade de segundos divididos por 3600.

=SE(J2="S";-1*(D2+(E2/60)+(F2/3600));D2+(E2/60)+(F2/3600))
=SE(K2="W";-1*(G2+(H2/60)+(I2/3600));G2+(H2/60)+(I2/3600))

Aqui utilizamos a função SE para estabelecer se multiplicamos ou não o resultado por -1, definindo assim o hemisfério na coordenada decimal.

E é dessa forma que você converte suas coordenadas geográficas em coordenadas decimais, possibilitando seu uso em softwares de SIG. Agora basta arrastar as primeiras células para as outras linhas e ter automaticamente o restante das coordenadas.

Caso você tenha alguma dificuldade, comente ela abaixo nos comentários, ou se preferir, comente no nosso Twitter ou na nossa página do Facebook.



Clique na figura abaixo e assine nossa lista de emails para receber nosso ebook "Como criar mapas de localização com ArcGIS 10.x".

Apostila Mapa de Localização Banner

Author: Fernando BS

Engenheiro Ambiental e de Segurança do Trabalho. Atua nas áreas de geoprocessamento, mineração e hidrologia. Busca soluções utilizando softwares como QGIS, R e Python.

20 thoughts on “Como converter coordenadas geográficas em decimais no Excel”

  1. Fernando, boa tarde.
    Primeiramente PARABÉNS e muito obrigado pelo seu tutorial. Objetivo e fácil de interpretar, mesmo para uma pessoa com conhecimento básico de Excel como eu. Foi ótimo e resolveu o meu problema.
    Só gostaria de acrescentar 2 informações que podem ser úteis a outras pessoas:
    1- Eu extraí os valores de latitude e longitude do Google Earth, que me trouxe os dados dos “segundos” com duas casas decimais depois da vírgula (no caso veio como ponto, e não vírgula). Essa foi a primeira alteração a ser feita na minha “base” para que a fórmula ficasse correta: colocar vírgulas no lugar dos pontos!
    2- Esses valores também trouxeram as letras como N=Norte, S=Sul, L=Leste e O=Oeste (português). Então como entre Norte e Sul não há alteração das inicias para o inglês, não houve alteração na primeira fórmula. Porém, na segunda fórmula foi mais fácil alterar a LETRA da fórmula para “O” (em vez de utilizar o “W”), do que alterar cada registro da minha “base”.
    Um abraço e mais uma vez PARABÉNS!!! Alberto – SP

    1. Boa noite Alberto,

      Que bom que pudemos lhe ajudar. E muito obrigado pelas suas contribuições, com certeza elas serão uteis à outros leitores.

      Quanto ao ponto e a virgula, dependendo do software de geoprocessamento que você utilizar, o separador decimal pode tanto ser o ponto (formato “americano”) ou a vírgula.

      E as fórmulas estão ai para serem aprimoradas (o importante é entender como elas funcionam), obrigado por deixar a sua contribuição.

  2. Bom dia,

    Excelente contribuição dos caros colegas. Porém eu preciso converter um outro tipo de coordenada, como a que segue: 09º 49.833’S 067º 57.133’W. O que preciso alterar nas fórmulas para atingir o mesmo objetivo?

    1. Boa tarde Felipe,

      Obrigado, e respondendo sua pergunta, você pode utilizar esse formato sem problema na planilha, o resultado será o mesmo se o formato fosse igual ao do tutorial.

      Mas vamos supor que você precise usar o formato do tutorial (Grau, Minuto, Segundo).

      Você precisará extrair os segundos dos minutos (49.833′ e 57.133′). Esse processo pode ser realizado multiplicando os valores após a vírgula por 60 (ex. 0.833 x 60 = 49.98″, o que na coordenada completa ficaria 09º 49′ 49.98″S).

      Na planilha do nosso tutorial, você pode substituir a coluna de segundos pela seguinte formula: =(E2-TRUNC(E2))*60. E na coluna dos resultados (valores em decimais, coluna M), colocar o E2 como TRUNC(E2).

      Temos também um tutorial explicando como utilizar a calculadora geográfica do INPE, que converte vários tipos de coordenadas: http://2engenheiros.com/2017/09/27/converter-coordenadas-diferentes-referencias/

    1. Boa noite Tamara,

      Você irá utilizar o procedimento que expliquei para o Felipe, aplicando a função TRUNCAR(). Veja o exemplo abaixo.

      Considere uma coordenada decimal 28,6775 na célula B2.
      Primeiro vamos usar a função TRUNCAR para extrair o Grau: TRUNCAR(B2).
      Segundo, vamos extrair a parte decimal: B2 – TRUNCAR(B2). Com esse resultado da segunda etapa, multiplique ele por 60 e você terá os Minutos.
      Terceiro, vamos extrair a parte decimais dos Minutos para obter os Segundos, utilize a função TRUNCAR() para isso. Você terá algo como: 40.65 – TRUNCAR(40.65).
      Quarto, multiplique o resultado da terceira etapa por 60 e você terá os Segundos.

      Se você realizou esse procedimento para a coordenada decimal 28,6775 – Você terá como coordenada geográfica 28º 40′ 39″.

  3. Parabéns pelo trabalho, eu gostaria de tirar uma duvida!? trabalho com inventário florestal, ou seja, coletamos as arvores em um faixa com largura de 50m, no sistema cartesiano isolado(0 a 50 para X e 0 a “medida final de cada faixa” para Y), temos as coordenadas de inicio e fim de faixa, é possível criar uma tabela em que inserimos a sequencia de cada arvore(X,Y) e o mesmo gere a coordenada cartesiana georreferenciada?

    1. Bom dia Luciano, obrigado pelo comentário.

      Numa situação onde o seu sistema cartesiano isolado estiver exatamente alinhado com o sistema de coordenadas georreferenciadas, você pode somar as coordenadas georreferenciadas da origem com as coordenadas (x,y) de cada árvore.

      Agora, se houver qualquer tipo de rotação, provavelmente você terá que utilizar relações trigonométricas para poder somar o valor da origem. Veja Rotação de Eixo (https://en.wikipedia.org/wiki/Rotation_of_axes) e Cosseno (https://pt.wikipedia.org/wiki/Cosseno).

Deixe um comentário para Maria Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *