Convertendo coordenadas de GMS para Graus decimais

Buenas! A sabedoria popular nos diz que a necessidade é a mãe das invenções, e essa verdade se confirma no nosso dia-a-dia, inclusive na área de Geoprocessamento.

Semana passada surgiu uma dúvida na Lista brasileira de usuários gvSIG, sobre como converter uma série de pontos que estavam com suas coordenadas no formato Graus Minutos e Segundos para Graus decimais, que é o formato que o gvSIG reconhece. Imediatamente lembrei-me do tutorial do blog Processamento Digital, “Convertendo Coordenadas para Graus Decimais“, onde o Jorge Santos disponibiliza um tutorial e uma planilha ensinando a fazer a dita conversão. O único detalhe é que a planilha disponibilizada exigia que as coordenadas em GMS estivessem separadas, cada uma em uma coluna (Graus, Minutos e Segundos), o que não era o caso. Um pouco mais de pesquisa, e encontramos as funções que analisam a string de entrada no formato GMS e separa ela nas respectivas colunas, para que finalmente possam ser convertidas para graus decimais.

Vou deixar vocês com o Jorge Getúlio Vargas Freitas, que foi o autor da dúvida, e também quem implementou a solução:

Frequentemente é necessário carregar dados no GVSIG contidos em planilhas (Excel, BROffice, etc), cujo georreferenciamento seja em coordenadas geográficas, as mesmas devem estar no formato “graus e decimais” (GG,dddd) precedidas de sinal “-” ou “+”, conforme os respectivos hemisférios das latitudes e longitudes.

Como exemplo, caso as coordenadas de um ponto constantes de uma planilha, que devem ser carregados no GVSIG, sejam latitude = 28° 36′ 0,18″ S e longitude = 48° 52′ 6,71″ W, as mesma devem ser convertidas para – 28.60005°  e -48.86853056, respectivamente. Ressalta-se que deve ser utilizado o “ponto” como separador de decimal. Ressalta-se que essas coordenadas para o EXCEL, ou para os programas similares, não são “entendidos” como números mas sim como textos.

Na grande maioria das vezes a planilha contém um grande número de pontos, cujo procedimento de mudança de formato individual se torna impraticável pelo tempo que tomará para ser executado. Desse modo, deve-se empregar a programação para automatizar e agilizar esses procedimentos, cujos procedimentos e dados para cálculos constam na tabela de exemplo. Em vista do fato do EXCEL e similares considerar o formato GGMMSS como texto, foram utilizadas 4 coluna para a mudança de formato de cada coordenada, isto é, 4 para a longitude e 4 para a latitude, sendo 1 para o grau, 1 para o minuto, 1 para o segundo e 1 para a soma dessas 3 anteriores, já com o sinal correspondentes ao sinal de cada coordenadas em função do correspondente hemisfério. No caso da planilha em anexo as fórmulas só consideram coordenadas do hemisfério sul (S) e do oeste (W). Caso haja muitas coordenadas tanto no hemisfério sul quanto no norte, há necessidade de acrescentar instruções no programa para ser possível reconhecê-los automaticamente.

Lembre-se que o GVSIG só carrega planilhas através do menu TABELAS e que estejam no formato DBF ou CSV (separados por vírgula). Desse modo, após a mudança de formato das coordenadas dentro da planilha, com ponto em substituição a vírgula para separar os decimais da parte inteira, deve-se salvar a planilha no formato CSV ou DBF para ser carregada e entendida pelo GVSIG, por meio do menu TABELAS. Após isso, deve-se ativar o menu VISTA e abrir uma vista. Uma vez aberta uma vista, clicar no menu superior VISTA e clicar na opção “ADICIONAR CAMADA DE EVENTOS”. Caso os pontos não apareçam logo em seguida aparecer o nome da camada com o nome da planilha ou com o nome que você deu, deve-se clicar com o botão da direita do mouse sobre o nome da camada carregada e depois clicar na opção “ZOOM NA CAMADA” que os pontos serão centalizados na tela.

Espero que o texto acima possa vir a contribuir para tirar eventuais dúvidas que usuários possam vir a ter na utilização do GVSIG, como foi meu caso. Além disso, já passei sugestão para que fosse incluído numa versão a possibilidade de utilização de vários formatos de coordenadas geográficas, principalmente nos mapas, que só permite em GG,DDDDD. Mas não sei ainda se incluiram nesta última versão.

Não se esqueça de baixar o arquivo da TabelaExemplo, e estudar como o processo foi feito ;).