telecomHall BR

 

Mapinfo Network

terça-feira, 20 de abril de 2010 20:00:00 Categories: Mapbasic Mapinfo
Rate this Content 0 Votes

As análises geo-referenciadas são bastante utilizadas na área de Telecom e TI. Até agora utilizamos um pouco os programas Access e Google Earth para facilitar a obtenção dos dados geo-referenciados, porém existem diversas outras ferramentas tão boas quantos estas, e também largamente utilizadas. É o caso por exemplo do Mapinfo, que ainda utiliza SQL e também possui uma linguagem própria de automação – o Mapbasic. Vamos ter hoje o nosso primeiro contato com ele, e com algumas dicas de utilização do programa. Posteriormente voltaremos a utilizar o Google Earth e outras ferramentas, aprendendo a obter o que elas têm de melhor para facilitar as nossas análises e o trabalho do dia-a-dia.

 

 

E tem uma coisa muito importante: aprendendo a usar o Mapinfo, e se familiarizando com sua interface, você estará familiarizado com ferramentas de predição e drive test, que no geral seguem os mesmos conceitos como áreas de trabalho, camadas, etc.

 

Objetivo

A partir das informações dos dados de nossa rede, plotar os dados de Sites e Setores no Mapinfo, e principalmente, aprender como utilizar o programa, e ainda algumas dicas.

Neste estudo, estaremos visualizando as aplicações básicas de utilização do Mapinfo como ferramenta auxiliar nas atividades de Telecom e TI. Estas aplicações envolvem , por exemplo, visualização gráfica da planta celular , planejamento de Plano de Frequências, análise de Drive Testes e Verificação da Performance da Rede (KPI’s).

Observação: Na grande maioria dos tutoriais temos os arquivos relacionados, e que são enviados para os Assinantes.

Se você é um assinante, por favor, verifique em seu e-mail o arquivo Blog_006_Mapinfo_Network.zip. Utilize o suporte para qualquer dúvida ou problema que encontrar, ou se precisar de ajuda para baixar e/ou instalar o Mapinfo e Mapbasic.

Se você é um membro, e tem acesso ao tutorial escrito, aprenderá sempre conceitos muito importantes que com certeza vão lhe ajudar em seus próprios desenvolvimentos. Você comprovará em cada novo tutorial!

 

Estrutura de Arquivos

Como de costume, crie uma estrutura para conter os arquivos desse módulo.

Na raiz do diretório Hunter, crie o diretório MI (1). Logo abaixo do diretório MI, crie o diretório Network (2). Por fim, crie abaixo desse diretório os diretórios Data e Scripts (3).

 

Com a estrutura pronta, podemos começar.

 

Preparando os dados

Os dados que podem ser processados pelo MapInfo podem ter várias origens diferentes, o que torna este software bastante versátil.

De uma forma simples, devemos ter as informações das coordenadas e as demais informações relacionadas às mesmas, que definirá a visualização gráfica dos dados. Os formatos podem estar como Texto, Excel e inúmeros outros, mas cada formato específico deverá ser apropriadamente configurado para que representem as informações esperadas.

Já temos disponíveis os dados da nossa rede na forma de uma tabela tbl_Network. Uma forma de trabalharmos seria exportar duas planilhas do Excel a partir desta tabela, uma para Sites e outra para Setores. E é o que vamos fazer hoje, para aprendermos alguns conceitos de utilização do Mapinfo. Posteriormente, veremos outras formas de atingir o mesmo resultado, inclusive melhores formas com utilização de automatização através de scripts.

A fim de exportar os dados para uma forma adequada, vamos utilizar o arquivo do Access Hunter_MI_Network_RUN.mdb, localizado na pasta Scripts do módulo MI Network. Este arquivo possui a nossa tabela vinculada, duas consultas semelhantes às que criamos para gerar os dados de sites e setores no Google Earth (módulo GE Network), e uma macro, para exportar os dados das consultas para o Excel.

No Access, criamos essa macro MI_Network_Main_RUN. Para que ela exporte os dados de cada uma das consultas para o Excel, definimos como ação o item SaídaPara (1).

 

