Siga-nos no facebook

1. Introdução

Faz já algum tempo que a Garmin introduziu na sua cartografia comercial um novo formato de ficheiros para armazenar os mapas, conhecidos pela sigla “NT” (New Technology).

Este formato tem o nome de GMP ou “globalmapper package” e destinou-se a substituir o antigo formato IMG, instituído no Mapsource, desde a “clássica” versão 6.13.7.

O primeiro produto comercial disponibilizado no novo formato foi o “CityNavigator NT 2009”. A partir da versão 6.15.x do Mapsource (corria o ano de 2010), o fabricante anunciou em todos os seus fóruns que o desenvolvimento e comercialização de cartografia, bem como das suas ferramentas de planeamento e navegação (à altura o Mapsource, que viria posteriormente a ser descontinuado, e o Basecamp) seriam concentrados no formato GMP, não obstante a manutenção de retro compatibilidade com o formato IMG.

Ainda que não específica, é contemporânea destes novos mapas a possibilidade de utilização de códigos com um comprimento de 3 bytes para especificar os objetos a representar num mapa.

2. Características

Os mapas GMP apresentam duas características em particular que os diferenciam substancialmente do antigo formato IMG:

  1. São suportados de modo uniforme e consistente em ambientes MS Windows  e MAC OS, sem necessidade de conversões adicionais ;
  2. Dispensam a criação de chaves e entradas de registo no sistema operativo, como é o caso da base de dados MS Windows Registry.

