MEMÓRIAS PERPÉTUAS DE À 50 ANOS

A Revista Visão, aborda no seu último número a data dos 50 anos do início da “Guerra Colonial”, tendo o artigo em questão, feito regressar ao baú das minhas memórias de criança, onde vivi com intensidade todo o drama de uma “Guerra de Libertação Nacional” versus “Guerra Colonial”.

Estávamos em 1961, mais concretamente no dia 3 de Fevereiro, tinha eu 7 anos e tinha estado a brincar com os filhos de um casal que partiria nessa tarde para o Úcua, um pequeno lugar entre Luanda e Carmona, hoje Uíge, onde tinham uma pequena loja com pensão. O Úcua servia de entreposto ou paragem, face a ausência de estrada pavimentada, já que só havia uma picada e no tempo das chuvas era o caos, a viagem poderia demorar dias, já que os camions ficavam enterrados. No dia seguinte soubemos que o casal tinha sido morto a catanada e que tinha começado um período muito difícil para todos.

As fotos publicadas nos jornais de então eram de uma crueldade enorme, que nemsequer me atrevo a descrever. Esta crueldade, motivou a mobilização geral com a constituição de milícias armadas, que quase enveredaram pelo mesmo caminho após o recolher obrigatório a partir das 21:00 Horas.

Para quem como eu e os meus pais que morávamos num “Musseque” a coisa complicava-se, já que todos os dias ao início da noite tínhamos de rumar a “cidade”, para estarmos em segurança, já que, bem perto da nossa casa, junto à cadeia de São Paulo, o golpe tinha sido forte e marcante, sendo hoje um símbolo da revolução angolana.

As atrocidades violentas de ambos os lados ficaram marcadas para sempre na minha memória, o que, para uma criança de 7 anos, passaram a rotina, com desconfianças, ódios e sobretudo vinganças.

As incursões para o Bairro do Teixeira a meio da noite, o rastejar com a minha mãe debaixo de saraivada de fogo cerrado de metralhadora e o espancamento de inocentes, que regressavam do trabalho após o recolher obrigatório, foi coisa que nunca entendi até hoje, seja, nunca ninguém me explicou porque o faziam e de uma maneira tão violenta.

Hoje, 50 anos depois as imagens de morte com mutilações impensáveis feitas a catanada, continuam a estar na minha memória e serão sempre uma negação a uma “Guerra de Libertação Nacional” que bem cedo entendi como justa.

“Quando o avião levantou e fez a curva para a direita tive a noção exacta que seria a última vez que veria  a minha Terra, Terra em que tinha nascido e, Terra que queria ajudar a crescer.”

Web Map Services

Falámos num artigo anterior que a lista de mapas online do OruxMaps pode ser alargada através da inclusão de mapas disponíveis na Internet em tempo real. Basta que cumpram o protocolo WMS (Web Map Service).

O que é o Web Map Service?

O Web Map Service, mais conhecido pelo acrónimo WMS, é um protocolo destinado a disponibilizar imagens georreferenciadas através da Internet, as quais são geradas a partir de bases de dados GIS (Geographic Information System). E aqui tomamos este conceito na sua forma mais lata: um qualquer sistema de informação que captura, armazena, analisa, gere e apresenta dados relacionados com localizações.

