sexta-feira, fevereiro 24, 2012

Utilizar imagens de satélite em equipamentos Garmin

 Enquanto saco mais uns tiles do OCM...
 O MOBAT o que faz, muito simplesmente, é gravar imagens de servidores de mapas (tipo GoogleEarth, VisualEarth, OpenStreetMaps, Nokia\Ovi maps, etc) para utilização offline, em formatos compatíveis com softwares de pc (Ozi, CompeGPS, GoogleEarth...), softwares de smartphones (no caso de android: Orux, Locus, Maverick, OutdoorNavigation...) e equipamentos Garmin (directamente, salvando como Garmin Custom Maps,KMZ com limitações...). E é por isso que gosto dele, num só software crio mapas para tudo o que faz falta, consoante o local e a actividade que vá fazer (btt, geocaching...). Existe um bom tutorial aqui: http://att-tutoriais.blogspot.com/2011/11/mobac.html , vídeos de como criar um mapa para um aparelho Garmin http://youtu.be/lDiBnBgx-_E , ou http://youtu.be/m4exhu4EThE . Os vídeos demonstram como é simples criar um tipo de mapa, escolhendo a fonte "mapsource", os níveis de zoom e guardá-lo com o formato pretendido. Nos vídeos é possível ver a criação dum ficheiro KMZ, que serve para os equipamentos Garmin(ou para o GoogleEarth). Basta colocar esse ficheiro na pasta Garmin\CustomMaps, e passam a ter uma camada de imagem sobreposta aos mapas vectoriais da Garmin (Isto se o KMZ tiver bem configurado, com uma DrawOrder correcta-Mas isso já é outro assunto...). O problema deste método é que estes ficheiros KMZ têm limitações, nomeadamente o tamanho das "tiles" que não deve ser maior que 1024x1024 ou 1Mega, o numero de tiles por equipamento (penso que é 100, menos nos modelos Montana que são 500), a velocidade de rendering lenta e apenas permite um nível de zoom. Como tal, podemos utilizar o formato proprietário da Garmin, o "JNX". Este permite até 50000 tiles, 5 níveis de zoom e é bastante mais rápido no rendering (internamente, no ficheiro, existe uma organização multi-tiles de 256x256). Como este formato foi desenhado para ser utilizado com o serviço pago BirdsEye da Garmin, os equipamentos têm alguns mecanismos que impossibilitam de criar mapas pessoais destes, e os colocar no equipamento, a não ser que se use um firmware que retire essa limitação.
 Posto isto, surgiu-me a duvida de como criar JNX, utilizando o MOBAC, e pesquisei. Infelizmente, não tenho um equipamento Garmin para poder testar a funcionalidade dos ditos, como tal limito-me a demonstrar o processo. Há funcionalidades como as escalas, níveis de zoom e customizações, as quais não posso testar =( Assim, para a conversão, precisam do MOBAC e do MOBAT2JNX.
 1º- No MOBAC escolhem até 5 níveis de zoom e respectivas fontes de mapas (podem ser diferentes consoante o nível de zoom) e escolhem o formato do atlas como "OSMTracker tile storage". É importante ser este formato, pois com qualquer outro o processo não funcionará. Este grava os mapas em tiles de 256x256, com uma organização de pastas estilo GoogleEarth "{ZOOM}\{X}\{Y}.jpg" (Não entendem o esquema? vejam http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/ que vos demonstra a organização GE "zoom\x\y", a organização TMS "zoom\y\x" utilizada pelo TileMapService e a "quadtree" utilizada pela Microsoft/Bing ;) ). Criem o mapa e entrem na pasta onde o guardaram. Se apenas criaram com uma mapsource terão uma pasta "nome da mapsource"\"nivel de zoom-12, 15, etc"\"x"\"y.jpg". No caso de várias mapsources terão várias pastas com o respectivo nome. Nesta situação precisam de juntar todos os níveis de zoom em apenas uma pasta(ou seja, juntam os vários níveis das diferentes pastas-17, 15, 14, 12, 9 P.Ex.- apenas numa pasta). Isto tem de ser feito pois o MOBAC2JNX apenas vai processar os dados de uma pasta.
 2º-Instalem o MOBAC2JNX. Não corram o programa do menu iniciar pois este não vos vai fazer nada. Este programa não tem GUI, logo terão de utilizar uma linha de comandos para trabalhar com ele. Vão ao menu Iniciar>>Executar>>cmd para abrirem uma linha de comandos. Depois escrevam "o caminho onde está instalado o programa" "espaço" "o caminho para a pasta onde guardaram o atlas" e dêem Enter (Ex:"C:\programas\MOBAC2JNX\mobac2jnx.exe C:\mapas\"). O programa vai converter os tiles num ficheiro "jnx.jnx", na mesma pasta dos tiles. Agora é só colocar este ficheiro no gps, na pasta \Garmin\BirdsEye\ do cartão de memoria(se não exitir, simplesmente criem uma pasta com esse nome). Não coloquem estes mapas na memoria interna do equipamento, pois qualquer erro pode deixar o aparelho bloqueado.
  Infelizmente, não tenho um equipamento Garmin recente que me permita testar na pratica este método, embora saibe que funcione. O que gostaria de testar e perceber como funciona tem a ver com as atribuições de níveis de zoom nos JNX, que têm o seu funcionamento especifico, assim como modificar o nível a partir do qual se apresentam estes mapas e não os vectoriais normais(se alguém quiser brincar com isso: JNXCustomizer).
  Fica um vídeo a demonstrar o processo. Aqui criei um atlas com 2 mapsources, 5 níveis diferentes, intercalados. Depois fiz a conversão, sem utilizar nenhuma opção do MOBAC2JNX. Por fim, abri o ficheiro JNX criado no QLandkarteGT, onde se podem perceber as alterações nos 5 diferentes níveis de zoom.
 Resumindo: Mobac>OSMTracker tiles>Mobat2jnx>*.JNX




Sem comentários: