telecomHall BR

 

Hunter GE Network (Sectors)

terça-feira, 6 de abril de 2010 20:00:00 Categories: Access Google Earth Hunter
Rate this Content 0 Votes

Plotar os dados dos sites da nossa rede no Google Earth já foi o começo, e tivemos o nosso primeiro contato com a forma em que isso é feito. Tão ou mais importante que as informações dos sites são as informações dos setores, ou seja, a visualização dos setores de nossas BTS’s.

 

 

 

Objetivo

A partir das informações do azimute das antenas de cada setor, gerar automaticamente um arquivo que possa ser aberto pelo Google Earth, com linhas indicando a direção do mesmo.

Porque o Hunter utiliza linhas ao invés de imagens ou polígonos para representar os setores? Bom, primeiro é importante saber que seria é possível criamos os setorescom esse tipo de ilustração (no futuro até faremos isso), porém as linhas apresentam algumas vantagens. Por exemplo, quando tivermos mais de uma tecnologia em nossa rede (no momento estamos trabalhando com dados fictícios de exemplos apenas GSM), os setores de todas as tecnologias poderão ser visualizados ao mesmo tempo; colorindo as linhas de cada tecnologia com uma cor diferente, facilmente comparamos os diferentes azimutes. Outra vantagem é que a linha carrega muito mais rápido no Google Earth. E agilidade nunca é demais.

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_004_Hunter_GE_Network (Sectors).zip. Utilize o suporte para qualquer dúvida ou problema que encontrar.

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

Dessa vez não será necessário criarmos nenhuma nova pasta para colocar os arquivos que vamos utilizar. Isso porque continuaremos trabalhando com o módulo GE Network, e já criamos a estrutura do mesmo previamente.

Quanto aos arquivos, utilizaremos o mesmo nome da lição anterior (na verdade tem o nome Sectors entre parênteses, só para indicar que é o arquivo de exemplo deste tutorial; assim você pode por exemplo comparar o que há de novo em relação ao arquivo de exemplo do tutorial anterior). Você pode simplesmente sobrescrever os arquivos atuais pelos novos, que somente contém mais dados e códigos. De qualquer forma, os arquivos originais de cada lição estão disponíveis e você pode tornar a baixá-los sempre que desejar.

Já temos a estrutura, vamos começar.

 

Um pouco de matemática

Nosso objetivo hoje é gerar os setores em forma de linhas. Para gerar uma linha, são necessários dois pontos, o seu ângulo e o seu comprimento. Porém ás únicas informações que temos são as do ponto inicial (latitude e longitude do site) (1) e o ângulo (azimute da antena) (2).

Nossa distância é uma constante - todos os setores devem ter o mesmo tamanho. Então, utilizando a matemática encontramos o outro ponto!

Os nossos dados necessários ficam assim:

  • lat_i: latitude inicial do setor. Campo LAT_DEC da nossa tabela;
  • lon_i: longitude inicial do setor. Campo LON_DEC da nossa tabela;
  • angle: ângulo do setor. Campo ANT_AZIM da nossa tabela;
  • sector_len: valor constante que definimos para obter um determinado comprimento do setor;
  • lat_i: latitude final do setor. Campo calculado = [lat_i]+sin([angle]*pi/180)*sector_len;
  • lon_f: longitude final do setor. Campo calculado = [lon_i]+cos([angle]*pi/180)*sector_len;

Então, precisamos saber como adicionar esses campos calculados a nossa consulta que será criada com todos os dados necessários para gerar o arquivo de saída.

Criar um campo calculado numa consulta é bem simples, e bem parecido com a forma como alteramos os nomes dos campos da tabela para nomes mais representativos. A sintaxe é a mesma, basta indicarmos o nome do campo calculado, seguido de “:” e da expressão de cálculo, que nosso caso foi mostrada acima. Só uma diferença é que precisamos alterar a linha de totais, informando que agora o campo é calculado através de uma expressão.

Assim, devemos criar a nossa consulta, e incluir os campos com a informação de latitude final do setor (1), o campo calculado:

lat_f: ( [lat_i] + Cos( [ANT_AZIM] * 3.141592654 / 180 ) * 0.0002 )

E também para a informação de longitude final do setor (2), o campo calculado:

lon_f: ( [lon_i] + Sin( [ANT_AZIM] * 3.141592654 / 180 ) * 0.0002 ).

