Hunter GE Network (Sites)

-março de 2010+
dstqqss
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
  • RSS
  • Subscribe

Estatísticas

  • Entradas (42)
  • Comentários (21)
terça-feira, 30 de março de 2010 20:00:00 Categories: Access Google Earth Hunter
Rate this Content 1 Votes

Se tem um fato que ninguém pode negar hoje em dia é a extrema importância do Google e das ferramentas que fazem parte dele. E uma dessas ferramentas é o Google Earth, realmente de grande ajuda para nossa área de Telecom e TI, embora seja utilizado para inúmeras outras aplicações. Só que geralmente as pessoas a utilizam apenas uma pequena parte do seu potencial, como simples usuários. Porém, conhecendo alguns segredos, você se destacará facilmente.

 

 

 

Objetivo

A partir das informações de latitude e longitude, gerar automaticamente um arquivo que possa ser aberto pelo Google Earth, mostrando os pontos dos sites.

Antes de prosseguir, sugerimos a leitura da dica sobre o Google Earth. Você aprenderá como baixar, instalar e principalmente, conhecer algumas dicas interessantes sobre essa poderosa aplicação do Google.

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_003_Hunter_GE_Network (Sites).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

Como de costume, precisaremos criar as pastas onde colocaremos os arquivos que vamos utilizar.

(1) Crie o diretório GE, logo abaixo do diretório principal Hunter, previamente criado. Nota: O diretório GE na verdade será o diretório principal de uma série de ferramentas que desenvolveremos com o Google Earth, como plots de drive tests, etc.

(2) Crie o diretório Network logo abaixo do diretório GE, que é o diretório principal do nosso módulo (GE Network).

(3) Crie o diretório Output: onde ficam os arquivos de saída desse módulo.

(4) Crie o diretório Scripts: local para armazenamento dos scripts desse módulo.

Nota: Se você é um assinante, basta desanexar os arquivos recebidos para o local correspondente. Uma forma rápida é desanexar o arquivo ZIP na raiz do seu computador (diretório “C:\”); em seguida clicar com o botão direito do mouse no arquivo, e escolher “Extrair aqui...”. Quando perguntado se deseja sobrescrever os arquivos que porventura existam na pasta Hunter (que já existe!), responda que sim. Pronto!

Nossa estrutura agora fica assim:

 

Estamos prontos para começar.

Você pode programar até com um Editor de Texto simples!

Nesse módulo, teremos o nosso primeiro contato com programação. Só para mostrar que programação pode ser simples e eficiente, vamos fazer um programa sem usar uma ferramenta de programação!

E aqui já vai um conceito muito importante: praticamente tudo pode ser feito, não existem limites, e quando eles aparecem, em breve alguém irá ultrapassá-los!

Uma forma interessante de chegarmos a um objetivo – no nosso caso aqui gerar um arquivo que possa ser lido pelo Google Earth – é fazendo uma engenharia reversa (calma, só o nome é feio). No nosso caso, vamos abrir o Google Earth, adicionar um marcador e gerar o arquivo de saída normalmente través da ferramenta. Em seguida, vamos ver quais os dados precisam estar nesse arquivo e melhor, como modificá-lo!

Então, abra o Google Earth, adicione um marcador (1) e clique no botão OK (2).

 

Depois clique com o botão direito nesse marcador e escolha Salvar lugar como (1).

 

Salve esse arquivo em qualquer pasta, mas escolha tipo KML (1) ao invés de KMZ.

 

Agora, utilizando o Windows Explorer, clique com o botão direito nesse arquivo e escolha Abrir Com... (1).

 

Na janela que aparecer, selecione o WordPad (1) e clique no botão OK (2). Podemos usar o Bloco de Notas, mas fica mais fácil de ver no WordPad.

 

Localize nesse arquivo o bloco de texto abaixo. O nome do marcador é definido pelo texto que estiver entre as tags <name> e </name> (1). A latitude, longitude e altitude do ponto são definidos pelos valores que estiverem entre as tags as <coordinates> e </coordinates> (2).

 

