Mas, vamos ao que prometi. Nas ultimas semanas eu estava com uma tarefa que, no começo, parecia simples. Eu precisava descobrir uma forma de criar programas para pockets pc’s com o uso de GPS, depois teria de desenvolver um exemplo para testar. Beleza, foi até fácil, descobri que a Microsoft tem uma api nativa para o Windows Móbile (http://msdn.microsoft.com/en-us/library/ms850332.aspx), só precisava usar ela. Para melhorar, existem códigos de exemplo na SDK do Windows Móbile 6 (http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&displaylang=en e http://msdn.microsoft.com/pt-br/library/bb158708.aspx). Beleza, tudo pronto já podia validar o aparelho que compramos e partir para o desenvolvimento do sistema que nos interessava.
Porém, existia um pequeno problema: a api só disponibilizava as coordenadas do GPS em latitude e longitude, e nó precisamos delas em UTM SAD69. Deu-se a desgraça: como converter? Minha primeira idéia, entender a formula de conversão e criar um código com essa função. Descobri que ia precisar estudar um pouco mais para entender tudo aquilo, e tempo era algo que não estava muito ao meu favor. Procurei bibliotecas, códigos prontos, programas e não achava nada que desse para usar. Eu tava perdidinho, não sabia nem como procurar. Mas aos poucos fui entendo os conceitos e filtrando melhor as minhas pesquisas, até que encontrei o meu salvador (http://www.gpsy.com/gpsinfo/geotoutm/), os caras disponibilizaram um código em C++ (http://www.gpsy.com/gpsinfo/geotoutm/gantz/) todo estruturado e comentado, uma beleza.
Pronto, só precisei passar o código para C# e deixar ele orientado a objeto. Para isso, criei duas classes: Elipsoide e CoordenadaUTM. Confesso que não entendi todas as variáveis das formulas nem sou capaz de deduzi-las. Enfim, esse foi um dos casos em que o resultado era mais importante que a pesquisa. Quem quiser colaborar com algo ou corrigir algum erro meu, esteja à vontade. Para validar os resultados usei este programa.
Nenhum comentário:
Postar um comentário