Este desaparecimento de mapas baseados em registo, significa desde logo que a instalação e gestão dos mesmos (como seja a definição da localização de um mapa, a sua limpeza ou até alteração de detalhes, caso do ficheiro TYP) a partir de ferramentas como o MapSetToolkit e o cGPSMapper (http://www.cgpsmapper.com/buy.htm),em combinação com o anterior, deixam de fazer sentido.

O MapSetToolkit (desenvolvido por Cypherman e disponível a partir da hiperligação https://sites.google.com/site/cypherman1/home), é, lembramos, uma ferramenta de interface gráfico para instalação de mapas compilados em formato IMG: instala os ficheiros relevantes para o Mapsource/Basecamp na localização definida pelo utilizador, atualiza o registo e o ID do mapa.

 

 

Com base na informação inserida pelo utilizador é, na prática, gerado um ficheiro PV para o mapa compilado e utilizado para a sua instalação. Um exemplo da estrutura interna deste tipo de informação pode ser encontrado no ficheiro test_pv.txt, o qual se encontra na pasta Test_Map, sob o local de instalação do cGPSmapper:

 

Os ficheiros de um mapa compilado no formato IMG utilizados pelo MapSetToolkit durante o processo de instalação são os seguintes:

  1. <número inteiro de 8 dígitos>.IMG (ficheiro gerado a partir de um compilador como o cGPSMapper e editável a partir do GPSMapEdit, que contém o mapa detalhado);
  2. <nome do mapset ou mapa>.IMG (ficheiro igualmente editável pelo GPSMapEdit e que contém uma imagem geral, de pré-visualização, do mapa);
  3. < nome do mapset ou mapa >.IDX (Índice dos ficheiros constituintes do mapset ou mapa);
  4. < nome do mapset ou mapa >.MDX (composto por uma tabela de correspondência entre o nome dos ficheiros IMG, constituídos por um número, e o MapID, o qual representa o ID ou número da área detalhada no mapa);
  5. < nome do mapset ou mapa >.TDB (repositório com informação sobre os ficheiros individuais .img que compõem o mapset ou mapa:trata-se, pois, de um índice utilizado pelo MapSource/Basecamp para decidirem qual o segmento de mapa a carregar);
  6. < nome do mapset ou mapa >.TYP (ficheiro que contém definições ou parametrizações específicas quanto ao modo de representar os objetos no mapa, substituindo assim o modo de visualização por omissão do recetor GPS ou do Mapsource/Basecamp);
  7. < nome do mapset ou mapa >_MDR.IMG (índice para pesquisa de objetos no mapa, como os pontos de interesse).

Já o ficheiro < nome do mapset ou mapa >.REG, o qual contém as chaves a instalar no registo do sistema, é ignorado pelo MapSetToolkit, pois, o mesmo procede ao registo direto a partir de informação inserida diretamente pelo utilizador no seu interface gráfico.

Os mapas GMP, por seu lado, são lidos pelo Mapsource (versão 6.15.x ou superior)/Basecamp, a partir de uma localização específica normalizada na unidade periférica de armazenamento (um disco rígido, por exemplo).

Ao nível da sua estrutura interna, a informação constituinte de um mapa é agrupada sob um ficheiro GMP, e que passa a conter de modo comprimido as entradas para os ficheiros “clássicos” e conhecidos até agora.

Não é mais possível movê-los para outra unidade ou ajustar manualmente as suas definições como fazíamos até aqui, quer recorrendo ao MapSetToolkit ou simplesmente ao editor de registo disponibilizado pelo próprio sistema operativo (regedit.exe).

O utilizador, caso pretenda instalar um mapa no formato GMP em localização diferente da definida por omissão (e que podemos assim considerar como “desnormalizada”) deverá antes recorrer a uma ferramenta de “terceiros”: o JaVaWa GMTK (disponível em www.javawa.nl/gmtk_en.html).

Na eventualidade dos mapas se encontrarem bloqueados e conterem um FID com o valor igual ou superior a 2200 (algo que podemos averiguar através da ferramenta GMapTool, disponível www.gmaptool.eu, para os mapas em formato IMG, ou acedendo diretamente ao ficheiro de configuração em XML, “info.xml”, e mais especificamente no elemento <ID/>), aqueles só poderão ser utilizados corretamente no Mapsource/Basecamp e nos dispositivos GPS através de um código de desbloqueio e, em simultâneo, da obtenção de um ficheiro de autenticação “.GMA”, gerado diretamente a partir do portal web da Garmin durante a operação de registo.

Como consequência, o “famoso” gerador de chaves (Garmin KeyGen), que combinava os dados provenientes s do FID do mapa com o ID do recetor GPS, e permitia ao utilizador obter um código de desbloqueio já não é suficiente. Um mapa no formato GMP para ser desbloqueado definitivamente necessita agora que a pasta .gmap, ou mais corretamente o objeto contentor do mapa seja ela própria “quebrada”: uma alternativa muito referenciada nos fóruns passa pela utilização do  ficheiro “UnLock MapSource.exe”, o qual deverá ser copiado para a pasta .gmap (pasta do mapa a desbloquear) e executar. Se existirem problemas, então executar como administrador (selecionar o ficheiro, premir o botão direito do rato e selecionar o comando executar como administrador no menu contextual).

3. Instalação e localização.

Os mapas GMP são instalados numa pasta específica com a extensão .gmap e cuja localização (se bem que definida por omissão) pode variar de acordo com a versão do sistema operativo.

Em MS Windows as localizações são as seguintes:

  • MS Windows XP
    %APPDATA%\GARMIN\Maps\*.gmap\Ou
    %ALLUSERSPROFILE%\Application Data\GARMIN\Maps\*.gmap\
  • MS Windows Vista / 7 ou 8
    %APPDATA%\GARMIN\Maps\*.gmap\Ou
    %ALLUSERSPROFILE%\GARMIN\Maps\*.gmap\

As entradas %APPDATA% e %ALLUSERSPROFILE% correspondem a variáveis de ambiente do sistema operativo e apontam para pastas físicas, normalmente ocultas. Para lhes aceder o utilizador terá necessariamente que alterar as opções de visualização das pastas no Explorador do Windows.

Em termos físicos, as localizações são então as seguintes:

  • MS Windows XP
    C:\Documents and Settings\All Users\Application Data\GARMIN\Maps\*.gmap\
  • MS Windows Vista / 7 ou 8
    C:\ProgramData\GARMIN\Maps\*.gmap\

A vantagem é grande, já que a pasta .gmap comporta-se como um objeto (esta é mesmo a aceção correta para Mac OS), contendo internamente a totalidade da informação necessária à representação do mapa através de um aplicação como o Mapsource/Basecamp. Assim, para um novo mapa ser visualizado no Mapsource/Basecamp basta copiar a pasta .gmap para o caminho definido por omissão.

A pasta com extensão .gmap recebe o nome do mapa e internamente decompõe-se também ela de uma forma normalizada. Para o ilustrar tomemos como exemplo o mapa “City Navigator Europe NT 2011.30”:

 

Na tabela que se segue encontramos a descrição de alguns dos ficheiros mais relevantes:

.MDX Índice que descreve a relação entre mapas regionais
.TYP Informação para a representação gráfica dos elementos constituintes do mapa
.MDR Índice pesquisável pelo utilizador de pontos de interesse, endereços
.TDB Ficheiro índice utilizado pelo Basecamp/Mapsource para selecionar e carregar (em termos de visualização) os mapas detalhe
.NOD Informação de roteamento
.SRT Tabela de pesquisa que organiza o código de caracteres do mapa e define a sua sequência de colação
.GMP Representa uma área coberta pelos mapas detalhe (ficheiros .IMG). A sua designação tem o seguinte formato: IXXXXXXX.GMP, onde XXXXXXX representa um valor hexadecimal. Concentra no seu interior informação de copyright, bem como informação que encontramos nos ficheiros .TRE, .LBL, .NET e .NOD
Pasta Logos Pasta Logos Referência ao acordo de licenciamento.
EULA_XXX.txt Um ficheiro por língua e cuja referência é a seguinte:EULA_<sigla internacional da língua>.txt
.DEM Se o mapa permitir a representação tridimensional da superfície, então existirão ficheiros .DEM. Trata-se de uma representação digital contínua do terreno que inclui as variações de altitude.

 

4. Noções sobre a criação de mapas vetoriais

Criar um mapa vetorial para ser carregado num receptor GPS pode ser comparado com o processo clássico de programação: escrever o mapa utilizando uma sintaxe própria e, finalmente, compilá-lo. Também aqui existem ferramentas que geram ou ajudam a gerar através de interfaces gráficos o código-fonte. Este código utiliza um formato que é conhecido como PFM (Polski Format) ou “formato polaco”.

O formato polaco é um formato baseado em texto, utilizado para armazenar informação sobre um mapa em computador. Como tal, não pode ser transferido directamente para os receptores GPS. Os ficheiros escritos neste formato têm a extensão .mp. Internamente, estes ficheiros encontram-se estruturados em secções, cuja lista apresentamos a seguir:

 

Tipo de Secção Secção
Cabeçalho [IMG ID]
Declarações  [COUNTRIES]
[REGIONS]
[CITIES]
[CHART INFO]
Declarações avançadas  [DICTIONARY]
[BACKGROUND]
[HIGHWAYS]
[ZIPCODES]
[DEFINITIONS]
Objectos [POI]
[POLYLINE]
[POLYGON]
[PLT]
[WPT]
[DBX]
[SHP]
[FILE]
[RGN10]
[RGN20]
[RGN40]
[RGN80]

 

Section Type Identifier(s)

Um mapa vectorial é constituído por quatro grandes tipos de objectos:

  • POIs (points of interest) ou pontos de interesse, como restaurantes, hotéis, parques de campismo ou bombas de combustível;
  • Pontos (objectos não indexados, como os edifícios);
  • Linhas (polylines) ou objectos lineares como as estradas, trilhos; e
  • Polígonos, ou objectos de área como os lagos, as florestas.

 

Em objectos não dimensionais, como são os pontos de interesse (POIs) e os pontos, apenas temos que definir os seguintes atributos: nome, tipo e par de coordenadas (latitude, longitude). Já os objectos dimensionais (linhas e polígonos) necessitam, para além dos atributos nome e tipo, dos pares de coordenadas de todos os vértices que os constituem.

Outro dado importante no mapa é aquele relacionado com a definição dos níveis de ampliação e, associado a estes, da exibição de mais ou menos detalhe. Assim, a selecção de objectos apropriada à visualização dependerá do nível de ampliação (zoom), pelo que a exibição de edifícios individualizados, de estradas secundárias ou de trilhos apenas se justifica em grandes níveis de ampliação. À medida que diminuímos o tamanho (zoom out), a exibição de tais objectos torna-se inapropriada, podendo apenas mostrar as estradas principais ou os grandes cursos de água, sob pena de tornar o mapa ilegível. Através dos níveis é possível então configurar no mapa a visibilidade e o aspeto dos objetos. No formato PFM o desenho /representação gráfica do objeto é independente por nível. Assim, se se pretende que um objeto seja representado em múltiplos níveis de ampliação, o mesmo deve ser definido em cada nível, a começar do 0 (nível mais detalhado), duplicando-o.

Quando procedemos a operações de aumento ou diminuição do tamanho do mapa, aparece no Mapsource como no receptor de GPS informação sobre a escala corrente (por exemplo 1 km). Tal escala, que corresponde a um nível de ampliação, não existe quando estamos a construir o mapa utilizando a sintaxe PFM. Os níveis de ampliação são antes definidos e identificados através de valores numéricos, designados de Hardware Zoom Level, cujo intervalo oscila entre 1 (o menos detalhado) e 24 (o mais detalhado). Nesta ordem crescente, a transição de um número para aquele que imediatamente se lhe segue corresponde ao duplicar do nível de ampliação. A correspondência entre os designados de Hardware Zoom Level e as escalas pode ser visto na tabela que se segue:

 

Hardware Zoom Level

Escala métrica

12

500km a 800km

13

200km a 300km

14

80km a 120km

15

50km

16

20km a 30km

17

12km

18

5km

19

3km

20

2km

21

800m a 1,2km

22

500m

23

200m

24

Até 120m

 

Os níveis de ampliação entre 1 e 11 não são listados, na medida em que o nível 12 corresponde àquele que menos detalhe (zoomed out) pode ser representado num receptor GPS da Garmin.

 

Num mapa podem ser definidos vários níveis de ampliação, sendo o máximo de 10. Através da sintaxe PFM, os níveis de ampliação são especificados na secção [IMG ID], indicando o Hardware Zoom Level. Esta relação entre os níveis de ampliação especificados no mapa e os níveis de ampliação designados de Hardware Zoom Level pode ser visto imagem que se segue:

 

Segundo a sintaxe PFM, este mapa de Marrocos seria descrito da seguinte forma:

 [IMG ID]
Levels=2
Level0=13
Level1=12

 

Assim, temos que o nível de ampliação 0 do mapa corresponde ao Hardware Zoom Level de 13 e o nível 1 ao 12. Ainda neste exemplo, o nível de ampliação mais elevado do mapa (Level1 ou 1) corresponde ao nível de ampliação em que o mapa substitui a cartografia base do receptor GPS.

Preparar o mapa, fornecendo-lhe então os objectos e respectivos atributos que o constituem é um processo demorado e laborioso que pode ser atingido de várias formas (a maior parte das vezes combinadas): escrevendo o código num editor de texto, gerando-o visualmente através de ferramentas como o GPSMapEdit, importando objectos do tipo pontos de passagem (waypoints) e trajectos (tracks) a partir de ferramentas como o OziExplorer ou o Basecamp/Mapsource.

Terminado o mapa, temos que compilá-lo através de aplicações como o cGPSmapper. O resultado final é disponibilizado através de um ficheiro de extensão .img. Esta trata-se da extensão “clássica” para representar mapas compilados, otimizados do ponto d recursos (memória/espaço) e prontos a carregar no receptor GPS ou no Basecamp/Mapsource através de ferramentas como o Sendmap ou o MapSetToolkit.

A ferramenta GMapTool (http://www.gmaptool.eu/en) permite criar mapas NT, mas a partir dos mapas IMG convencionais. Pressupõe carregar o mapa no GMapTool de modo a reagrupá-lo sob uma pasta .GMP.

Para tal, o utilizador deve primeiro aceder ao separador “Options” do GMapTool e marcar a opção “Experimental options”. Depois, aceder ao separador “Join” e marcar a opção “Convert to quasi-NT format”.