Altere o nome padrão entre as tags name de Untitled Placemark para telecomHall!!!, e salve o arquivo.

Agora, abra novamente esse arquivo, com um duplo clique no Windows Explorer ou localizando através da interface Google Earth. Desmarque ou apague o seu marcador original. Veja o resultado.

 

Esse foi um exemplo muito simples, e é claro que não vamos ficar alterando os nossos dados na mão, com esse procedimento simples você viu como pode criar seus próprios arquivos no formato do Google Earth!

Em resumo: entendendo a estrutura do arquivo KML podemos criar - através de códigos ou mesmo na mão como fizemos - tudo aquilo que podemos fazer utilizando o programa. Como veremos com o tempo, vamos criar poderosas aplicações que vão nos ajudar bastante nas nossas análises!

Vamos começar hoje plotando os nossos dados da nossa rede, armazenados na tabela tbl_Network do módulo Hunter Network, diretamente no Google Earth!

 

Alguns novos conceitos: Tabelas Vinculadas

Já temos os dados da nossa rede – tabela tbl_Network do módulo Hunter Network. Já sabemos o formato do arquivo que precisamos criar ou gerar. Então, só precisamos agora ver como criar um arquivo nesse formato utilizando o Access. Oportunamente, veremos como gerar com outros programas, como o Excel.

A primeira coisa a se pensar seria criar uma macro dentro do próprio database Hunter_Network_DB.mdb, que contém a nossa tabela, para gerar os dados. Poderíamos até fazer isso. Mas com o tempo, e com novas e diversas aplicações desenvolvidas, ficaria muito difícil a organização, pois cada uma tem poder conter uma série específica de consultas, tabelas, macros, etc.

Além disso, é interessante criarmos uma cultura de Cliente x Servidor, ou seja, o banco de dados Hunter_Network_DB contém os dados, e um outro arquivo é criado como o cliente que acessará os dados no nosso repositório.

Para isso, primeiro criamos um novo arquivo do Access, com o nome GE_Network_1.0_RUN.mdb, dentro da pasta Scripts do módulo Hunter GE Network.

Em seguida, nesse arquivo que na verdade será nossa aplicação cliente para gerar os dados para o Google Earth, fazemos um link para a tabela do nosso banco Hunter_Network_DB.

Criando então uma tabela vinculada, a fonte dos nossos dados para esta (e outras aplicações) fica sempre única. É como se fosse uma tabela mesmo, podemos abrir, fazer consultas em seus dados, etc... Mas ficará mais fácil quando virmos na prática.

Abra o arquivo que será nossa aplicação cliente (um banco de dados vazio do Access). Selecione o Menu Dados Externos (1) -> Access (2).

 

Na nova janela, clique no botão procurar e aponte para o banco de dados Hunter_Network_DB.mdb (1). Marque a opção Vincular a Fonte de Dados criando uma Tabela Vinculada (2).

 

Será aberta uma nova janela, com os objetos do nosso banco. No momento, só temos a nossa tabela tbl_Network. Selecione essa tabela (1) e clique no botão OK (2).

 

Observe que agora temos uma tabela, com uma pequena seta informando que a mesma é uma tabela vinculada (1).

 

Dê um duplo clique nessa tabela, e veja que você tem acesso aos dados, e pode utilizá-la da mesma forma como utilizamos diretamente no banco de dados original!

Nota: podemos vincular dados de diversas fontes, inclusive de bancos de dados SQL ou Oracle. E uma vez vinculada a tabela de qualquer banco passa a ser como se fosse uma tabela do Access. Dessa forma, veremos no futuro como criar aplicações que acessam e utilizam dados de outras aplicações!

 

Mais conceitos: Recordset!

Para gerar o arquivo de saída, com os dados que estão na nossa tabela, precisamos acessar os dados via programação. E para isso usamos o objeto Recordset. Um Recordset é uma estrutura de dados que consiste de um grupo de registros do banco de dados, e pode vir de uma tabela base ou do resultado de uma consulta. Entenda o Recordset como essa tabela ou consulta sendo um objeto armazenado temporariamente na memória, contendo os campos (1) e os registros (2), como na figura abaixo.

 