E nos argumentos da Ação, definimos o que queremos. No caso, para Tipo de Objeto selecionamos Consulta (1). Em Nome do Objeto, selecionamos a consulta que desejamos exportar (2). Em Formato de Saída, escolhemos *.xls (3). E em Arquivo de Saída, digitamos o nome do arquivo, inclusive com o caminho, que no nosso caso é o diretório Data do módulo MI Network (4). Existem outros argumentos opcionais, que podemos deixar como estão.

 

Nota: observe que a macro vai realizar duas ações, por isso incluímos duas linhas de ações SaídaPara. Nos argumentos da primeira configuramos para Sites, e na segunda, para Setores.

Executamos então a macro MI_Network_Main_RUN e geramos os arquivos Sites.xls e Sectors.xls, na pasta Data do módulo MI Network.

 

Importando ou Abrindo os dados da tabela?

A primeira coisa a fazer para trabalharmos com os dados no Mapinfo é trazê-los para dentro do mesmo, e as opções são abrir ou importar.

Como informação, existem dois caminhos distintos, dependendo do tipo de base de dados. Para arquivos do tipo .xls , .txt, .tab, .jpg , .bmp e outros, abrimos os mesmos selecionando Menu Arquivo (1) -> Abrir (2). Quando o arquivo for do tipo .mif, .dxf, .bi , .mmi , .img e outros, estas deverão ser importadas através do Menu Tabela (3) -> Importar (4).

 

No nosso caso, vamos abrir uma tabela que está num arquivo do Excel, ou seja, utilizaremos o Menu Arquivo -> Abrir conforme falamos acima. Na caixa de diálogo, alteramos a opção de Tipo de Arquivo (1) como Microsoft Excel 95 (*.xls), navegamos até o arquivo de Sites (2) e por fim clicamos no botão Abrir (3).

 

Observação: vamos seguir o procedimento para plotar os dados da tabela Sites. Só depois vamos abrir a tabela Sectors, para ficar mais fácil de se acompanhar.

Após clicar no botão Abrir, surge uma caixa de diálogo. Nela devemos informar como está à disposição dos dados no nosso arquivo – qual a extensão dos dados, e se a primeira linha contém os títulos das colunas. Como temos apenas uma consulta exportada para cada um dos arquivos, o Mapinfo já identifica a extensão. Mas precisamos informar que a primeira linha contém os títulos das colunas, e não dados. Assim, marcamos a opção “Use a linha acima do range selecionado como coluna de títulos” (1), e clicamos no botão OK (2). Observe que em Valor Atual (3) temos a real extensão dos dados que serão importados.

 

Novamente após clicar no botão OK, surge uma outra caixa de diálogo. Aqui temos a opção de alterar algumas propriedades dos campos da nossa tabela, como os nomes e tipos dos campos. O mais importante mesmo é verificar se o Mapinfo identificou como do tipo Duplo os campos que serão utilizados no geo-referenciamento (latitude e longitude). Se por acaso não tivesse identificado, poderíamos então alterar. Como tudo está correto, simplesmente clicamos no botão OK (1).

 

Após abrir a tabela Sites com o procedimento acima, a mesma encontra-se disponível no Mapinfo, inclusive já é aberta para visualização.

 

Nota: Acima temos apenas a visualização da tabela na área principal. Você pode fechar essa visualização no X do canto superior direito dessa tabela, porém a tabela permanece com o status de Aberta pelo Mapinfo. Para fechar realmente uma tabela, você deve utilizar a opção do Menu File -> Close Table.

Essa listagem ou tabela é uma cópia fiel dos dados dos arquivos Excel, que serão utilizados para a visualização gráfica.

 

Criando os pontos dos Sites

Tudo bem, nossos dados dos sites já estão abertos pelo Mapinfo de forma tabular. Mas o Mapinfo ainda não sabe que existem campos que definem latitude e longitude, muito menos quais são eles. Assim, e sempre que importarmos dados tabulares contendo informações geográficas, precisamos informar ao Mapinfo para criar pontos usando os campos que correspondem a latitude e longitude na nossa tabela.

Para isso, acessamos o Menu Tabela (1) -> Criar Pontos (2), onde selecionamos a tabela para o qual iremos criar os pontos e orientamos o MapInfo a obter as informações de coordenadas que definirão a localização dos elementos de mapa.

 