A especificação do protocolo WMS (http://www.opengeospatial.org/standards/wms) foi desenvolvida e publicada logo em 1999 pelo Open Geospatial Consortium (OGC). A primeira versão do protocolo (1.0.0) foi lançada em Abril de 2000, seguindo-se depois as versões 1.1.0 e 1.1.1, respectivamente em Junho de 2001 e Janeiro de 2002. A última versão (1.3.0) saiu em Janeiro de 2004. A sua especificação pode ser analisada em detalhe a partir da seguinte hiperligação:

http://portal.opengeospatial.org/files/?artifact_id=14416

Actualmente o protocolo WMS é suportado como um formato para mapas pela maior parte de aplicações GIS, sejam elas comerciais, como o ESRI ArcGIS, MapInfo Professional, GeoMedia, Global Mapper, ou livres, como o Google Earth, MapGuide, NASA World Wind.

Em Portugal, o Instituto Geográfico Português (IGP), através do serviço m@pas online (http://mapas.igeo.pt/), e o Instituto Geográfico do Exército Português (IGEOE) , através do projecto Geo-WebServices (http://www.igeoe.pt/mapas/html/AplicacoesClientes.htm), disponibilizam gratuitamente  um conjunto de serviços de dados geográficos de acordo com os padrões do Open GeoSpatial Consortium, e o protocolo WMS e Web Feature Service (WFS).

No IGP os serviços disponíveis são os seguintes:

Nome Endereço do serviço WML (URL) 
Carta Administrativa Oficial de Portugal (CAOP Continente) http://mapas.igeo.pt/ows/caop/continente
Carta Administrativa Oficial de Portugal (CAOP Madeira) http://mapas.igeo.pt/ows/caop/madeira
Carta Administrativa Oficial de Portugal (CAOP Açores) http://mapas.igeo.pt/ows/caop/acores/gocidental
http://mapas.igeo.pt/ows/caop/acores/gcentral
http://mapas.igeo.pt/ows/caop/acores/goriental    

Carta de Risco de Incêndio Florestal 2010 (CRIF)    

http://mapas.igeo.pt/wms/crif    

Carta de Portugal Continental à escala 1:500 000 (sc500k) http://mapas.igeo.pt/wms/sc500k    

Modelo Digital de Terreno (mdt50m) http://mapas.igeo.pt/wms/mdt50m    

Rede Geodésica Nacional – Continente (vgs) http://mapas.igeo.pt/ows/vgs    

 

Já ao nível do IGEOE, são disponibilizados os seguintes serviços:

Nome Endereço do serviço WML (URL) 
Carta Militar Itinerária
1:500 000 Continente
http://www.igeoe.pt/igeoearcweb/wmsconnector/com.esri.wms.Esrimap/500k_Continente
Cartas Militares de Portugal – 1:500 000 e 1:250 000 do Continente e Regiões autónomas http://www.igeoe.pt/igeoearcweb/wmsconnector/com.esri.wms.Esrimap/WebMapSrv

 

Aceder a um Web Map Service

Para “consumir” mapas WMS uma aplicação GIS, seja ela qual for, tem que, pelo menos, conhecer-se o URL do serviço, mas também informação relativa a outros aspectos:

  • Identificação,
  • Níveis de ampliação que podem ser consultados,
  • Camadas visualizáveis,
  • Formatos de imagem fornecidos.

Esta informação pode ser obtida interrogando-se directamente o Web Map Service, utilizando para tal métodos que fazem parte da especificação do protocolo. Um deles, o método GetCapabilities, permite ao utilizador obter meta-informação sobre os parâmetros necessários à utilização do serviço, camadas a visualizar e em que formatos gráficos.

O resultado da chamada ao Web Map Service com o método GetCapabilities é dado sob a forma de um ficheiro em formato XML, o qual poderá depois ser processado internamente pela aplicação GIS ou aberto e lido pelo utilizador.

Assim, e como forma de exemplo, vamos interrogar o serviços WMS  disponibilizado pelo IGEOE, o qual fornece a Carta Militar Itinerária do Continente à escala 1:500 000.

No browser é dado o seguinte URL:

http://www.igeoe.pt/igeoearcweb/wmsconnector/com.esri.wms.Esrimap/500k_Continente?version=1.1.1&service=WMS&request=GetCapabilities

Note-se  os parâmetros de chamada do serviço WMS “version=1.1.1” e “request=GetCapabilities”, os quais indicam o que o utilizador prorura e em que versão do protocolo.

O resultado é devolvido como um ficheiro no formato XML (500k_Continente.xml), de que apresentamos apenas os fragmentos mais relevantes:

…

<Name>OGC:WMS</Name>
<Title>Web Map Service 500k_continente</Title>
…
(Elementos que fornecem a referência do service WMS)

…
<OnlineResource xmlns:xlink=”http://www.w3.org/1999/xlink” xlink:href=”http://www.igeoe.pt/igeoearcweb/wmsconnector/com.esri.wms.Esrimap/500k_continente?” xlink:type=”simple” />
…
(URL do serviço)

…
<Format>image/png</Format>
<Format>image/jpeg</Format>
<Format>image/gif</Format>
…
(formatos gráficos em que são disponibilizadas as imagens do mapa)

…
<Layer queryable=”0” opaque=”0” noSubsets=”0“>
   <Name>4</Name>
   <Title>500k</Title>
   <SRS>EPSG:4326</SRS>
   <LatLonBoundingBox minx=”-10.181375771” miny=”36.8793377744” maxx=”-6.0820216161” maxy=”42.227177389” />
   <BoundingBox SRS=”EPSG:4326” minx=”-10.181375771” miny=”36.8793377744” maxx=”-6.0820216161” maxy=”42.227177389” /> </Layer>
…
(definições e referência da camada)
…

Integração com OruxMaps

A informação que reunimos na sequência da chamada ao método GetCapabilities do serviço WMS é fundamental para o adicionarmos como um mapa online à colecção de mapas do OruxMaps.

Esta aplicação armazena e gere a informação relativa a mapas WMS num ficheiro XML (wms_services.xml), o qual, como já dissemos, pode ser editado pelo utilizador.

O ficheiro wms_services.xml pode ser descarregado a partir da seguinte hiperligação:

http://www.oruxmaps.com/wms_services.xml

Nele, econtram-se já pré-definidos dois mapas. Mas o objectivo é adicionarmos mais mapas, pelo que se continuarmos com o exemplo de integração do serviço WMS fornecido pelo IGEOE teremos que adicionar-lhe o seguinte fragmento XML:

<wms>
  <name>500k_continente</name>
  <uid>1002</uid><!–unique identifier in your database cache; >1000 –>
  <desc>ArcIMS 9.3.0 500k_continente Web Map Service</desc>
  <url>http://www.igeoe.pt/igeoearcweb/wmsconnector/com.esri.wms.Esrimap/500k_continente?</url>
  <minzoomlevel>8</minzoomlevel><!– 0 to 20 –>
  <maxzoomlevel>17</maxzoomlevel><!– 0 to 20 –>
  <version>1.1.1</version><!– do not change –>
  <layers>500k</layers>
  <coordinatesystem>EPSG:4326</coordinatesystem><!– do not change –>
  <format>image/png</format>
  <cache>1</cache><!– not in use –>
 </wms>

O aspecto final do ficheiro wms_services.xml será agora o seguinte:

<?xml version=”1.0″ encoding=”utf-8″?>
<wms_services>
 <wms>
  <name>Terraserver (USA)</name>
  <uid>1001</uid><!–unique identifier in your database cache; >1000 –>
  <desc>USA topo maps</desc>
  <url>http://terraserver-usa.com/ogcmap6.ashx?</url>
  <minzoomlevel>8</minzoomlevel><!– 0 to 20 –>
  <maxzoomlevel>17</maxzoomlevel><!– 0 to 20 –>
  <version>1.1.1</version><!– do not change –>
  <layers>DRG</layers>
  <coordinatesystem>EPSG:4326</coordinatesystem><!– do not change –>
  <format>image/jpeg</format>
  <cache>1</cache><!– not in use –>
 </wms>
   <wms>
      <name>Kartverket sea (NOR)</name><!–ERROR DE UNOS 200 mts SE SUPONE SOPORTA EPSG:4326???–>
      <uid>1309</uid><!–unique identifier in your database cache; >1000 –>
      <desc>Norway sea maps</desc>
      <url><![CDATA[http://openwms.statkart.no/skwms1/wms.sjo_hovedkart2?SERVICE=WMS&BGCOLOR=0xFFFFFF&TRANSPARENT=FALSE&]]></url>
      <minzoomlevel>8</minzoomlevel><!– 0 to 20 –>
      <maxzoomlevel>17</maxzoomlevel><!– 0 to 20 –>
      <version>1.1.1</version><!– do not change –>                 
      <layers>Sjokart_Hovedkartserien2</layers>
      <coordinatesystem>EPSG:4326</coordinatesystem><!– do not change –>
      <format>image/png</format>
      <cache>1</cache><!– not in use –>
   </wms>
 <wms>
  <name>500k_continente</name>
  <uid>1002</uid><!–unique identifier in your database cache; >1000 –>
  <desc>ArcIMS 9.3.0 500k_continente Web Map Service</desc>
  <url>http://www.igeoe.pt/igeoearcweb/wmsconnector/com.esri.wms.Esrimap/500k_continente?</url>
  <minzoomlevel>8</minzoomlevel><!– 0 to 20 –>
  <maxzoomlevel>17</maxzoomlevel><!– 0 to 20 –>
  <version>1.1.1</version><!– do not change –>
  <layers>500k</layers>
  <coordinatesystem>EPSG:4326</coordinatesystem><!– do not change –>
  <format>image/png</format>
  <cache>1</cache><!– not in use –>
 </wms>
</wms_services>

Para os mapas WMS ficarem a funcionar basta ao utilizador instalar o referido ficheiro xml na pasta  “oruxmaps/mapfiles” do cartão de memória do dispositivo Android e reiniciar a aplicação.

Da próxima vez que o utilizador executar o OruxMaps e seleccionar a opção “Online Maps” passa a dispôr na base de dados dos mapas WMS:

O aspecto final é este:

O mapa pode ser sempre armazenado no dispositivo como um mapa offline e assim utilizado em zonas sem conexões WIFI ou 3G, recorrendo ao gerador integrado do OruxMaps (Menu > Tools  > Map Creator).

OruxMaps: Navegação 4×4 em Android (Parte III – Mapas online)

O OruxMaps permite descarregar e visualizar mapas em tempo real, a partir de fontes online como o Google Maps ou o Microsoft Bing Maps.

Possui ainda a capacidade de descarregar e armazenar tais imagens de modo a que possam ser visualizadas em locais sem conexões de dados presentes, como uma rede celular de telemóvel ou uma rede WIFI.

No ecrã de abertura do OruxMaps o utilizador tem, desde logo, a possibilidade de aceder aos mapas online.

O último mapa online em que o utilizador navegou é carregado por omissão, bem como o nível de ampliação seleccionado.

Podemos ver aqui um mapa da zona da Lousã a partir da fonte Google:

Para seleccionar um novo mapa pode ser utilizado o botão , disponível na barra de botões, ou Menu > Maps. Ambas as opções dão acesso à lista de mapas.

Nesta lista estão disponíveis cerca de trinta mapas, com coberturas geográficas diferentes. Caso seja seleccionado um mapa sem cobertura para a localização corrente é obtida uma imagem em branco no ecrã.

A lista de mapas online pode ser enriquecida através da adição de mapas que cumpram a norma WMS (Web Map Service, protocolo aberto originalmente desenvolvido pelo Geospatial Consortium e que tem como objectivo a disponibilização de imagens geo-referenciadas sobre canal Internet e a partir de bases de dados GIS).

Em Portugal, o Instituto Geográfico Português (IGP) através do serviço m@pas online disponibiliza ao gratuitamente  um conjunto de serviços de dados geográficos de acordo com os padrões do Open GeoSpatial Consortium, Web Map Service (WMS) e Web Feature Service (WFS). Através deste serviço  é possível visualizar:

  • Carta Administrativa Oficial de Portugal – CAOP2010,
  • Carta de Risco de Incêndio Florestal (CRIF),
  • Carta de Portugal 1:500 000,
  • Carta de Portugal 1:200 000,
  • Carta de Portugal 1:100 000,
  • Carta de Portugal 1:50 000,
  • Ortofotomapas e
  • Planos de voo da Fototeca .

 

Estes serviços podem ser acedidos a partir de http://mapas.igeo.pt/

Para usar WMS com OruxMaps deveremos instalar na pasta  “oruxmaps/mapfiles” um ficheiro no formato XML (wms_services.xml) com as definições dos serviços a aceder.

É editável, de modo a receber novos wms. Para tal o utilizador necessita de:

  • Especificar o URL do wms,
  • Definir um ID único,
  • Determinar os níveis de ampliação a consultar,
  • Especificar as camadas a visualizar,
  • Formato da imagem a pedir ao servidor.

 

O OruxMaps descarrega e armazena automaticamente na memória do dispositivo Android os mapas por onde o utilizador se desloca, de modo a não ter que descarregar os dados de novo.

Os dados guardados em cache ficam, pois, disponíveis para serem utilizados offline.

Por omissão o OruxMaps define uma cache com a dimensão mínima de 256Mb e a dimensão máxima de  512Mb. Tais valores podem ser ajustados pelo utilizador. Basta aceder à secção Settings > Map Online.

Em OruxMaps, a cache traduz-se num ficheiro (OruxMapsCacheImages.db), armazenado na pasta “oruxmaps/mapfiles”.

Para além do recurso à cache, o utilizador pode ainda criar directa e de forma integrada conjuntos de mapas offline a partir de fontes online. Utiliza um gerador interno e deve ser utilizado apenas quando se possui uma boa conexão WIFI, dado o peso que tais mapas apresentam.

Estes mapas offline serão armazenados na pasta “oruxmaps/mapfiles” do cartão de memória.

Trata-se de uma opção que tem a vantagem de permitir ao utilizador especificar a área geográfica e os níveis de ampliação a descarregar e a armazenar.

Seleccionada a fonte (mapa online), o utilizador pode dar início ao processo através de Menu > Tools  > Map Creator.

Não se trata de um método flexível já que obriga à especificação dos limites latitude/longitude sob a forma de valor e não de modo geográfico, bem como dos níveis de ampliação.

A selecção de níveis de ampliação superiores requer mais espaço, algo que o OruxMaps vai informando. O máximo permitido é de 2Gb.

Definida a área de uma mapa a criar temos que atribuir-lhe um nome. Este é armazenado junto de outros mapas offline e acede-se do mesmo modo que aqueles.

OruxMaps: Navegação 4×4 em Android (Parte II – Funcionalidades e operações básicas)

O OruxMaps suporta já de forma integrada receptores GPS Bluetooth, o que se traduz numa vantagem para dispostivos Android (smartphones ou tablets) desprovidos de tais receptores internos.

Nas nossas experiências obtivemos mesmo assim melhores resultados utilizando aplicações de terceiros. Ou seja, recorremos a aplicações (no caso concreto a aplicação BlueGPS)  que, depois de emparelhado o receptor (BT 338, possuidor de  processador SirfStar III) com o dispositivo Android, fornecem elas os dados NMEA  ao OruxMaps.

Pontos de passagem (waypoints) .

O OruxMaps permite criar pontos de passagem (locais de interesse registados e armazenados no dispostivo). Estes podem ser organizados como rotas (sequência de pontos de passagem intermédios que conduzem a um destino).

É possível criar rapidamente um ponto de passagem, utilizando para tal a barra de botões que ocupa o topo do ecrã.  Assim, basta tocar no botão “Create Waypoint”.

Aparecerá ao utilizador uma janela com as propriedades a carregar para o ponto.

São propriedades do ponto de passagem, passíveis de edição:

  • Nome;
  • Símbolo, seleccionável a partir de uma lista;
  • Coordenadas;
  • Projecção, que permite criar um ponto deslocado da localização corrente numa determinada distância e direcção;
  • “Geocoding” ou atribuição de  identificadores geográficos à localização corrente (requer conexão à Internet);
  • Extensões informativas ao ponto, como sejam imagens, audios, vídeos ou textos a anexar.

 

Se possuirmos um trajecto activo o OruxMaps apenas exibirá os pontos desse mesmo trajecto, caso contrário serão visualizados todos os pontos armazenados na base de dados.

O utilizador pode aceder à janela de gestão dos pontos de passagem armazenados  apartir do Menu definições do Android.

Nesta janela é possível realizar várias acções, como sejam:

  • Ordenar a lista de pontos;
  • Fitrar, criando assim subconjuntos de pontos;
  • Reiniciar / limpar filtro;
  • Exibir no mapa os pontos listados / seleccionados;
  • Criar uma rota a partir do pontos listados / seleccionados;
  • Eliminar todos os pontos;
  • Importar pontos, a partir de ficheiros .GPX ou .KML;
  • Exportar pontos para ficheiros .GPX ou .KML.

 

Se se seleccionar um ponto surgem ao utilizador outras opções:

  • Editar as propriedades básicas do ponto;
  • Eliminar o ponto da base de dados;
  • Aceder  às extensões informacionais do ponto, como sejam os conteúdos multimédia anexos;
  • Visualizar o ponto no mapa;
  • Alterar o posicionamento do ponto na lista de pontos seleccionados / filtrados;
  • Eliminar o ponto da lista de pontos seleccionados / filtrados.

 

Trajectos e rotas.

O botão “Track logging” activa o modo de registo e armazenamento de trajectos, cujo nome por omissão assume o valor data + hora.

É a partir deste botão que se traçará o trajecto sobre o mapa, o qual toma a cor vermelha (valor alterável, bem como a espessura do traço, na janela de Definições). Caso exista um trajecto já iniciado o OruxMaps pergunta ao utilizador se pretende prolongar o segmento anterior, criar um novo segmento ou iniciar um novo trajecto (o qual eliminará o trajecto até aí visível).

Tendo o modo de “track log” activo e tocando no botão “Track logging”, o registo do trajecto é interrompido e os dados até aí recolhidos são armazenados na base de dados.

É possível aceder à janela de gestão de trajectos armazenados a partir de Menu > Tracks. Tal como no caso dos pontos de passagem é possível filtrá-los, importar/exportar trajectos a partir de ficheiros nos formatos .GPX ou .KML, e seleccionar qual o trajecto a exibir no mapa. Aliás esta é mesmo uma das maiores limitações da actual versão do  OruxMaps, pois a mesma apenas deixa exibir um trajecto de cada vez.

Seleccionado um trajecto da janela de gestão é possivel ao utilizador aceder, para além das operações “normais” de edição, a:

  • Estatísticas;

  • Continuar o trajecto (operação que carrega o trajecto no ecrã e permite ao utilizador adicionar-lhe novos segmentos e pontos);
  • Abrir o trajecto como rota;

 

Esta última opção activa o botão “Route” , com as suas correspondentes opções:

  • Eliminar do visor a rota activa;
  • Inverter a rota;
  • Seguir a rota activa;
  • Navegar de ponto de passagem em ponto de passagem (distância e rumo ao ponto de destino);
  • Aviso de afastamento da rota activa;
  • Aviso de proximidade de um ponto de passagem.

 

Nas experiências até agora realizadas o OruxMaps revelou-se um produto bastante competente. Muito preciso na marcação da localização e sem atrasos no registo dos trajectos. Também a transição entre mapas teve um bom desempenho.

Nota-se que o Ozi consegue fazer um melhor trabalho de processamento das imagens raster  no seu formato proprietário (OZF3) que o OruxMaps, mas essa é uma questão a abordar mais à frente.

Talvez por também estarmos demasiado habituados ao OziExplorer demos por nós a cometer o mesmo erro de ampliação do mapa (+ / -). Efectivamente,  tais botões podem ampliar o mapa, mas, se nas definições tivermos activado a opção de carregamento automático de mapas mais detalhados,  aqueles activam também essa busca (mais ou menos detalhado).

No próximo artigo iremos abordar a navegação em mapas on-line, gestão dos mesmos e armazenamento em modo local (recurso à cache). O último artigo será dedicado à navegação em mapas off-line e preparação dos mesmos a partir de ferramentas como o OruxMpas Desktop e o Mobile Atlas Creator.