Esse conceito é comum a várias plataformas, e no nosso caso é conhecido como Objetos de Acesso a Dados - Data Access Objects (DAO), e objetos de dados ActiveX - ActiveX Data Objects (ADO). O objeto Recordset contém uma coleção de campos e propriedades, e a qualquer momento podemos nos referir aos mesmos.

Nota: não se preocupe se não ficou muito claro agora. Ainda vamos falar muito de Recordsets, e você poderá ver o potencial deles na prática.

Agora vamos continuar, e criar uma nova consulta qry_GE_Network_Sites, contendo os campos necessários SITE – para o nome do marcador, e os campos LAT_DEC e LON_DEC, com a latitude e longitude do mesmo.

Aqui, mais uma informação. Poderíamos usar essa consulta com os nomes do campo como estão na tabela. Mas podemos, e iremos, alterar o nome dos mesmos, simplesmente para facilitar a correspondência dos mesmos quando acessarmos esses campos via código. De qualquer forma, é apenas por uma questão da padronização que utilizamos. (Veremos em outra oportunidade como essa padronização nos ajuda também na homogenização de dados quando tivermos diversas tabelas, de diversas fontes, com nomes diferentes para os mesmos campos).

Assim, na consulta, digite antes de cada campo o novo nome que utilizaremos, seguido de “:”. Respectivamente temos name:SITE, latitude:LAT_DEC e longitude:LON_DEC.

 

Execute essa consulta, e veja os dados. Observe que agora os nomes dos campos dessa consulta já estão quase como desejamos. Dizemos quase porque a consulta gera dados repetidos. Como cada site tem três setores, ficam três linhas repetidas (mesmo que os setores não estejam sendo mostrados). É como se na nossa tabela no Excel, simplesmente excluíssemos as demais colunas, deixando apenas as colunas SITE, LAT_DEC e LON_DEC.

 

Para resolver esse problema – eliminar registros duplicados da saída de nossa consulta – simplesmente Agrupe os Dados de saída, clicando em Totais, o Botão de Somatória (1).

 

Agora sim, nossa consulta está pronta, e podemos gerar o arquivo de saída via código.

 

Ambiente de Programação VBA – Módulos do Access

Antes de criar o código, vamos falar um pouco sobre VBA, ou Visual Basic for Applications. Se você nunca teve contato com nenhuma linguagem, nem mesmo uma macro do Excel, talvez não fique totalmente claro agora, mas tenha certeza: não é tão complicado como parece! Se não conseguir acompanhar o que veremos aqui, solicite uma ajuda do nosso suporte.

Porque vamos usar o VBA? Bom, está disponível no Office já seria uma resposta suficiente. Mas o VBA é uma linguagem bem simples de ser entendida, e ao mesmo tempo bem poderosa. É possível realizar as mais diversas tarefas, que no momento você nem imagina. Com o tempo, vamos utilizando e aprendendo cada vez mais.

Para começar, vamos abrir o Ambiente de Programação. Para isso, acesse o Menu Ferramentas de Bancos de Dados (1) -> Visual Basic (2). Um atalho para esse ambiente são as teclas ALT + F11, e você pode utilizá-lo se preferir.

 

O Ambiente do Visual Basic (VBE) irá abrir como vemos abaixo. Quando você utilizar o VBA em qualquer outro tipo de programa, por exemplo o Excel, a interface será a mesma.

 

Não vamos falar sobre o ambiente em si, já que não estamos num curso de programação. Vamos direto ao ponto, e criar o nosso primeiro módulo para iniciarmos a programação.

Mas o que é um Módulo do Access? Um módulo é uma forma de armazenarmos código ou grupos de códigos. Vamos armazenar aqui propriedades e métodos. Propriedades ou variáveis são aquilo que usamos para armazenar temporariamente valores, e métodos são as ações que devem ser feitas. Essas ações utilizam as vaiáveis e os valores armazenados. Tudo bem, a linguagem começou a complicar, vamos falar de outras opções outra hora!