O sistema de coordenadas geográficas utiliza o eixo X para a definição de longitude e o eixo Y para a Latitude. Além disso, foi padronizado que coordenadas localizadas a Leste e Norte seriam positivas, e as localizadas a Oeste e Sul seriam negativas. Assim, na nova caixa de diálogo Criar Pontos, ajustamos as informações. A tabela para o qual vamos criar os pontos é a tabela Sites (1). Como informação das coordenadas X escolhemos longitude (2). E como informação das coordenadas Y escolhemos latitude (3).

 

Quando clicamos no botão OK, a janela simplesmente desaparece, dando a impressão de que nada aconteceu. Mas a operação anterior criou os pontos para cada par de coordenadas, só que para visualizarmos os dados precisamos criar um Mapa.

Para criar um novo Mapa, e visualizar os pontos dos sites, selecione Menu Janelas -> Nova Janela de Mapa.

 

A janela com o novo mapa é então mostrada, com os pontos identificadores dos elementos no mapa. Convém observarmos que esta janela foi criada automaticamente devido ao fato de termos apenas uma tabela aberta, e com pontos criados. Caso contrário, seria aberta uma caixa de diálogo perguntando a partir de qual tabela deveria ser criado o mapa.

O mapa mostrado permite uma série de ajustes para que possamos visualizar melhor os dados de que dispomos. Isso são recursos do Mapinfo, que exploraremos com a utilização, por exemplo aplicando Zoom, alterando tipos, símbolos, etc.

Algumas dessas opções são mais específicas e bem úteis, como a opção de visualizar nível completo, que pode ser acessada através do Menu Mapa (1) -> Visualizar Nível Completo (2) - ou pelo menu do botão direito do mouse, em seguida selecionando a tabela para o qual desejamos ver todos os pontos.

 

Camadas

Um conceito importante no Mapinfo é o de visualizar as informações dos mapas como várias camadas ou níveis distintos. Cada camada se comporta de forma individual, tendo seus atributos e controles individuais. Uma analogia que podemos fazer é com a sobreposição de transparências. Cada janela de mapa pode conter qualquer quantidade de camadas, e é possível alternar a sequência de sobreposição entre elas.

O Gerenciador de Camadas pode ser acessado através do Menu Mapa (1) -> Controle de Camadas (2), ou então pelo Menu do botão direito do mouse.

 

É através do Gerenciador de Camadas que alteramos as propriedades de cada layer (1), removemos ou adicionamos novas camadas (2), e alteramos a sequência dos mesmos (3). Ainda podemos alterar opções de Simbolos e Cores (4) e Texto (5). Veremos como trabalhar com o Gerenciador de Camadas com mais detalhes em outra oportunidade.

 

Outras Funcionalidades

O Mapinfo tem ainda uma enorme quantidade de funcionalidades interessantes, como por exemplo a criação de mapas temáticos, ou seja, baseado nas informações de um ou mais pontos, fazer ajustes de cores, símbolos, etc. Num exemplo bem simples de mapa temático, com um campo associado por exemplo valor, poderíamos plotar os pontos com valores negativos com um círculo vermelho, e os positivos com um símbolo verde.

Outra fantástica funcionalidade é a habilidade de utilizar SQL para trabalhar com as tabelas abertas, criando consultas, ou até filtrar/selecionar os dados no mapa.

Mas como hoje nosso objetivo é apenas plotar os dados iniciais de sites e setores da nossa rede, e ter o primeiro contato com o Mapinfo, vamos deixar para falar mais sobre Mapas Temáticos, consultas SQL, e demais opções em outras oportunidades.

 

Mapbasic

O Mapinfo tem sua linguagem de programação própria, o Mapbasic. É parecido com o Visual Basic, mas infelizmente não tem um ambiente de programação com tantos recursos como o ambiente VBE, como por exemplo as facilidades de debugar o código, executando passo a passo inspecionando o valor de cada variável.

Os códigos escritos são salvos em arquivos com extensão do tipo MB, e os códigos compilados (executáveis pelo Mapinfo) são salvos com a extensão do tipo MBX. O ambiente para criarmos os códigos se assemelha ao Bloco de Notas do Windows, e precisamos fazer tudo “na mão” mesmo. Não existe por exemplo a opção de “gravar macro”.

