Mapinfo para Telecom - Parte 2

sexta-feira, 5 de agosto de 2011 10:47:00 Categories: Mapinfo
Rate this Content 1 Votes

Dando continuidade a serie de dicas sobre a utilização do Mapinfo para Telecom e TI, vamos ver hoje um exemplo onde utilizamos SQL.

 

 

Através de um passo a passo bem simples, vamos ver como fazer operações básicas envolvendo pontos e polígonos.

 

Arquivos para Download

Os programas e códigos do Hunter SDK são fornecidos apenas para os doadores. Na Seção de dicas, entretanto, todos os dados podem ser baixados gratuitamente, facilitando o acompanhamento das explicações.

Assim, primeiramente, baixe os arquivos de exemplo deste tutorial.

Download

 

E vamos ao que interessa...

Para começar, como vamos fazer operações com pontos e polígonos, precisamos de alguns dados de exemplo.

Vamos começar com alguns pontos dos sites de nossa rede.

 

Em seguida, vamos editar a camada cosmética. Para isso, podemos clicar com o botão direito no mapa, e nas camadas clicar a opção de editar.

 

Dica: um atalho para selecionar uma camada para editar é clicar no Label 'Editing', e escolher a camada deseja.

 

Com isso, a barra de ferramentas 'Drawing' tem seus botões habilitados – podemos desenhar.

 

Utilizando botão 'Polygon', traçamos um polígono ao redor de alguns de nossos sites.

 

Dica: quando desenhamos um polígono, se mantivermos pressionada a tecla SHIFT, os segmentos são sempre horizontais, verticais ou com um ângulo de 45 graus! Isso pode ajudar bastante quando precisamos desenhar utilizando essas orientações.

 

Porém o nosso polígono tem uma cor sólida de preenchimento, e os nossos pontos não aparecem. Para facilitar, vamos tornar o preenchimento do polígono transparente.

Para isso, utilizamos o botão 'Select' da barra de ferramentas, e damos um duplo clique no polígono.

 

Surge então a caixa de diálogo que nos permite editar o mesmo. Nota: No momento, não estamos preocupados em alterar as formas do polígono – suas bordas. Vamos apenas alterar o seu preenchimento, e por isso clicamos no botão ao lado do label 'Style'.

 

Várias opções podems alteradas aqui, como a espessura das linhas do polígono. Mas vamos noa ater apenas a tornar a cor de preenchimento como nenhuma, e simplesmente selecionamos 'N' em 'Pattern' 'Fill'.

 

Pronto, temos o nosso cenário. Naturalmente é um cenário simples, mas serve para entendermos como o SQL pode ser utilizado no Mapinfo.

 

Nota: embora bem simples, esse cenário pode ser encontrado na prática. Por exemplo: 'Quais os sites da minha rede encontram-se na região do polígono?'.

 

Encontrando Pontos dentro de um Polígono

Para realizar operações com o nosso polígono que acabamos de criar, precisamos antes salvá-lo com um nome qualquer.

Como criamos o polígono na camada cosmética, para salvar essa camada – que no caso é o nosso polígono, acesse o Menu: 'Map' -> 'Save Cosmetic Objects...'.

 

E salvamos o nosso polígono com um nome apropriado, por exemplo 'MyRegion.TAB'.

 

Se acessarmos novamente o Controle de Camadas, vemos que temos uma camada original, com os nossos 'Sites', e uma nova camada 'MyRegion', que acabamos de criar, com o polígono que foi desenhado na camada cosmética.

 

Agora sim, podemos fazer as nossas operações.

Primeiro, vamos encontrar 'Quais os sites da minha rede encontram-se na região do polígono?'.

Acesse o Menu: 'SQL'-> 'SQL Select...'.

 

Na nova janela, em 'Tables' escolha a tabela 'Sites', e em seguida a tabela 'MyRegion'.

 

Observe que o SQL já é 'construído' com a condição 'Sites.Obj Within MyRegion.Obj'. Em outras palavras, o SQL busca todos os campos (Select Columns = * ), das tabelas Sites e MyRegion, onde os pontos – Sites – encontram-se dentro (Within) do polígono – MyRegion.

Para organização, salvamos o resultado dessa operação numa nova tabela que chamamos de 'Points_Within_MyRegion'.

Nota: Você pode clicar no botão 'Verify', e verificar que o SQL é válido. Se quiser, pode também salvar esse SQL clicando em 'Save Template'. O SQL pode ser editado em qualquer Editor de Texto simples.

 

Clicando no botão OK, o SQL é executado, e aí temos o resultado esperado: os pontos dentro do polígono são selecionados.

 

Nota: como a opção 'Browse Results' estava marcada, o resultado – a nova tabela – também foi aberta.

 

Encontrando Pontos que NÃO estão dentro do Polígono

Tudo bem. Já deu para vermos como são feitas operações simples no Mapinfo, envolvendo pontos e regiões.

Mas e agora, se quisermos encontrar os pontos que NÃO estão dentro do polígono?

Podemos usar também o SQL, fazendo algumas alterações.

No caso, queremos selecionar todos os pontos que NÃO estejam dento do nosso objeto polígono. A saída vai ter dados apenas da tabela 'Sites'.

Os objetos do nosso polígono são obtidos pelo SQL: '(SELECT Obj FROM MyRegion)'.

Então, devemos ter um SQL de todos os pontos, cuja condição indique que os objetos dos mesmos não estejam em nenhum dos objetos do meu polígono: 'NOT Obj WITHIN ANY (SELECT Obj FROM MyRegion)'.

O nosso SQL então fica assim:

 

E executando, temos novamente o resultado esperado.

 

Nota: Perceba que visualmente vemos apenas 3 pontos fora do nosso polígono. Entretanto, a tabela sites tem mais pontos – sites que não estavam aparecendo no zoom atual.

Aplicando um zoom maior, vemos todos os sites, conforme esperado.

 

Com isso, vimos como é possível realizar operações com objetos no Mapinfo, utilizando SQL.

Dependo da necessidade do seu trabalho diário, essas operações podem simplificar bastante esse tipo de trabalho.

 

Conclusão

Este foi mais um breve tutorial da série Mapinfo para Telecom.

Caso você tenha alguma dúvida, ou deseja aprender a fazer alguma outra açãoutilizando o Mapinfo, entre em contato, e tranformamos num tutorial.

Mas não se proecupe: oportunamente vamos publicando aqui novos tutoriais com mais dicas e truques para aumentar ainda mais o seu conhecimento, não só de Mapinfo, mas de diversos outros softwares utilizados pelos experts na área de Telecom e TI.

Espero que tenham gostado, e até nosso próximo encontro!