Parando a conversa, vamos inserir um módulo! Acesse o Menu Inserir (1) -> Módulo (2).

 

Salve esse módulo com o nome mod_GE_Network_Main acessando o Menu Arquivo -> Salvar GE_Network_1.0_RUN ou simplesmente clicando no ícone do disquete na barra de ferramentas.

Pronto, estamos preparado para escrever o código (1) que vai acessar os dados da nossa tabela - através de uma consulta - e gerar o nosso arquivo.

 

Criando o código

Aqui seria interessante falarmos sobre Sub Rotinas e Funções, e também sobre Declaração de Variáveis, Debug, etc. Entretanto, fugiríamos um pouco do nosso objetivo hoje, e já vimos até demais para quem está começando a programar. Nem num curso de Excel, Access ou Programação viríamos todas essas informações de uma vez só. Então vamos continuar e falar disso depois.

Somente saiba por hora que o nosso código se localizará numa Function para que possamos chamá-la depois através da interface principal do Access, e tem a seguinte forma:

Function GE_Network_Main()

End Function

Tudo o que escrevermos entre essas duas linhas representa as ações que queremos que sejam feitas.

O código completo para gerar o nosso arquivo encontra-se disponível no arquivo ZIP enviado aos assinantes.

 

Todo o código está comentado, e sugerimos que você o leia. Isso mesmo: você pode ler o código como se fosse uma lista de tarefas: faça isso, depois faça isso, etc.

 

Executando o código

Para terminar, vamos ver como executar o código, chamando a função através da interface principal do Access. Para isso, vamos utilizar uma macro. (O conceito de macro no Access como já havíamos falado é um pouco diferente do Excel. No Access, as macros realizam ações pré-definidas). Outra hora vamos ensinar como debugar (o que é isso?!?), executar o código passo a passo, etc. Como já falamos, para quem nunca fez isso, parecem até palavrões, por isso falaremos outra hora.

Para criar a macro que irá chamar a nossa função e gerar o arquivo, acesse o Menu Criar (1) -> Macro (2).

 

Na nova janela, escolha a ação ExecutarCódigo (1).

 

Em seguida, nos Argumentos da Ação, digite no nome da nossa função GE_Network_Main() (1).

 

Salve a macro, clicando no ícone do disquete próximo ao botão do Office, com o nome GE_Network_Main_RUN.

Pronto. Dê um duplo clique sobre a macro criada: nosso arquivo foi criado no diretório output do nosso módulo (C:\Hunter\GE\Network\Output\).

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

 

Conclusão

Com essa lição aprendemos como utilizar código no Access, e através dele gerar um arquivo no formato do Google Earth com os dados de nossa rede, armazenados em nossa tabela.

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!

Comentários

terça-feira, 6 de abril de 2010 16:41:27
Angelo Pivoto

re: Hunter GE Network (Sites)

Excelente postagem !

O método usado para o ensinamento de todos os conceitos é muito prático !

Agradeço vocês pelo esforço e pela idéia.

Um abraço,

 

Angelo.

 

 

 

 

quarta-feira, 5 de dezembro de 2018 08:20:08

ananda cbd oil jbqqi

https://cbdoilamericano.com/# cbd oil wisconsin [url=https://cbdoilamericano.com/#]cbd oil vape[/url] pure essence cbd oil
quinta-feira, 6 de dezembro de 2018 05:58:50

where to buy cbd locally phznd

https://cbdoilamericano.com/# purekana cbd oil [url=https://cbdoilamericano.com/#]where to buy cbd oil[/url] where can i buy cbd oil
segunda-feira, 10 de dezembro de 2018 11:21:09

where to buy cbd cream xiqub