Mesmo assim, existem poderosas aplicações criadas em Mapbasic. O compilador Mapbasic é um programa a parte, e deve ser baixado separadamente. Em breve vamos utilizar o Mapbasic em nosso sistema, e aí veremos com mais detalhes.

 

Mapbasic no Mapinfo

Quando formos tentar plotar os setores no Mapinfo, surgirá um problema: A representação geográfica dos setores, como sabemos, é uma linha. Mas como criar as linhas? Acredite, o Mapinfo não tem uma forma de fazermos isso através de sua interface!

Para conseguirmos isso, precisamos utilizar o Mapbasic. Por sorte, temos pelo menos uma ajuda quando o assunto é Mapbasic. O Mapinfo, através de sua interface principal, permite abrir uma janela especial – a janela Mapbasic. Menu Opções -> Mostrar Janela Mapbasic, ou Menu Janela -> Mostrar Janela Mapbasic.

 

Não é preciso ter o Mapbasic instalado para utilizar a Janela Mapbasic, nem para executar comandos Mapbasic. Também não é preciso ter o Mapbasic instalado para rodar programas Mapbasic (MBX), ou seja, você pode rodar arquivos MBX no Mapinfo. Existe até uma opção do Menu para isso: Menu Ferramentas (1) -> Rodar Programa Mapbasic... (2).

 

Certo, mas não vamos falar de programas Mapbasic hoje ainda, então vamos continuar, e ver como fazer isso utilizando apenas a Janela Mapbasic.

A janela do Mapbasic mostra a sintaxe de todos os comandos conforme os realizamos. Com a janela Mapbasic aberta, selecionamos o Menu Janela -> Nova Janela de Mapa. Uma nova janela, com um novo mapa é gerado. Porém, observe que a Janela Mapbasic agora não está mais vazia. Temos a sintaxe do comando para abrir uma nova janela de mapa para a tabela Sites.

 

Agora, o mais interessante: o inverso também é possível, ou seja, se soubermos a sintaxe do comando Mapbasic, podemos simplesmente digitar na Janela Mapbasic, selecionar, e apertar a tecla Enter. Na área de trabalho do Mapinfo temos agora o Mapa 1, criado para demonstração inicial. Mapa 2, criado através do Menu, com a Janela Mapbasic aberta, para descobrirmos a sintaxe. E Mapa 3, criado através da Janela Mapbasic.

 

Criando Setores no Mapinfo

Finalmente, vamos criar os setores. Primeiro, seguimos o mesmo procedimento utilizado anteriormente para abrir a tabela Sites, e abrimos a tabela Sectors, e também a Janela Mapbasic.

Em seguida, precisamos também criar os pontos, utilizando os dados de latitude e longitude do site, pois é a ação criar pontos que transforma cada registro (linha da tabela) num objeto geo-referenciado. Aí podemos então atualizar esse objetos, criando as linhas dos setores, executando a seguinte instrução na Janela Mapbasic: Update Sectors Set Obj=Createline(lon_i,lat_i,lon_f,lat_f).

 

Observação: vamos ver como encontrar esta sintaxe do Mapbasic para criar linhas, e diversas outras, veremos quando passarmos a criar os nossos códigos no Mapbasic.

Pronto! Os nossos setores são plotados de acordo com as informações de nossa tabela original.

 

Para finalizar, utilize o Gerenciador de Camadas, e deixe apenas uma janela de Mapa, contendo os dados geo-referenciados de Sites e Setores.

 

Salvando o nosso trabalho

A qualquer momento, todas as informações dessa nossa seção ou área de trabalho podem ser gravados para visualização futura. Este processo é realizado através do Menu Arquivo (1) -> Salvar Área de Trabalho (2). Futuramente podemos simplesmente abrir o Mapinfo e abrir a nossa área de trabalho, que os dados aparecerão da mesma forma como salvamos. Salve como Mapinfo_Network.wor, na pasta Data.

 

Conclusão

Neste tutorial tivemos nosso primeiro contato com o Mapinfo, ferramenta de geo-referenciamento tão boa importante quanto o Google Earth para nossas análises. Aprendemos como criar Sites e Setores no Mapinfo, a partir dos dados de nossa tabela tbl_Network, utilizando apenas a interface do mesmo. Também conhecemos o Mapbasic, que será usado em tutoriais futuros.