Observe que definimos o valor constante sector_len como 0.0002. Esse valor vai resultar numa distância de cerca de 200 metros. Alterando esse valor, você altera o tamanho do mesmo. E para o valor de PI utilizamos 9 casas decimais.

Os novos campos de nossa consulta ficam assim.

 

E o resultado da execução da consulta assim.

 

Note que não foi preciso utilizar o campo ANT_AZIM como campo de saída, embora ele tenha sido utilizado nos cálculos.

 

Criando o código

Nessa lição estamos alterando o código criado previamente para plotar os sites. Precisamos plotar o setor como uma linha, então a primeira coisa a fazer é verificar como é o formato do Google Earth para linhas. Utilizando o mesmo procedimento reverso – criar uma linha no Google Earth, exportar e inspecionar o arquivo gerado, vemos que a linha é definida pela tag LineString (1). Os pontos inicial e final ficam entre as tags coordinates (2), conforme vemos abaixo.

 

Novamente não vamos nos preocupar agora com a altitude (o zero logo após latitude, longitude), pois essa informação não interessa no momento.

O código completo para gerar o nosso arquivo, contendo todas as alterações dessa lição encontra-se disponível no arquivo que você baixou no início desse tutorial.

 

Todo o código está comentado, e sugerimos que você o leia.

 

Executando o código

Para terminar, vamos executar o código através da macro que já está criada.

Da forma que a macro criamos na lição anterior, não recebemos nenhuma confirmação de que o arquivo havia sido criado. Porém podemos incluir mais uma ação na nossa macro, a ser realizada depois que o código for executado, e informar através de uma Caixa de Mensagem padrão do Windows que o processamento terminou.

Então, alteramos a macro criada clicando com o botão direito sobre a mesma e escolhendo Design (1).

 

Na segunda linha, incluímos então uma nova ação: Caixa de Mensagem (1).

 

E nos argumentos dessa ação, digitamos a nossa mensagem informando que o código foi executado, e o arquivo criado: “Output file successfully created at C:\Hunter\GE\Network\Output !” (1). Para melhorar a interface de comunicação, colocamos o nome da caixa de texto como “Hunter GE Network” (2).

 

Para terminar, salvamos a macro, mantendo o mesmo nome.

Pronto. Com um duplo clique, executamos a macro, que chama o código – primeira ação que indicamos, e quando terminar a execução, mostra uma caixa de mensagem conforme definimos.

 

Abra o arquivo criado, e confira como os sites e setores da nossa rede foram plotados no Google Earth!

 

Estamos caminhando, e pode até parecer que não, mas já temos criamos um programa completo, que já faz aquilo que não é possível fazer através da interface do Google Earth, como por exemplo criar os setores. Ainda é simples, não temos dúvida. Mas já é algo que muita gente não consegue fazer.

Nota: Daqui pra frente estaremos aumentando um pouco o nosso ritmo de tutoriais. Por isso, é MUITO importante que você tenha entendido bem tudo o que foi mostrado até agora, e que tenha conseguido reproduzir e entender todos os códigos (veja que até agora forma razoavelmente simples!). Por favor informe se por acaso não conseguir acompanhar, para uma ajuda mais específica nas suas dúvidas.

Além dissso, existem alguns detalhes que não são mostrados propositalmente. Vamos dar um exemplo: o código já poderia ter sido escrito com uma função chamando outras sub-funções. Não tenha dúvida, faremos isso em breve. Mas é que fica mais fácil para quem nunca escreveu uma macro, entender os ganhos e a organizaçao que temos quando fazemos isso.

Outra coisa, a nossa aplicação ainda está bem simples – não acontece nada quando clicamos nos marcadores, etc. Isso também é proposital. No próximo tutorial veremos como profissionalizare finalizar nossa aplicação (com legendas, cliques, folders, etc...).

Portanto: entendam todo o básico que foi mostrado até aqui, para evoluirmos mais a partir de agora. Qualquer problema: suporte!

 

Conclusão

Com essa lição aprendemos como utilizar código no Access para criar linhas, que nosso caso servem para indicar a direção (Azimute da Antena) dos setores da nossa rede, num arquivo no formato do Google Earth.

Esperamos que você tenha gostado. Tire suas eventuais dúvidas postando seus comentários no Blog ou através do nosso Suporte através do Chat ou E-mail.

Até nosso próximo encontro, e lembre-se: O seu sucesso é o nosso sucesso!