cbd oil indiana select cbd | where can you buy cbd oil | [url=https://highcbdoildrops.com/#]lazarus cbd oil[/url] [url=https://highcbdoildrops.com/#]cbd products[/url]
segunda-feira, 10 de dezembro de 2018 11:23:40

the best cbd oil on the market itoqj

cannabis oil green mountain cbd | cbd products | [url=https://cbdoilmarketusa.com/#]charlottes web cbd oil[/url] [url=https://cbdoilmarketusa.com/#]where can i buy cbd oil[/url]
segunda-feira, 10 de dezembro de 2018 11:23:46

cbd side effects on liver hdajd

https://moderncbdoil.com/# cbd cream [url=https://moderncbdoil.com/#]hemp cbd oil side effects[/url] [url=https://moderncbdoil.com/#]cbd book distributors[/url] cbd stocks does cbd oil work
segunda-feira, 10 de dezembro de 2018 11:24:26

how to use cbd oil zwoov

cbd stock cwhempcbdoil | cwhempcbdoil | [url=https://cannacbdoilrx.com/#]cbd coffee[/url] [url=https://cannacbdoilrx.com/#]what is cbd[/url]
segunda-feira, 10 de dezembro de 2018 11:30:37

is cbd oil legal vxvuv

strongest cbd oil for sale best cbd oil reviews | cbd water | [url=https://highcbdoildrops.com/#]where can i buy cbd oil[/url] [url=https://highcbdoildrops.com/#]cbd[/url]
segunda-feira, 10 de dezembro de 2018 11:30:50

cbd capsules lbmcf

cw cbd oil cbd oil wisconsin | cbd oil for pets | [url=https://cbdoilmarketusa.com/#]cbd coffee[/url] [url=https://cbdoilmarketusa.com/#]pure essence cbd oil[/url]
segunda-feira, 10 de dezembro de 2018 11:30:52

cbd oil distributors iseui

https://moderncbdoil.com/# what is cbd oil good for [url=https://moderncbdoil.com/#]where can you buy cbd oil[/url] [url=https://moderncbdoil.com/#]cbd oil dosage[/url] cbd oil reviews cbd oil dosage instructions
segunda-feira, 10 de dezembro de 2018 11:33:53

is cbd oil legal cfwko

cbd oil stocks the best cbd oil on the market | charlottes web cbd oil | [url=https://cannacbdoilrx.com/#]where can i buy cbd oil near me[/url] [url=https://cannacbdoilrx.com/#]does cbd oil show up on drug test[/url]
segunda-feira, 10 de dezembro de 2018 12:34:50

cbd oil side effects jtjfz

is cbd oil legal cbd oil price | pure cbd | [url=https://highcbdoildrops.com/#]buy cbd[/url] [url=https://highcbdoildrops.com/#]cbd gummies[/url]
segunda-feira, 10 de dezembro de 2018 12:38:15

cbd online gorka

https://moderncbdoil.com/# what is cbd oil benefits [url=https://moderncbdoil.com/#]the distillery[/url] [url=https://moderncbdoil.com/#]cbd products[/url] cbd oil for pets cbd oil in texas
segunda-feira, 10 de dezembro de 2018 12:38:15

cbd oil in texas nqmso

cbd brothers what does cbd stand for | zilis cbd oil | [url=https://cbdoilmarketusa.com/#]buy cbd hemp buds[/url] [url=https://cbdoilmarketusa.com/#]organic cbd oil[/url]
segunda-feira, 10 de dezembro de 2018 12:41:09

where to buy cbd oil near me eeebs

cbd coffee cbd online | lazarus cbd oil | [url=https://highcbdoildrops.com/#]where to buy cbd oil online[/url] [url=https://highcbdoildrops.com/#]charlotte web cbd oil[/url]
segunda-feira, 10 de dezembro de 2018 12:45:52

cv sciences cbd oil zjzga

cbd oil interactions with medications the distillery | cbd vape juice | [url=https://cbdoilmarketusa.com/#]walgreens cbd oil[/url] [url=https://cbdoilmarketusa.com/#]cbd plus[/url]
segunda-feira, 10 de dezembro de 2018 12:45:56

cbd oil indiana qzfgx

https://moderncbdoil.com/# hempworx cbd oil [url=https://moderncbdoil.com/#]medterra cbd[/url] [url=https://moderncbdoil.com/#]cbd vape juice[/url] cbd oil florida cbd oils
 
6 + 1 =