A Tecnologia da Informação é uma das grandes ferramentas para a
evolução da sociedade humana, e isso só fundamentalistas mais
radicais ousam contestar. Na coluna do crédito, temos muito mais
valor a adicionar do que nos prováveis –e temporários- débitos
sociais, como a eliminação de algumas categorias de emprego,
largamente superada pela criação de novos, e muito mais
qualificados.
O problema na TI reside, em grande parte, com seus próprios
profissionais e gurus, talvez querendo imitar médicos e advogados
com seus termos e chavões complicados, muitas vezes só acessíveis
aos próprios. Isso pode ser uma instintiva auto-proteção, ou um não
reconhecido e falso complexo de superioridade.
Na verdade, mesmo os termos mais corriqueiros, como software,
hardware, mouse, banco de dados e Geoprocessamento, pouco ou
nada significam para os potenciais “usuários” (outro nome
esquisito...), o que torna a disseminação da TI menos veloz por culpa
ou descaso de nós, os profissionais da área.
Assim, quando o Eduardo Filla me falou de seu projeto de escrever
um livro para tratar de informar ao seu enorme potencial de clientes
os termos e conceitos básicos daquilo que ele mais domina, eu, além
de achar a idéia brilhante, pensei que iniciativas semelhantes
deveriam proliferar entre os especialistas de TI.
Conheço o Eduardo há longos anos, e, além de parcerias
profissionais, nos aventuramos juntos em entidades de classe como a
ASSESPRO, onde liderar causas comuns só cabe aos teimosos e
obstinados, pois há muito o que fazer em uma área ainda mal
compreendida.
- 1
Assim, como recusar o convite para fazer um prefácio para um livro
de um amigo, competente empresário, batalhador de causas comuns e
homem de visão em um segmento com tantas opções a explorar?
O livro GeoInformação vem em boa hora. Para alguns, o sub-título
poderia ser “100 perguntas que eu gostaria de fazer mas fiquei com
vergonha” e, para quem precisa de informação geo-referenciada, é
um bom guia para explicar, de forma didática e estruturada, a sua
lógica e suas possibilidades de uso.
Na verdade, nossa capacidade de locomoção e de localização é
baseada em informações com coordenadas. Só que usamos muito
pouco da capacidade de nosso cérebro para melhorar nossa
orientação exatamente porque não existiam ferramentas disponíveis
em larga escala de Geoprocessamento, como começa a ocorrer neste
início de século.
Assim, a leitura do GeoInformação é algo obrigatório, para técnicos,
leigos e, com certeza, para todos os profissionais de TI que usam
aquela indecifrável sopa de letrinhas e siglas para complicar a sua
própria vida e de seus clientes.
A parte final do livro, onde o autor mostra um pouco das ferramentas
que produz, mais do que um marketing bastante louvável, é uma
prova que o Geoprocessamento pode e deve ser algo de fácil
compreensão e uso, para o benefício de todos.
EDUARDO GUY DE MANUEL
- 2
Este livro destina-se a todos àqueles profissionais ligados de
alguma forma a organização ou planejamento de atividades
que envolvem o manuseio de informações. Desde analistas de
sistemas que projetam e desenvolvem sistemas até dirigentes
de empresas e departamentos que tem sob sua tutela uma
grande quantidade de informações, encontrarão neste livro os
conceitos e princípios da tecnologia de geoprocessamento. Os
capítulos iniciais buscam criar condições para que o leitor crie
sua própria definição acerca dessa tecnologia e que não se
deixe influenciar por mitos e complexidades inexistentes
Não se pretende impor definições pré-estabelecidas ou mesmo
detalhar conhecimentos sobre atividades específicas tais como
engenharia cartográfica, análise de sistemas e outras.
Objetiva-se isto sim que o leitor absorva a importância do
geoprocessamento como um recurso da tecnologia da
informação que deve integrar-se a todas as demais tecnologias,
métodos e procedimentos estabelecidos na organização.
Geoprocessamento é uma tecnologia para toda a organização e
como tal, seus benefícios não podem ficar confinados em
algumas poucas pessoas. Com a tecnologia de
- 3
-
geoprocessamento alcança-se maior distribuição de
informações além do que se fomentam os procedimentos para
manutenção e atualização de dados.
Já os capítulos finais, detalham o software dbMapa da empresa
Maxidata Tecnologia e Informática Ltda. Através de
comentários acerca de cada recurso e instrução disponível, o
leitor terá acesso a exemplos devidamente comentados e se
capacitará a projetar, especificar, implantar e até desenvolver
suas próprias aplicações com tecnologia de geoprocessamento.
Importante ainda que se saliente que o CD-ROM que
acompanha este livro, contém o software dbMapa Express
convenientemente preparado para operar com o mapa digital
da malha de municípios do Brasil, também disponível. Com
isso o leitor poderá praticar seus conhecimentos e até suprir
demandas reais.
- 4 -
Registrando fatos, eventos e locais
A história da civilização mostra que o homem desde os
primórdios dos tempos, sempre se ocupou em registrar o meio
em que se encontrava. Sejam nos desenhos das cavernas do
homem pré-histórico, sejam nos “papiros” de civilizações
extintas, constatamos que a necessidade de se registrar locais e
eventos podem até mesmo ser definido como uma das
essências da civilização. Sem registros não existiriam formas
de se repassar conhecimentos para as gerações seguintes, nem
tampouco informar aos demais integrantes do grupo.
Neste contexto, a civilização evoluiu. Os mais diversos povos,
com diferentes linguagens, artes e formas de registrar fatos e
espaços, sempre se ocuparam, na essência, com a mesma
necessidade: informar, informar, informar... Informação e
conhecimento passaram a ser pré-requisitos para manutenção
e evolução das civilizações.
Atingimos o século XX, e a questão da informação e de seus
registros toma dimensões bastante complexas. A evolução
tecnológica, notadamente a eletrônica e a informática na
segunda metade daquele século, possibilitaram a banalização
dos processos de registro e de consulta de dados.
- 5 -
No entanto, a evolução apresentada por estas tecnologias fez
com que a informatização dos registros de fatos e eventos fosse
mais rápida que a informatização de representações gráficas,
incluindo-se neste contexto mapas e símbolos. Tal fato forjou a
capacitação de profissionais que desconhecem a
informatização de representações gráficas. Pode-se mesmo
afirmar que o mundo conta hoje com milhares de profissionais,
praticamente uma civilização deles, que sabem tratar de fatos e
eventos, mas que é praticamente analfabeta no trato de
representações gráficas.
No entanto, a atual tecnologia já permite que esta “civilização
de profissionais de informática” consiga tratar representações
gráficas, notadamente os aspectos vinculados a localização
geográfica, tecnologia esta, conhecida como geoprocessamento
ou ainda geomática como preferem outros.
Independente da denominação, geoprocessamento é
essencialmente uma Tecnologia da Informação, pois seu
objetivo é dotar sistemas de informação com mapas
geográficos, de forma a se obter uma total interação entre
dados cadastrais e mapas. Sistemas de informação assim
concebidos e implantados estarão resgatando uma das
essências da civilização, qual seja: efetuar o registro de fatos,
eventos e locais.
- 6
Assim, os capítulos deste trabalho tratam de conceituar os
princípios básicos desta tecnologia, seus pré-requisitos, as
dificuldades para sua implantação, suas interações com outras
especialidades e é especialmente destinado à estudantes e
profissionais que tenham em suas atividades o aprendizado, o
projeto ou o desenvolvimento de sistemas que contemplem em
sua plenitude as particularidades da linguagem humana,
composta esta por fatos, eventos e locais.
O que esperar da Tecnologia de Geoprocessamento ?
A aplicação da tecnologia de geoprocessamento em sistemas
de informação proporciona aos usuários destes sistemas
grandes vantagens em relação a sistemas convencionais1.
Senão vejamos: diversas máximas e expressões populares
amplamente conhecidas (ex: uma imagem vale mil palavras !)
enaltecem a importância da informação gráfica. Todos
sabemos que é muito mais rápido e natural para o ser humano
identificar diferença de dimensões, cores, tonalidades e
formatos, do que identificar essas mesmas diferenças em
relatórios. Enquanto numa apresentação com recursos gráficos
a informação “salta à vista”, a informação escrita precisa ser
lida e interpretada, o que é sempre mais moroso e cuja
interpretação pode mesmo sofrer uma forte subjetividade.
Ademais, se a informação gráfica for o mapa da região de
interesse, e que se possa apresentar sobre ele, os dados nos
locais exatos de suas ocorrências, através de convenientes
simbologias, teremos a geração de informações georeferenciadas,
ou conforme linguagem técnica, a geração de
Mapas Temáticos.
Associando-se a esses Mapas Temáticos recursos de software
que permitam seleções interativas dos dados nele existentes,
alcançamos então a plenitude dos recursos da tecnologia de
1
Sistemas convencionais, neste trabalho, devem ser
entendidos como aqueles que tratam os dados tão
apenas no âmbito de pesquisas e armazenamentos de
dados alfanuméricos em Bancos de Dados, não se
ocupando em geo-referenciá-los.
- 8 -
geoprocessamento. Ou seja, a interação entre dados cadastrais
e mapas digitais é capaz de gerar informações através de
mapas temáticos, e esses por sua vez permitindo
apontamentos e seleções interativas de elementos gráficos
representativos dessas informações, podem ser considerados
dados a serem utilizados para a geração de novos mapas
temáticos (novas informações).
Cria-se assim, um processo contínuo de geração de informação
muito fácil de ser operado. A facilidade deste processo reside
no fato de que as análises das informações passam a ter um
novo parâmetro a ser considerado, qual seja: o local geográfico
onde o dado efetivamente se aplica. Neste contexto observar que
praticamente todos os bancos de dados existentes possuem
algum tipo de dado capaz de ser geo-referenciado, ou seja,
capaz de ser correlacionado com algum local geográfico que,
no entanto está servindo tão apenas para armazenar alguma
tentativa de descrição deste local.
Um exemplo típico é considerar o cadastro de clientes que
qualquer tipo de empresa/instituição possui. Todos os
cadastros de clientes sempre possuem, dentre outros, o
endereço do cliente, no entanto este endereço tem servido tão
apenas para envio de correspondência e tem sido desprezado
como um importantíssimo dado para a geração de mapas
temáticos que com certeza proporcionariam aos estrategistas
da empresa informações nunca imaginadas.
Exemplo: ao se gerar mapas temáticos que cruzem dados
referentes a idade, escolaridade, renda, tipo de produto
adquirido etc. ... com a posição geográfica do cliente (endereço
- 9
-
geo-referenciado), será possível identificar, por exemplo: que
jovens residentes no sul (70% de meus clientes) adquirem o produto
A em detrimento do produto B que no entanto tem boa aceitação na
região norte (80% dos meus clientes adquirem o produto B).
Uma informação deste tipo pode significar todo um redirecionamento
do esforço de venda; da forma de implementar
uma campanha publicitária;;do treinamento da equipe, da reformulação
do setor de atendimento e suporte; da reforma de
instalações físicas; etc.
Ou seja, a simples visualização geo-referenciada do dado já
proporciona a geração de informações sob uma nova forma.
Além disso, ainda possibilita, através da interação com esta
informação gráfica e geo-referenciada, o seu refinamento e/ou
facilidade para a tomada de decisões.
Como Identificar o Usuário Potencial da Tecnologia ?
Este item lança um desafio ! Afirmo, e quem julgar que esteja
incorreta por favor conteste, que qualquer organização, de
qualquer porte, que tiver na parede um mapa impresso coberto
de alfinetes coloridos e fios de lã, é um usuário potencial o
qual está inclusive, conceitualmente pronto para receber a
tecnologia de geoprocessamento.
- 10
Este capítulo tem por finalidade estabelecer um ambiente
correto para o entendimento do geoprocessamento como uma
Tecnologia da Informação. Acreditamos que os exemplos
apresentados apoiarão desde já o leitor, na medida em que os
comentários acerca de entendimentos e afirmações totalmente
equivocadas, o auxiliará na conceituação desta importante
tecnologia.
Infelizmente tem sido comum no âmbito de conversas,
reuniões técnicas e até projetos a aparição do
geoprocessamento, por vezes, de forma totalmente descabida e
sem qualquer consistência. Seguem exemplos de enganos,
confusões e erros:
QUEREMOS O GEOPROCESSAMENTO !
Esta afirmativa e variantes tais como: o geoprocessamento vai
resolver!; ...com o geoprocessamento será possível fazer isso,
aquilo...; ou ainda: ...o geoprocessamento organizará nosso
departamento ! são bastante comuns. Estas afirmativas,
normalmente proferidas por incautos e salientes fazem com
que o ouvinte despreparado imagine geoprocessamento como
a efetivação de um milagre tecnológico que por conta de sua
simples compra resolverá problemas. Além disso, essa
afirmação enseja a difusão de uma assertiva totalmente
equivocada, qual seja, ela pressupõe que geoprocessamento é
algo que se compra.
- 11 -
Conceito correto: geoprocessamento é uma tecnologia que se
implanta (no sentido de ser incorporada) nos sistemas
existentes. Não se compra geoprocessamento. Contrata-se isto
sim softwares capazes de atuar com mapas digitais e serviços
de adequação a dados cadastrais já existentes. O mais próximo
que se chega do ato de comprar, é a contratação de licenças de
uso de softwares e mapas digitais, caso o próprio usuário não
produza seus mapas. Com este princípio em mente, as
afirmações acima deveriam ser:
•
Queremos contratar um sistema de informações com
tecnologia de geoprocessamento;
•
A tecnologia de geoprocessameno é capaz de auxiliar para
resolver nosso problema !
•
...com a tecnologia de geoprocessamento será possível fazer
isso, aquilo... ;
•
...a tecnologia de geoprocessamento facilitará a organização de
nosso departamento.
- - -OOO - - -
- 12
DEPARTAMENTO DE GEOPROCESSAMENTO
Tem sido bastante comum em instituições – principalmente
públicas – a criação do departamento de geoprocessamento. O
fato em si parece sem implicações se não fosse o tipo de
atividade que são desenvolvidos nestes departamentos. Via de
regra, na grande maioria das vezes, os serviços lá
desenvolvidos nada mais são do que a manutenção e/ou
produção de mapas digitais.
A explicação para tal fato, (se é que tem !) é que
geoprocessamento tornou-se sinônimo de evolução tecnológica
para muitos, e departamentos responsáveis por serviços de
coleta de dados e manutenção de mapas vem sendo
equivocadamente sendo denominados por seus dirigentes, na
expectativa de auto-promoção, de Departamentos de
Geoprocessamento,.
Assim, o erro que se comete ao aceitar o princípio da existência
de Departamentos de Geoprocessamento nestes termos, é que
limita-se a abrangência desta importante tecnologia, a qual
passa a ser vista pelos demais setores da instituição como a
simples automação da produção de mapas. Mapas plotados
passam a ser entendidos erradamente como resultados do
geoprocessamento.
Conceito correto: departamentos e setores que tratam dados e
produzem mapas devem ser denominados de acordo com suas
- 13
-
efetivas atividades. Se a atividade for levantamento de dados e
formação de bases cadastrais, que a denominação seja
Departamento de Cadastro; se a atividade for de produção
e/ou manutenção de mapas, que a denominação seja
Departamento de Cartografia.
Por outro lado, se a atividade é a de desenvolver sistemas ou
mesmo pesquisa, que a denominação seja Departamento de
Desenvolvimento de Tecnologias e Pesquisas em
Geoprocessamento.
O despropósito em se estabelecer um Departamento de
Geoprocessamento é equivalente a denominar-se algum setor
de Departamento de Banco de Dados. Nunca nos deparamos
com algum setor assim denominado exatamente por que banco
de dados trata-se de recurso tecnológico que se integra e é
utilizado por todos os setores da instituição.
- - -OOO - - -
- 14
IMAGENS DE SATÉLITE E GEOPROCESSAMENTO
Imagens obtidas por sensores estacionados em plataformas
orbitais são uma importante fonte de dados para a geração de
informações. No entanto, é necessário que se tenha em mente
que um intenso trabalho de interpretação, conferências em
campo, ajustamentos e até vetorização devem ser efetuados
para que estas imagens produzam dados capazes de serem
utilizados em sistemas de informação.
Destaque-se neste aspecto a diferença entre imagens e mapas
digitais. Enquanto uma imagem trata-se de uma seqüência de
pontos cuja aglutinação de cores e tonalidades sugere feições,
um mapa digital é formado por vetores que definem as feições
com precisão. O primeiro não permite interação com base de
dados cadastrais pois as feições não são delimitadas. Já o mapa
digital, tem feições definidas que podem ser reproduzidas em
diferentes escalas, isoladas, editadas, etc, possibilitando a
interação com base de dados cadastrais.
Ou seja, imagens devem ser entendidas como um dado básico
para ser utilizado na formação de mapas digitais.
- 15
-
GEOPROCESSAMENTO E RECURSOS DE CAD
Constata-se que alguns profissionais de engenharia, em
atividades já consagradas, estão utilizando a palavra
geoprocessamento pelo simples fato de seus projetos
vincularem o mapa da região, em formato digital. De forma
despreocupada ou mesmo na ânsia de mostrar modernidade a
seus interlocutores, infelizmente não tem sido raro observar-se
a atribuição do geoprocessamento à atividades de projetos, que
são resolvidas unicamente através de softwares tipo CAD.
Não se confunda engenharia de projetos com tecnologia da
informação. Projeto de engenharia utiliza softwares tipo CAD,
sejam eles aplicados à construção civil, à mecânica ou mesmo
para aqueles que envolvem mapas (projetos de estradas,
loteamentos, redes de água, etc), sejam eles resolvidos com ou sem a
utilização de softwares. O simples fato de utilizar um mapa
digital, não altera esta verdade e nem significa que a
engenharia transformou-se em usuária da tecnologia de
geoprocessamento.
Quando muito, a engenharia pode apoiar-se em alguns dados
geo-referenciados e ainda quase que exclusivamente durante
as atividades iniciais de planejamento. Por exemplo: para o
projeto de uma ampliação de rede de água, é preciso
identificar outros tipos de redes – gás, esgoto, telefone, etc. –
que possam existir na região de interesse. Um simples mapa
temático com estas informações será suficiente, entretanto não
significando que será a tecnologia de geoprocessamento a
responsável pelo dimensionamento dos tubos, das válvulas,
das curvas, da pressão, etc, etc. Isso cabe a engenharia !
- 16 -
AEROFOTOGRAMETRIA E O GEOPROCESSAMENTO
Um erro bastante comum é contratar a cartografia (restituição
aerofotogramétrica) e julgar que se estará pronto para aplicar a
tecnologia de geoprocessamento. Mapas cartográficos são
produtos de engenharia que retratam a situação física do
terreno, além do que são produzidos obedecendo uma
articulação normatizada. Estes fatos fazem com que mapas
cartográficos necessitem de trabalhos complementares,
principalmente a formação de uma base geo-referenciada
única e contínua, codificação das feições existentes conforme
dados cadastrais aplicáveis e até mesmo a inserção de novas
feições (p.ex.: divisas de lotes) que nem sempre estão
materializadas e visíveis nas fotografias.
Procedimento correto: a especificação para a contratação de
uma produção cartográfica, deve ser precedida de criteriosa
identificação dos objetivos. A produção cartográfica é uma
atividade de alto custo, no entanto se ela for especificada com
um detalhamento de dados mínimos para atender os objetivos
pretendidos, os custos podem ser significativamente
reduzidos. Importante considerar que se o objetivo é a
implantação de sistemas de informação, a redução alcançada
com a produção cartográfica, é na grande maioria das vezes
suficiente para cobrir os custos com os trabalhos
complementares necessários à formação de todo o conteúdo
geo-referenciado e até com custos de softwares e
desenvolvimento de aplicações. Entenda-se como conteúdo
geo-referenciado o conjunto formado por mapas digitais e
dados cadastrais devidamente integrados.
- 17 -
FALHAS EM PROJETOS E IMPLANTAÇÕES
Várias instituições e empresas que se decidem pela
incorporação da tecnologia de geoprocessamento em suas
atividades vem cometendo dois erros que podemos mesmo
afirmar que estão tornando-se comuns. O primeiro é causado
pelo fato que muitas organizações encarregam uma pessoa, ou
mesmo um grupo muito reduzido de colaboradores para
pesquisarem o assunto. Essas pesquisas acabam arrastando-se
por meses e até anos e após muito tempo e recurso financeiro
investido, quando muito, produzem um singelo demonstrativo
que os colaboradores envolvidos o denominam
orgulhosamente de Projeto Piloto.
Sem desmerecer o esforço empreendido, esses projetos por fim
definem o que profissionais especializados já sabem, além do
que poderiam ser implementados em questão de dias. Ou seja,
apesar da disseminação da tecnologia de geoprocessamento
ainda encontrar-se aquém de seu efetivo potencial, já existem
soluções desenvolvidas e profissionais especializados, que
tornam as atividades de pesquisas praticamente
desnecessárias, salvo para demandas totalmente inovadoras.
Atualmente, o desafio das organizações na aplicação da
tecnologia de geoprocessamento está com a capacitação de
seus colaboradores e isto pode ser alcançado com treinamentos
e até com a implementação de soluções assistidas através da
orientação de especialistas.
- 18 -
Além disso, constata-se ainda que a maioria dos “Projetos-
Piloto” não evolui para projetos amplos com a respectiva
implantação. A melhor explicação para isso, é que esses
projetos não foram desenvolvidos com a participação de
pessoas e setores importantes da organização. O procedimento
correto é que esses projetos contemplem pessoas, métodos de
trabalho, necessidades e dificuldades de todos os setores da
organização, ou pelo menos aqueles mais importantes,
incluindo-se nestes os responsáveis pela manutenção e
estratégia de informações da organização.
O segundo erro bastante comum que vem sendo cometido é
não se projetar a efetividade de resultados – mesmo parciais –
durante o processo de implantação. Ou seja, a organização
começará a beneficiar-se da tecnologia de geoprocessamento
somente após a completa implantação e detalhamentos dos
dados geo-referenciados.
Via de regra, esses prazos são longos2 e acabam gerando
descrédito e até mesmo desinteresse, seja por alterações das
demandas, seja pela alteração de estratégias da organização ou
mesmo pela substituição de pessoas envolvidas. Esse longo
prazo causa ainda outra dificuldade: as identificações de
eventuais ajustes ou alterações somente surgirão quando os
trabalhos estiverem praticamente concluídos, o que além de
2 O longo prazo para implantações está vinculado a grande quantidade de dados a
serem levantados que os projetos demandam. Por vezes até levantamentos em
campo são necessários.
- 19 -
significar novos custos e maiores prazos, ainda reforçam o
descrédito do projeto.
Para se evitar que isso ocorra, a implantação deve ser
planejada em etapas, as quais apresentem resultados. Pouco
importa se esses resultados intermediários estejam vinculados
ao atendimento de uma parte da região de interesse ou mesmo
se eles se referirem à evolução de funcionalidades de cada
etapa. O importante é que a organização perceba a evolução da
implantação. O usuário precisa receber algum benefício,
mesmo que singelo, pois isso fomentará a credibilidade do
projeto e facilitará procedimentos de ajustes e/ou alterações.
- - -OOO - -
- 20
O DESPREZO DO DADO BÁSICO
A tecnologia de geoprocessamento desperta motivações e
especificações de sistemas por vezes muito além das
necessidades urgentes do usuário. Tem sido comum que os
técnicos idealizem soluções que envolvem significativa
complexidade totalmente desnecessária para o momento do
usuário. Um exemplo típico de fato deste tipo é o caso de
usuário que nada, ou muito pouco, possui em termos de
software e aplicações, e busca equivocadamente um sistema
que automatize sua logística de distribuição.
A informatização da logística de distribuição, notadamente no
que diz respeito à utilização de mapas digitais, rotas de
veículos, sentidos de trânsito, capacidade de rodovias, etc.,
significam processos de otimização significativamente
complexos e um grande esforço para manter-se atualizada a
base de dados. No entanto, muitas dessas demandas podem
ser atendidas de uma forma muito mais econômica e racional
se as soluções desenvolvidas disponibilizarem o dado básico
na forma de mapas temáticos e permitirem que o operador,
interativamente selecione pontos e regiões de interesse.
Ou seja, se o projetista do sistema considerar que o
conhecimento do operador acerca do assunto é relevante, será
suficiente que o sistema apresente os dados básicos (pedidos,
clientes, volumes, produtos, etc) e deixe a cargo do operador,
através de seleção interativa, a seqüência de entrega, a
- 21
-
formação das cargas de cada veículo, a indicação do
caminhamento, e outras.
Outro exemplo típico do desprezo do dado básico ocorre em
administrações municipais. Enquanto muitos projetos
especificam soluções complexas, tais como recursos para
determinar automaticamente os melhores locais para o
estabelecimento de equipamentos urbanos (escolas, creches,
postos de saúde, etc.) a população que busca, quase na
totalidade das consultas, tão apenas identificar áreas,
perímetros, confrontantes e outros dados básicos relativos a
seu imóvel não é contemplada com nenhum tipo de solução
que lhe facilite.
Some-se ainda ao fato, que soluções complexas exigem a
informatização do dado básico, o que significa que os projetos
deveriam atender inicialmente a sua distribuição, e somente
após virem a suprir objetivos mais complexos e que atenderão
uma quantidade muito menor de usuários.
Sem menosprezar a importância dos processos que auxiliam
questões complexas tais como, controle da qualidade e
auditagem das informações, lembrar que a disseminação do
dado básico apresenta para sua implantação maior rapidez,
menores custos e uma grande visibilidade da aplicação da
tecnologia o que por fim fomenta a credibilidade por sua
utilização.
- 22
A expressão mapa temático é intensamente utilizada em projetos
e aplicações da tecnologia de geoprocessamento, e origina-se
da palavra tema, que contempla no contexto desta tecnologia, a
identificação de um assunto e seus respectivos dados e valores.
Por outro lado a representação geo-referenciada desses dados e
valores deve atender a princípios de comunicação, que
tratados conforme recomendações da semiologia (ou
semiótica) proporcionarão bons resultados.
A semiologia, apesar de merecer amplos estudos no mundo
todo, no âmbito deste trabalho centra-se tão somente em
reconhecer a necessidade de que as visualizações georeferenciadas
de dados devem atender ao princípio do
imediato reconhecimento da informação. Ou seja, a geração de
visualizações simbólicas geo-referenciadas deve permitir que
qualquer pessoa identifique (no sentido de percepção imediata) a
informação no local de sua ocorrência.
A semiologia carrega como princípio que o ser humano
identifica com clareza e imediatismo, cores, dimensões,
variação de tons de uma mesma cor e espessura de linhas. O
ser humano não enxerga com imediatismo, dados que estejam
representados por gráficos de setores (gráficos tipo pizza) ou
mesmo padrões de preenchimentos que aparentem a mesma
textura. Isso causa dificuldade em identificar as informações,
pois significa que será necessário interpretar a visualização
apresentada.
- 23 -
As imagens abaixo exemplificam esta situação. Enquanto na
figura 1 as diferentes cores de preenchimento não auxiliam a
identificação da variação do valor do dado em cada região, a
variação de tons (degradê3) da cor da figura 2, permite a
imediata identificação de quais regiões apresentam maiores
valores, valores médios e valores menores.
Ou seja, na figura 1 será necessário consultar (interpretar) a
legenda o que já não ocorre na figura 2, na qual a identificação
da variação dos dados nas regiões é facilmente identificável
pela intensidade dos tons atribuídos a cada região..
Fig. 1
Fig. 2
3 O Degradê significa que quanto mais pronunciado for o tom, maior é o valor que
ele representa.
- 24 -
UMA VISÃO PRÁTICA
Na prática, para se definir o tipo de representação temática a
ser aplicada à visualização geo-referenciada, é necessário
avaliar as características do mapa digital a ser utilizado e/ou
produzido e o tipo de dado que se pretende apresentar. Para se
projetar qual o tipo de representação temática mais
conveniente, levar em conta inicialmente se o objetivo é:
1 – apresentar diferentes temas;
2 – apresentar variação de um tema.
Para cada um desses objetivos verificar as características das
feições gráficas, existentes nos mapas digitais, que serão
utilizadas para representar os dados. Essas feições, que podem
ser linhas, polígonos, símbolos, círculos, textos, etc., devem ser
entendidas como feições âncora, pois elas serão utilizadas como
os locais no mapa onde as representações deverão ser
mostradas (serão ancoradas nestas feições).
Para cada uma dessas diferentes feições âncora, existem
diferentes possibilidades de representações, conforme tabelas
que seguem:
- 25
-
Objetivo Feição
Âncora
Representações Recomendadas
Apresentar Diferentes
Temas
Polígono
• Definir uma cor para cada tema e
colorizar os polígonos conforme os
temas atribuídos a cada região
representada pelos polígonos.
• Definir uma cor para cada tema e
apresentar círculos coloridos nos
centros geométricos dos polígonos que
definem cada região.
• Definir cor e formato de símbolo para
cada tema, e apresentá-los nos centros
geométricos dos polígonos que
definem cada região.
Linha • Definir uma cor para cada tema,
atribuindo-as às linhas conforme os
temas representados.
Pontual
(símbolo,
texto,
círculo)
• Definir uma cor e um formato de
símbolo para cada tema e apresentálos
no exato local da feição pontual
utilizada como âncora4 ,
• Definir uma cor para cada tema e
apresentar círculos coloridos no exato
local da feição pontual utilizada como
âncora.
4 Observar a importância de se atribuir duas características ao tema: cor e formato.
- 26 -
Objetivo Feição
Âncora
Representações Recomendadas
Apresentar Variação de
Um Tema
Polígono
• Definir um degradê5 atribuindo a cada
tom uma faixa de valores. Colorizar os
polígonos conforme o valor
correspondente a região representada
por cada polígono.
• Definir um rol de dimensões de
círculos, atribuindo uma faixa de
valores a cada um. Apresentar estes
círculos nos centros geométricos
destes polígonos conforme o valor
correspondente a região (polígono) que
ele representa.
Linha • Definir um rol de espessuras atribuindo
uma faixa de valores a cada uma.
Apresentar cada linha com a
espessura conforme o valor que lhe é
correspondente.
Pontual • Definir um rol de dimensões para um
símbolo ou ainda círculos, atribuindo
(símbolo, uma faixa de valores a cada dimensão.
texto, Apresentar estes símbolos no exato
círculo) local da feição pontual utilizada como
referência conforme o valor
correspondente ao ponto que a feição
representa.
5 Degradê: variação de tons de uma mesma cor
- 27 -
CUIDADOS NA DEFINIÇÃO DE CORES, SIMBOLOS E PADRÕES
Quantidade de Temas: para a representação de dados através
de mapas temáticos deve-se limitar a quantidade de temas, por
conta das quantidades de cores que são imediatamente
perceptíveis ao olho humano. Apesar da tecnologia permitir
milhares de tonalidades, a prática e também técnicos em
semiologia recomendam a utilização de no máximo 10 cores.
Afirmam inclusive que a melhor percepção da informação
ocorre, quando se representa entre 4 a 6 temas de cada vez.
Como na prática, na maioria das vezes as quantidades de
temas são maiores que a quantidade recomendada de cores, é
importante que o rol de temas seja re-agrupado em classes ou
mesmo sejam classificados pela sua importância.
Os recursos de software a serem incorporados ao sistema de
produção de consultas (mapas) temáticas tornam-se de
fundamental importância, qual seja: o sistema de consulta
deverá permitir que o usuário selecione temas de seu interesse,
indique cruzamento com outros temas, efetue agrupamento e
classificações, e outros recursos que possibilitem a geração de
mapas temáticos dentro das recomendações da semiologia.
Uso de Símbolos e Círculos: A utilização de símbolos em
representações temáticas, além de atender a mesma
quantidade de temas anteriormente descritos, deve se ater à
necessidade de que o símbolo deve apresentar uma visão
agradável e de fácil reconhecimento. Deve-se dar preferências
àqueles símbolos que apresentem linhas espessas e manchas
- 28
em seu formato. Símbolos formados apenas por linhas, com
pouca espessura, não são convenientes.
Ao se utilizar símbolos ou círculos para apresentação da
variação da importância de um tema, as dimensões utilizadas
para representar esta variação devem se limitar a no máximo 6
diferentes dimensões. A diferença entre essas dimensões deve
propiciar a imediata percepção visual, para tanto devem ser
cuidadosamente definidas para que não se confundam.
A variação das dimensões dos
círculos ao lado, são facilmente
identificados e não confundirão a
leitura de informações. A proporção
entre as dimensões deste exemplo
são raios de 1, 2, 3, 4.5, 5.7 e 6.5
Uso de Gráficos de Setores (tipo Pizza): gráficos deste tipo,
apesar de questionáveis pela semiologia, quando devidamente
combinados entre dimensões e cores, são capazes de
proporcionar mapas temáticos que contemplam de forma
simultânea, a variação de um tema e a comparação entre temas
diferentes. Tais representações acabam não produzindo uma
percepção tão imediata da informação quanto recomenda a
semiologia, mas produz informações geo-referenciadas úteis e
mais fáceis de identificação do que relatórios ou mesmo outros
tipos de gráficos.
As diferentes dimensões das pizzas proporcionam a percepção
das variações do universo de interesse que existe em cada
ponto ou região do mapa, e as diferentes cores atribuídas as
- 29
-
fatias da pizza proporcionam a comparação da significância
entre os temas naquele universo.
Um exemplo típico é representar a opinião da população
acerca de candidatos a cargos eletivos. Enquanto a dimensão
da pizza representa a quantidade de eleitores em cada
município, a cor das fatias mostra o grau de preferência,
daquela população, por cada candidato.
..
Habitantes
+ de 15.000 5000 ~ 15000 - de 5000
Candidatos
José Luis
Pedro Manuel
Seleção de Cores: as cores utilizadas para representações
temáticas devem ser definidas sob 2 aspectos:
Cores para apresentar diferentes temas: neste caso as
cores devem ser bastante diferentes uma da outra e
devem, na medida do possível, apresentar a mesma
intensidade, ou seja: não utilizar, por exemplo, rosa com
azul escuro e verde escuro, pois causará uma percepção de
- 30
que os pontos e/ou regiões colorizados com rosa, tem
menos importância que aqueles com cores escuras.
As seleções abaixo mostram 2 conjuntos de cores
possíveis de serem utilizadas
diferentes temas, inclusive com
(Red/Green/Blue) para cada uma
para representar
os valores RGB
223
223
223
15
232
15
Cores para apresentar a variação de um tema: a
definição de degradês utilizados para apresentar a
variação de um tema deve se limitar ao máximo de 6
tonalidades (recomenda-se 4 tonalidades).
A variação das tonalidades deve ser suficientemente
pronunciada para uma imediata percepção, devendo
por tanto, serem cuidadosamente definidas, conforme
exemplos abaixo:
Degradê A
R 223 239 255 239
G 0 143 207 247
B 31 15 111 0
Degradê B
R 15 47 0 159
G 0 103 184 231
B 175 255 255 255
- 32
Seleção A
R
G
B
Seleção B
R
G
B
175 143 255 223 191 255
255 199 199 223 255 207
255 255 175 255 191 239
79 0 111 224 223 15
207 183 143 127 231 15
175 255 111 15 15 239
- 31
-
CUIDADOS NA SELEÇÃO DA BASE CARTOGRÁFICA
Não se espera e nem cabe, que o profissional de informações
venha a dominar atividades vinculadas a engenharia
cartográfica ou a geografia. Sua necessidade estará focada na
Tecnologia da Informação, qual seja: projetar sistemas com
custos racionais, capazes de atender os objetivos dos usuários.
No entanto, para a definição da representação a ser utilizada
em mapas temáticos o profissional de informações deverá
avaliar as disponibilidades de mapas digitais da região objeto
do trabalho.
Por vezes pode ocorrer a ausência de um mapa da região ou
ainda, que o mapa existente esteja desatualizado. Nestes casos
analisar cuidadosamente as possibilidades, pois dependendo
da solução adotada os custos de produção e/ou atualização da
base cartográfica, poderão superar em muito o valor do
trabalho.
O profissional de informações deve buscar o perfeito
entendimento dos processos produtivos de cada solução bem
como re-avaliar as representações temáticas e funcionalidades
projetadas. Esse princípio, qual seja:
avaliação de disponibilidades refinamento e/ou re-definição
e/ou produção/manutenção, de das representações temáticas e
X
bases cartográficas inter-ações projetadas,
- 33
-
Cria condições para soluções otimizadas com custos
pertinentes aos objetivos pretendidos.
Para tanto, o profissional de informações deve se assessorar de
agrimensores ou engenheiros -cartógrafos ou civis
devidamente habilitados - que o auxiliem na identificação de
escalas, custos, prazos, qualidade da informação, etc., de forma
que estes elementos lhe possibilitem definir a solução mais
racional.
Exemplo:
Para exemplificar a importância da correta seleção de uma
base cartográfica, tomemos o seguinte cenário:
O departamento de marketing solicita informações
acerca das vendas dos produtos da empresa em todo o
estado, visando uma re-adequação das promoções.
Identificado que o objetivo do setor de marketing é re-adequar
o esforço de venda e que para tanto precisa conhecer o
desempenho das vendas em cada município do estado, já
podemos projetar que um mapa de polígonos de municípios
será suficiente para suprir a produção de informações
temáticas. Levando ainda em conta que a informação
necessária não apresenta um caráter cartográfico, ou seja, não
está vinculado a Latitude e Longitude, pode-se afirmar que um
mapa retilinizado – aquele em que as feições são apresentadas
- 34
com segmentos de linhas retas e que tem uma visão de croquis
-é capaz de suprir a demanda.
A vantagem em se definir um mapa tipo croquis é seu baixo
custo de produção ou adequação e o curto prazo para sua
execução, além do que proporciona – devido a sua menor
quantidade de kBytes – facilidade e maior performance à
aplicação.
Importante ainda considerar que para o exemplo em questão
não basta a simples existência do mapa digital. O conjunto
formado pelo mapa e pelo software que o manipula, deve
permitir que cada polígono representativo de município receba
uma codificação, a qual deverá ter sua correspondência na
base de dados das vendas de produtos.
- - -OOO - -
-
- 35 -- 36
O profissional de informações que pretende aplicar a
tecnologia de geoprocessamento necessita conhecer alguns
aspectos que envolvem a produção de mapas e expressões
correlatas. Evidentemente que este capítulo se restringirá a
conceituar os processos e produtos da engenharia cartográfica
no contexto do profissional de informações, não pretendendo
em hipótese alguma substituir ou mesmo complementar
qualquer outro tipo de estudo ou publicação acerca do
assunto.
CONCEITOS E EXPRESSÕES IMPORTANTES
Aqui constará um resumo de conceitos em linguagem voltada
ao profissional de informações, sem definições técnicas e sem
explicações matemáticas, mas focada para a tecnologia da
informação.
Aerofoto: fotografia obtida por câmera aérea métrica instalada
em aviões. Isoladamente e sem tratamentos a aerofoto não
apresenta qualidade para medições.
Par estereoscópico: tratam-se de 2 aerofotos de uma mesma
região obtidas com a câmera posicionada em 2 locais
diferentes.
- 37 -
Estereoscopia: é a capacidade de se “enxergar” uma região em
3 dimensões a partir de um par estereoscópico.
Fotogrametria: é a técnica que permite efetuar medições a
partir de uma imagem 3D.
Restituidores Fotogramétricos: são os equipamentos que
recebem o par estereoscópico e que permitem visualizações em
3D, sejam eles analógicos ou digitais.
Modelo Fotogramétrico: é a imagem em 3D formada pelo par
estereocópico que é visualizada em restituidores
fotogramétricos e que permite medições.
Restituição Fotogramétrica: trata-se de um trabalho manual,
em que o operador deslocando um cursor no limite das feições
existentes na imagem, criam-se linhas e polígonos que
representam as dimensões e localizações dessas feições.
Quando o par estereoscópico refere-se a aerofotos, a restituição
é então denominada de aerofotogramétrica, e as linhas,
polígonos, símbolos e outros elementos geométricos
representativos das feições identificadas no modelo
aerofotogramétrico (imagem 3D) constituirão o mapa
conforme o conhecemos, qual seja, mapa com traços.
A restituição aerofotogramétrica passou nos últimos 15 anos
por profundas alterações. O processo que era totalmente
- 38
analógico, com equipamentos óticos, pantógrafos e manivelas,
informatizou-se e através de softwares, o resultado do trabalho
dos operadores passou a ser digital, passou a ser o mapa
digital.
Ortofoto: a primeira vista parece uma aerofoto, no entanto
trata-se de uma fotografia com qualidade métrica. Ou seja, ela
foi ortogonalizada, a partir do modelo digital do terreno
(DTM) através de softwares apropriados e apresenta escala
bem definida e qualidade cartográfica ao longo de toda sua
abrangência.
Modelo Digital do Terreno (DTM): é a representação gráfica
de um terreno efetuada a partir das coordenadas x,y,z de
pontos contidos na área de interesse, alcançada através de
softwares.
GPS:.Sistema de satélites que proporcionam as coordenadas
(Latitude e Longitude) do local onde encontra-se o receptor
Sistema de Projeção: o grande desafio da cartografia é
representar num plano a superfície elipsoidal do planeta. Para
tanto, já de longa data, através da matemática e da geodésia
estudiosos criaram métodos que permitem a representação da
superfície elipsoidal. Esses métodos consideram diferentes
formas de se projetar a superfície terrestre num plano, por isso
esses métodos recebem a denominação de Sistema de Projeção.
- 39
-
Latitude: coordenada informada em graus, minutos e
segundos de arco que serve para indicar o quanto o ponto está
distante da linha do equador, sendo portanto uma medição na
direção Norte-Sul.
Longitude: coordenada informada em graus, minutos e
segundos de arco que serve para indicar o quanto o ponto está
distante do meridiano de Greenwich, sendo portanto uma
medição na direção Leste-Oeste.
Azimute: ângulo formado a partir do Norte que uma linha
toma a partir de um ponto conhecido. Normalmente este
ângulo é medido no sentido do movimento dos ponteiros do
relógio.
Datum: ponto utilizado como referencia para o
estabelecimento do sistema de coordenadas definido pelo
sistema de projeção. No Brasil existem mapas produzidos com
o datum Córrego Alegre e com o datum SAD69, sendo este
ultimo o oficial por lei.
UTM: Universal Transversa de Mercator trata-se de um tipo de
coordenada plana do tipo X/Y em que X refere-se a direção
Leste-Oeste e o Y refere-se a direção Norte-Sul. Este sistema de
coordenadas considera a terra subdividida em fusos de 6 graus
e estabelece para cada um deles um sistema cartesiano em que
no centro deste fuso, denominado meridiano central, o valor
- 40
de X é 500.000 o qual aumenta para leste e diminui para oeste.
Já para o eixo Y, o valor máximo é de 10.000.000 na linha do
equador, reduzindo-se conforme dele se afasta para o sul.
Em sendo do interesse se aprofundar no assunto, o leitor
deverá procurar publicações especializadas em engenharia
cartográfica. O enfoque deste livro, que se destina a
profissionais de informações, centra-se no princípio de que
esses profissionais necessitam tão somente de informações
conceituais.
Importante ter em mente que softwares tipo CAD voltados a
produção e manutenção de mapas já trazem como recursos
natos, o uso de formulários capazes de suprir demandas por
transformações de coordenadas, sistemas de projeção, datuns e
outros recursos afetos à engenharia cartográfica, bastando o
profissional de informações saber aplicá-los quando
necessário.
- - -OOO - -
-
- 41
-
EDIÇÃO E PREPARAÇÃO DE MAPAS
Dentre os procedimentos produtivos, a edição e preparação de
mapas é a fase que o profissional de informações mais precisa
conhecer.
O mapa digital recém saído da restituição aerofotogramétrica é
um produto técnico e muito aquém da visualização do mapa
como o conhecemos. São necessários serviços de edição,
serviços estes que vão da inserção de textos, colorização de
elementos, realces de símbolos e linhas, passando pela geração
de desenhos para sistemas CAD conforme articulações de
folhas e escalas oficiais, até a geração de uma base única e
contínua própria para aplicação da tecnologia de
geoprocessamento. O processo de edição é complexo e
variável, e está implicitamente vinculado ao uso que se
pretende dar ao mapa.
São necessários identificar as produtividades e custos de cada
atividade, os elementos geométricos que deverão ser
codificados, as escalas que serão utilizadas, e outros, de modo
que seja possível ao profissional de informações planejar e
desenvolver sua solução.
detalha os cuidados e identificações mais importantes que o
profissional de informações deve se ater.
- 42
MAS AFINAL, POR ONDE COMEÇAR ?
Esta é provavelmente a mais freqüente pergunta que o
profissional de informações se faz ao se deparar com seu
primeiro projeto com tecnologia de geoprocessamento. Um
bom começo é o completo reconhecimento das partes
necessárias ao desenvolvimento e implantação da solução
pretendida.
Apesar deste capítulo não pretender discutir métodos e
procedimentos utilizados para planejamentos e
desenvolvimentos de softwares, alguns itens que apresentam
direta relação com a informação geo-referenciada e que
influem significativamente no desenvolvimento da solução,
deverão ser consideradas. São eles:
• Modelagem de dados;
• Domínio tecnológico das aplicações;
• Mapas digitais;
• Manutenção e/ou atualização dos mapas;
• Ferramentas para geoprocessamento;
• Requisitos funcionais;
• Infra-estrutura;
- 43
-
MODELAGEM DE DADOS
Ao se projetar o modelo de dados para um sistema de
informações, o conhecimento da tecnologia de
geoprocessamento é de grande importância, pois tabelas,
relacionamentos, índices e outros, poderão ser reduzidos e até
suprimidos quando o analista projeta a utilização de um
software de geoprocessamento.
Para citar tão apenas um exemplo, tome-se um cadastro de
clientes. Com certeza encontraremos lá campos tais como
nome, endereço, bairro, CPF, etc., onde, quase que com certeza,
eles vem sendo informados e mantidos através de digitação.
No exemplo em questão a digitação do bairro é totalmente
dispensada. Bastaria utilizar o mapa digital da cidade e um
software de geoprocessamento que a informação bairro seria
automática. Com um software de geoprocessamento e o mapa
digital da cidade convenientemente preparado, é possível
obter-se as coordenadas de um endereço e portanto identificar
em que polígono – bairro – este ponto está contido.
Suponha-se neste mesmo princípio caso de lotes situados em
diferentes bairros ou setores da cidade que normalmente
apresentam diferentes permissões de uso e de edificações. Se o
sistema projetado permitir que o bairro seja digitado, ocorre
uma grande chance de erro e até mesmo, possibilidade de
fraude, o que com a tecnologia de geoprocessamento fica
minimizado ou até eliminado.
- 44
DOMÍNIO TECNOLÓGICO DAS APLICAÇÕES
Os softwares e/ou dados legados é uma realidade que afeta
significativamente o planejamento de novas versões e/ou reengenharias
de sistemas existentes. A utilização desses legados
exige o acesso e conhecimento de módulos fontes, modelo de
dados, algoritmos de proteção, e outros.
E a aplicação da tecnologia de geoprocessamento não foge a
essa realidade. Para se incorporar a tecnologia de
geoprocessamento em aplicações existentes, serão necessários
novos desenvolvimentos, implementações e ajustes que
obrigatoriamente redundarão em novas compilações, o que
por fim obriga a disponibilidade e domínio dos módulos
fontes e da linguagem utilizada.
Não tem sido raro deparar-se com clientes que pretendem
incorporar mapas digitais em suas aplicações, no entanto os
programas por eles utilizados são “pacotes” contratados no
mercado, sem documentação e sem qualquer possibilidade de
interação com outros processos.
- 45
-
SELECIONANDO MAPAS DIGITAIS
A especificação do mapa digital é uma das mais importantes
atividades para o planejamento do sistema a ser implantado.
Uma definição equivocada poderá significar a diferença entre
o fracasso e o sucesso do projeto, pois os custos de aquisição,
de manutenção e prazos para produção, edição e preparação
são muito variados.
Uma forma para auxiliar na especificação é encontrar as
respostas para as seguintes perguntas:
Pergunta 1:
Existe o mapa digital da área de interesse ? Está consolidado
como uma base contínua ou está composta por arquivos
separados ?
Pergunta 2:
A interação entre os dados cadastrais e os mapas acontecerá a
partir de coordenadas ? ou será suficiente apenas correlacionar
elementos gráficos do mapa com dados existentes nas bases de
dados ?
Pergunta 3:
Caso o sistema que vier a utilizar o mapa digital necessite e/ou
processe coordenadas:
- qual o tipo de coordenadas que deverá ser tratado? serão do
tipo graus minutos e segundos, ou serão coordenadas planas
- 46
do tipo UTM, ou ainda do tipo Azimute/Distância oriundas
de outros processos ?
-as coordenadas foram obtidas considerando qual Datum e qual
sistema de projeção?
Pergunta 4:
Existem elementos gráficos no mapa digital com capacidade de
representar os dados cadastrais ?
Pergunta 5:
Existe alguma funcionalidade prevista no sistema que implique
em pesquisas de dados por regiões? Os polígonos que
representam essas regiões constam no mapa digital ? Estão
codificadas conforme os códigos utilizados no sistema? Tem
como correlacioná-los ?
Pergunta 6:
Caso não exista mapa digital da região de interesse, existe mapa
impresso ? Ele possui um sistema cartográfico de coordenadas?
Qual o esforço (prazo e custo) para digitalizá-lo ou mesmo
inserir elementos faltantes ?
Ainda sob o aspecto da definição dos mapas digitais a serem
utilizados no sistema de informação, importante que se
identifique o formato dos arquivos que o armazenam. No item
Ferramentas de geoprocessamento, detalham-se conceitos e
cuidados necessários para tratamento desses diversos
formatos.
- 47
-
MANUTENÇÃO E/OU ATUALIZAÇÃO DOS MAPAS
Todo projeto de sistema de informações que pretenda utilizar
mapas digitais deverá ser avaliado quanto ao impacto causado
pelas necessidades de manutenção e atualização dos mapas
digitais utilizados. Pois, dependendo dos custos e dificuldades
envolvidas pode até mesmo ser conveniente simplificações
quanto ao seu uso no projeto.
Cada tipo de dado existente no mapa digital, seja na forma de
símbolos, polígonos, ou polilinhas, apresenta diferentes custos
e facilidades para sua atualização.
Exemplo: Suponha-se que a necessidade seja identificar a
situação das vendas de determinado produto nos
municípios de uma região.
Solução:
Inicialmente pode-se projetar que o mapa a ser
utilizado será simplesmente a malha de municípios
da região e ainda na forma de polígonos
retilinizados. Este é um mapa bastante simples e que
a necessidade de manutenção será muito eventual,
tão somente quando for criado algum novo
município.
No entanto, caso seja importante identificar-se o
desempenho de cada ponto de venda, levando em
conta suas localizações, o potencial de sua área de
influência, etc, há que se possuir os mapas das
- 48 -
cidades da região de interesse e nestes indicarem-se
os locais onde se localizam os pontos de venda.
Os mapas digitais para atenderem uma demanda
como esta, apresentam necessidades de atualização
com freqüência muito maior, pois surgem novas
ruas, novos loteamentos, os pontos de venda se
alteram (novos e mudanças), dados censitários são
atualizados, etc.
Importante que avalie-se neste caso as possibilidades
de manutenção destas informações, as quais pode-se
enquadrar sob 2 aspectos: a base cartográfica digital
atualizada e com manutenção pode ser pesquisada
junto ao mercado produtor deste tipo de dado. Já a
manutenção dos locais de pontos de venda, deverá
ser resolvida no âmbito do projeto, através da
definição do responsável pelos serviços, ou mesmo
com a contratação de terceiros.
Outro exemplo que conceitua de forma clara a importância da
avaliação do impacto causado pelas necessidades de
manutenção e atualização dos mapas digitais, acontece em
sistemas que tratam dados cadastrais obtidos nos imóveis de
uma cidade.
Observa-se que a maior parte dos cadastros – principalmente
em prefeituras – considera polígonos de lotes e de edificações
como o elemento para elo de ligação aos dados cadastrais. No
entanto a manutenção desses polígonos é uma atividade que
demanda um grande esforço e só é justificável em sistemas de
- 49
-
informação que buscam informar medidas e dimensões de
imóveis.
Se o objetivo do sistema for a geração de informações voltadas
a planejamento, um simples símbolo indicando a posição e o
número do imóvel será suficiente. Os dados cadastrais passam
a ser vinculados a esses símbolos, proporcionando um esforço
muito menor para formação e manutenção dos dados georeferenciados
constantes do mapa digital.
- - -OOO - - -
- 50
FERRAMENTAS PARA GEOPROCESSAMENTO
Um dos cuidados que o profissional de informações deve ter
na definição do sistema é na seleção do software de
geoprocessamento que será utilizado. A seleção da melhor
opção não pode vincular-se somente aos aspectos tecnológicos
disponíveis, mesmo porque, na essência, todos eles
apresentam basicamente os mesmos recursos.
A consideração tecnológica mais importante vem do fato de
que os softwares CAD existentes no mercado apresentam
formatos proprietários e que a seleção do software de
geoprocessamento é diretamente relacionado ao formato do do
mapa digital que foi criado por algum software CAD.
Ou seja, a simples disponibilidade do mapa digital, mesmo
que codificado e com dados suficientes, ainda precisa ter um
formato reconhecível pelo software de geoprocessamento.
Assim, a análise para a seleção da tecnologia de software a ser
utilizada deve levar em conta que:
•
as conversões entre formatos proprietários normalmente
causam transtornos e perdas de dados. Portanto é sempre
conveniente, na medida do possível, que conversões sejam
minimizadas ou até eliminadas. Para tanto, selecionar
mapa digital, software CAD e software para
geoprocessamento compatíveis entre si;
•
arquivos de mapas digitais são, via de regra, arquivos
grandes e que portanto necessitam de tecnologia de
software (CAD e/ou geoprocessamento) que apresente
- 51
-
desempenho compatível com os objetivos pretendidos e
equipamentos disponíveis. Geralmente softwares
desenvolvidos com finalidade genérica apresentam
desempenho bastante inferior a softwares voltados a
aplicações específicas;
•
caso o sistema a ser atendido demandar serviços constantes
para atualização de mapas, importante que avalie-se o
desempenho do software CAD, a facilidade para seu uso, a
existência de suporte, disponibilidade de mão de obra,
requerimentos de hardware necessários ao seu
funcionamento, opção de versões e custos, bem como
opinião de usuários que utilizem o referido software em
situações semelhantes;
•
devido os softwares para geoprocessamento serem
apresentados na forma de módulos executáveis e/ou
bibliotecas (dos tipos DLL, ActiveX,...) será necessário
definir que tipo de tecnologia será utilizada;
•
caso as demandas funcionais do sistema indiquem o uso de
bibliotecas, identificar se as tecnologias à elas aplicadas são
compatíveis com as linguagens utilizadas no
desenvolvimento do sistema. Não confiar em informações
promocionais. Importante ter certeza de que todos os
recursos poderão ser utilizados na linguagem prevista.
•
será necessário alocar programadores para aplicar a
tecnologia do software de geoprocessamento selecionado.
Portanto avaliar o impacto causado pelos prazos
necessários ao aprendizado dos técnicos envolvidos.
- 52 -
REQUISITOS FUNCIONAIS
A especificação das funcionalidades previstas para o uso dos
recursos de geoprocessamento é parte fundamental para o
sucesso do projeto.
As diferentes demandas pelas informações quase sempre
conduzem para soluções com diversas escalas de visualização
e acessos a diferentes mapas digitais e bases de dados. Some-se
ainda a isso, o nível de segurança e sigilo que devem ser dadas
às informações, bem como as necessidades operacionais em
atividades de atualização ou somente consulta. Há que se
definir a hierarquia de usuários e que tipo de recurso cada um
necessita.
Ainda no contexto da especificação de funcionalidades,
importante ter em mente a necessidade de se definir com
clareza os recursos de consulta e de interação que cada usuário
poderá efetuar com o mapa digital.
A prototipação prévia de telas bem detalhadas, contendo
imagens dos mapas já em escalas apropriadas a cada operação,
tem apresentado bons resultados. Tal procedimento, além do
usuário ter a amostra de como será sua interface, faz surgir
questões operacionais que eventualmente tenham sido
desprezadas ou não atendidas.
A identificação prévia dessas diferenças pode até mesmo
influir na modelagem de dados e na especificação dos mapas
digitais, sem considerar ainda os esforços de desenvolvimento
que podem ser economizados.
- 53 -
INFRA-ESTRUTURA
Todo profissional de informações bem sabe da importância da
infra-estrutura necessária para a implantação de um sistema.
Há que se ter de forma clara as disponibilidades da
comunicação de dados, dos servidores, do gerenciador de
banco de dados, da rede de computadores existentes e outros.
Para a implantação da tecnologia de geoprocessamento não
poderia ser diferente. O cuidado deve ampliar-se ainda mais,
seja por conta do tipo de informação que irá trafegar pela rede
ou pelos servidores que serão dedicados aos conteúdos georeferenciados.
Mapas digitais são conteúdos – arquivos - com muitos Mbytes,
necessitando assim de redes de comunicação que apresentem
desempenho satisfatório.
Já com relação a servidores, a experiência tem mostrado ser
mais conveniente o estabelecimento de servidores dedicados,
ou seja, aqueles que só concentram conteúdos formados por
mapas digitais e processos a eles relacionados. Dados
cadastrais e processos que envolvam consultas em bancos de
dados devem estar vinculados a outros servidores.
- 54
SOLUÇÃO LOCAL X SOLUÇÃO WEB
O atual estágio das tecnologias de software e comunicações,
notadamente os conceitos aplicados em soluções atendidas
através da Internet, é causadora de dúvidas por ocasião do
planejamento do projeto.
De um lado, o profissional de informações depara-se com o
mundo novo proporcionado pela Internet, mas que ainda
encontra-se em muitos lugares com acesso duvidoso, instável e
com baixa performance.
De outro lado, constata a grande facilidade que é manter
conteúdos e aplicações sempre atualizadas para todos os
usuários, pois basta atualizar o servidor e todos estarão
acessando versões e conteúdos atualizados. No entanto,
depara-se também com falta de alguns recursos que as
tecnologias para geoprocessamento voltadas a WEB ainda
apresentam quando comparadas aos recursos disponíveis em
bibliotecas e componentes utilizadas em soluções locais.
A tendência certa da evolução dos softwares é na direção de
soluções implantadas em provedores de aplicações6, no
entanto atualmente ainda há que se considerar a solução local
como uma alternativa.
Os tópicos que seguem podem ser entendidos como um guia
que auxiliará o profissional de informações a definir seu
projeto. São eles:
6 ASP – Application Server Providers
- 55 -
I.
identificar a quantidade e o tipo de usuário que o sistema
(ou partes dele) deverá atender. Identificar se é um usuário
corporativo ou isolado;
II.
identificar a periodicidade na manutenção de conteúdos e
versões para o usuário do sistema. Lembrar que, para
soluções locais, uma grande quantidade de usuários bem
como manutenções constantes das bases de dados
significam dificuldades para atualizações;
III.
analisar as tecnologias já existentes na organização,
identificando se são soluções locais de uso corporativo ou
soluções no conceito ASP. Sempre que possível é
conveniente manterem-se conceitos já implantados e
adquiridos pelos usuários;
IV.
identificar na tecnologia de software de geoprocessamento
selecionada, se as funcionalidades previstas no sistema são
disponíveis para o ambiente WEB, se apresentam
desempenho compatível com o uso ou, se são aplicáveis
apenas em aplicações locais;
Enquanto novas evoluções na tecnologia de software e
comunicações não acontecem, pode-se mesmo afirmar que as
soluções quase sempre se encaminham para uma situação
híbrida, qual seja, a convivência de soluções locais com
soluções desenvolvidas para a WEB.
Observa-se na prática que a manutenção de dados básicos
(p.ex; as ruas de uma cidade) são atualizadas por um grupo de
- 56
técnicos muito reduzido quando comparado aos milhares que
utilizam esta informação para consulta.
Assim, tem sido procedimento usual que os módulos voltados
para manutenções de dados básicos sejam constituídos por
aplicações locais, na maioria das vezes até mesmo por
aplicações monousuárias. Aplicações locais apresentam maior
desempenho, maior facilidade para controlar manutenções e
ainda, como o grupo de usuários é reduzido, não causa
grande impacto a substituição de versões.
Já os módulos voltados a consultas, principalmente aqueles
que são voltados a representar e a interagir com dados
representados sobre os mapas básicos, e que na maior parte
das vezes destinam-se a atender centenas e milhares de
usuários, são constituídos por aplicações desenvolvidas para a
WEB.
Dentre as várias aplicações neste contexto, destacam-se desde
páginas para a WEB que permitem localizar endereços em
cidades, determinar rotas e itinerários de ônibus, ou mesmo
consultar a posição de veículos dotados de receptores GPS.
Apesar dessas consultas estarem disponíveis para milhares de
usuários, as manutenções são efetuadas por técnicos que
utilizam sistemas locais.
- 57
-
LOGÍSTICA E A TECNOLOGIA DE GEOPROCESSAMENTO
A Logística é um grande potencial usuário da tecnologia de
geoprocessamento, motivo até que ensejou nossa opinião em
coluna do jornal Gazeta Mercantil, publicada em meados de
2.001, a qual abaixo se transcreve.
Logística e a Geomática
A história recente da evolução de processos e tecnologias mostra que
qualquer atividade após um boom de popularidade gera palavras e
expressões que acabam virando moda. Alguns empresários e profissionais
incautos apoderam-se de tais termos e julgam estar praticando o estado da
arte. A logística tão necessária nas atividades do mundo globalizado não
foge à regra. Em nosso país, despacho de mercadoria vem sendo
considerado Logística por alguns.
Sem qualquer menosprezo aos profissionais que gerenciam e operam
despachos, a logística é muito mais. Ela é uma atividade de planejamento
que exige tecnologia, conhecimento e informação. Vejamos: conceituando
logística como atividade de planejamento que visa reduzir custos e prazos
em processos complexos de distribuição ou produção, pode-se afirmar que
para fazer logística são necessários softwares e conteúdos apropriados,
bem como técnicos preparados e infra-estrutura integrada, para que a
eficácia pretendida ao processo seja alcançada.
Como pode então se constatar, a Logística deve levar em conta variáveis
que vão de aplicação de métricas de sua eficácia, passando pela
mineração de dados (tecnologia de software que possibilita cruzamento de
dados históricos visando projeção futura) e chegando até a aspectos
organizacionais dos recursos humanos alocados.
- 58
Entre inúmeras tecnologias de software, a logística pode ser considerada o
prato cheio para analistas e administradores de sistemas. Bancos de
dados, algoritmos para otimização de processos, redes e comunicação
exigem o máximo desses profissionais. Entretanto uma tecnologia está
sendo desconsiderada na grande maioria dos projetos de Logística, o
geoprocessamento. Também conhecida por Geomática, esta tecnologia
possibilita incorporar o mapa digital da cidade ou da região de interesse
aos processos componentes da Logística.
A importância do mapa digital é incontestável. Centrando esta afirmação na
hipótese de um eficaz sistema para distribuição de produtos, ou mesmo
para visitas a pontos de venda, fica constatado que caso não sejam
considerados os efetivos locais de entrega ou de visitação, o planejamento
efetuado será deficiente. Informações relativas a distância entre pontos, de
caminhos a serem percorridos, dos sentidos de tráfego das ruas e
avenidas, e outras informações obtidas a partir do posicionamento
geográfico, serão praticamente impossíveis de serem tratados sem a
aplicação da tecnologia de geoprocessamento. Pode-se citar um “sem fim”
de exemplos da aplicação de mapas digitais em processos de Logística.
Desde a manutenção do estoque em “vendding machines” até a otimização
do transporte de grãos para Portos, exigem o apoio geo-referenciado.
Detalhando estes exemplos: o aumento do custo de manutenção dos
estoques em “vendding machines” é diretamente proporcional ao
desconhecimento e planejamento do volume de reposição necessário em
cada equipamento bem como da seqüência de entregas a ser efetuada; a
formação de filas para descarga de grãos - com o consequente aumento
de custo de transporte, pedágios, estadias, perda de mercadorias, etc - é
diretamente proporcional ao desconhecimento e planejamento dos volumes
a serem alocados nas estradas pelas cooperativas e industrias, bem como
a agenda de atracagem de navios graneleiros.
Estes 2 exemplos apesar de ensejarem no aspecto da otimização de
processos, soluções totalmente diferentes apresentam similaridade quanto
a necessidade da aplicação da tecnologia de geoprocessamento. Para o
primeiro a localização dos equipamentos é imprescindível.
Para o segundo, (processo muito mais complexo) há que se considerar
para cada trecho da malha de estradas, sua capacidade e a agregação de
novos volumes que lhe são pertinentes.
E é neste contexto, com o uso da tecnologia de geoprocessamento, que a
Logística tornar-se-á o diferencial competitivo entre empresas, o que
propicia ao fim, ganhos financeiros, economia e ganhos de imagem. Neste
aspecto (de imagem e marketing), cabe ainda as seguintes indagações:
1.
O que pensamos se a frente de uma “vendding machine”, ao
comprar um sorvete ou um refrigerante a máquina nos informa:
PRODUTO INDISPONÍVEL ? Será que nossos pensamentos
serão: deve ser um bom produto, ou será vou experimentar outro
produto ?
2.
O que pensamos se estamos indo de automóvel passar o fim de
semana com a família no litoral e permanecemos horas num
congestionamento de caminhões que se dirigem ao Porto ? Será
que nossos pensamentos serão: que bom meu Estado está
exportando bastante ou será vou votar num outro candidato ?
- - -OOO - -
- 59
-
- 60
ROTAS E A TECNOLOGIA DE GEOPROCESSAMENTO
Apesar do assunto Rotas ter forte relação com logística de
distribuição, observa-se uma significativa quantidade de
profissionais buscando na tecnologia de geoprocessamento a
solução para seus problemas de determinação de rotas.
A convivência com situações deste tipo, mostra que na maioria
das vezes as soluções procuradas são utópicas e que os
profissionais interessados desconhecem as tecnologias,
conteúdos e especialidades necessárias.
O primeiro passo a ser trabalhado junto a um interessado é
constatar o que é ROTA para ele. Apesar de ROTA ensejar a
possibilidade de deslocamento ao longo dos eixos de ruas, a
experiência mostra alguns interessados denominando de
ROTA um aglutinado de pontos de venda atendidos por um
vendedor, outros que chamam de ROTA a sequência de pontos
que deverão ser visitados, outros ainda denominando de
ROTA os polígonos que envolvem os pontos de interesse.
Portanto, identificar previamente o objetivo do interessado,
independente dele expressar ou não o termo ROTA.
Se o interesse for efetivamente determinar os caminhamentos
que os veículos deverão efetuar, levar em conta que a
determinação de ROTAS é um assunto complexo que quase
sempre precisará de uma solução personalizada. Um sistema
de ROTAS não pode simplesmente indicar um caminho, pois o
deslocamento de uma motocicleta é totalmente diverso do
- 61
-
deslocamento de um caminhão. Além disso, podem existir
restrições quanto a horários em determinadas ruas, ou
restrições quanto ao tamanho do veículo e até mesmo no tipo
do veículo.
Além disso, outros fatos são significativos. Suponha-se, que o
veículo seja um caminhão do tipo baú (aqueles que tem porta
apenas atrás). A determinação da ROTA deverá levar em conta
obrigatoriamente a sequência de carga do baú, pois não se
pode definir que a primeira entrega esteja com sua mercadoria
lá no fundo do baú.
Identificar que tipo de veículo ele pretende deslocar e se o
volume das mercadorias tem algum significado para a
definição da sequência. Dado o exemplo anterior do baú, no
qual a sequência de carregamento tem um significado
importante, vem o exemplo do moto-boy onde a mercadoria,
normalmente pequenas em quantidade e dimensões, não é
significativa.
Ou seja, ROTA não é uma questão tão apenas de algoritmo
matemático para definição do caminho, é também uma
questão de logística. Portanto, o segundo fato a identificar é o
conhecimento que o interessado tem acerca do assunto
logística.
Por fim, identificar as características que o mapa digital deverá
apresentar para atender os objetivos do interessado, pois o
custo para manutenção de uma informação atualizada no
mapa digital é o grande problema para a implantação de um
sistema automático para definição de ROTAS.
- 62 -
Imagine-se uma cidade de certo porte para a qual se necessite
manter atualizadas no mapa digital, as possibilidades de
conversão, mão e contra-mão, desvios, feiras livres, restrições
de tráfego, etc, etc, de cada esquina da cidade ! O trabalho é
simples, a complexidade fica por conta da quantidade e do
custo que isso representará. Via de regra, o interessado julga
que estes dados sejam disponíveis, o que não é a realidade.
Identificado que o interessado está ciente destas realidades,
pode-se então tomar 2 ações:
A. Alocar
consultores e especialistas em logística e
roteamentos para detalhar as necessidades do
interessado e então formular o detalhamento financeiro
do projeto, ou
B. propôr uma alternativa mais econômica e rápida de ser
implementada que é a simples indicação dos pontos de
interesse sobre o mapa digital. Um aplicativo específico,
em substituição a atuação empírica e uso de mapas em
papel, e que possibilite interativamente a aglutinação
desses pontos seja pela quantidade deles, seja pela
quantidade de mercadorias a serem entregues em cada
um, na grande maioria dos casos já será um grande
avanço e grande ajuda aos planejadores das cargas e dos
deslocamentos dos veículos.
Na hipótese B o interessado não terá o efetivo caminhamento
do veículo, mas terá no mapa os pontos a serem visitados, e se
esses pontos forem constantes, sem grandes alterações diárias,
- 63
-
o interessado poderá até definir interativamente o caminho a
ser percorrido.
Além disso, trata-se de uma alternativa que em nada prejudica
ou impede uma fase seguinte que busque a ampliação da
automatização dos processos. Será até mesmo facilitada, pois
os processos de manutenção de dados já estarão consolidados.
Muitos interessados estão optando por alternativas deste tipo,
pois economizaram sobremaneira nas implantações e
manutenções de dados e estão obtendo significativas reduções
em seus custos operacionais.
- - -OOO - - -
-
- 64
MONITORAÇÃO E RASTREAMENTO DE VEÍCULOS
A popularização do GPS, as necessidades da logística no
transporte de cargas e o aumento da demanda por sistemas de
segurança, sejam de cargas ou mesmo pessoais, estão fazendo
crescer em ritmo acelerado a busca por sistemas que fazem a
monitoração e o rastreamento de veículos. Para essa atividade
a tecnologia de geoprocessamento é essencial, pois sem ela não
se alcançam visualizações que permitem o reconhecimento da
posição dos veículos.
Apesar de Centrais de Monitoração e Rastreamento existirem a
pelo menos uma década, neste começo de século, a redução
dos custos de transmissão de dados, a expansão da Internet, a
ampliação das comunicações e a evolução da eletrônica que
vem permitindo antenas e receptores fisicamente sempre
menores e com maiores capacidades, estão mudando
radicalmente essas centrais.
Agora se estabelecem como provedores de serviços através da
WEB, permitindo que seus clientes consultem e comandem
ações diretamente em seus veículos.
No aspecto da tecnologia de geoprocessamento, destaca-se que
até bem pouco tempo atrás, as centrais eram obrigadas a
estabelecer sua própria estrutura de equipamentos e softwares
para utilizar mapas digitais. Atualmente já existem provedores
de acesso a mapas através da WEB, o que proporciona drástica
redução de custos para as centrais, além de lhes proporcionar
mapas sempre atualizados e além disso a possibilidade de
informar seus clientes através da Internet.
- 65 -- 66
Nos capítulos e tópicos iniciais deste livro, foram apresentados
fatos e experiências que objetivam a correta conceituação e
cuidados que o profissional de informações deve ter acerca da
tecnologia de geoprocessamento.
Já os capítulos que seguem, tratam de apresentar um guia para
a efetiva aplicação da tecnologia de geoprocessamento, tendo
sido selecionado o produto dbMapa Express da empresa
Maxidata Tecnologia e Informática Ltda7.
A escolha por este software deu-se pela sua facilidade de uso,
pelo total domínio que se tem do produto, pela grande
quantidade de aplicações desenvolvidas com sua tecnologia e
pela pronta disposição da empresa em suprir este livro com
um CD-ROM contendo o mapa digital da malha de municípios
brasileiros e uma versão do dbMapa Express pronto para
utilização.
dbMAPA EXPRESS - TECNOLOGIA
Importante que o dbMapa Express seja compreendido sob a
perspectiva de que ele trata-se tão somente de uma parte da
tecnologia de geoprocessamento da empresa Maxidata. O
dbMapa Express é um software que faz parte da evolução
tecnológica vivida de forma pioneira por esta empresa.
7Endereço da empresa: www.maxidata.com
- 67 -
A Maxidata Tecnologia e Informática Ltda, foi a primeira
empresa brasileira a se dedicar à criação e desenvolvimento de
softwares para mapas digitais. Sua tecnologia é materializada
em 3 linhas de produtos, que são:
MaxiCAD: software CAD especialmente desenvolvido para
formação e manutenção de mapotecas digitais. Atualmente
denominada de MaxiCAD32 (tecnologia 32 bits) apresenta além
dos recursos CAD possibilidade de integração a outros
processos, o que permite a implantação de sistemas que atuem
simultaneamente com os dados cadastrais e elementos gráficos
contidos em mapas.
dbMapa: o dbMapa é o software que permite a incorporação
de mapas digitais, padrão MaxiCAD, em sistemas de
informação. Suas opções fazem com que seja entendido como
uma linha de produtos, pois é disponibilizado:
• como componente ActiveX (incorpora-se em aplicações);
• para servidor de mapas através da Internet;
• como versão Lite (utilizada na produção de CD-ROMs);
• como versão Express, (executável para uso genérico)
WEB Map Service: este é um produto-serviço que visa suprir
websites com mapas digitais. Para tanto a Maxidata se
estabeleceu como um provedor de aplicações (ASP) e mantém
um grande acervo de mapas de cidades e disponibiliza para
seus clientes, através de softwares desenvolvidos em Java, o
acesso a esse conteúdo.
- 68
dbMAPA EXPRESS – PRELIMINARES
O dbMapa Express utiliza mapas digitais padrão MaxiCAD32,
de modo que o profissional que vier a atuar com produtos da
tecnologia da Maxidata, produtora destes softwares, deverá
previamente conhecer os conceitos, a estrutura de
arquivamento de dados bem como ter o entendimento de
palavras e expressões peculiares. São eles:
Elementos Gráficos de um mapa MaxiCAD32:
Os elementos gráficos são entidades geométrica criados
através da inserção de pontos com respectivas
coordenadas, armazenadas em meio magnético, que
compõe a estrutura do mapa. Os elementos gráficos
constantes de um mapa padrão MaxiCAD32 dividem-se
em dois grupos:
Elementos Gráficos Primários
São aqueles definidos a partir de pontos
definidores das feições existentes na região. Os
elementos primários são:
Polilinhas, Isolinhas, Símbolos, Círculos,
Arcos, Textos e Cotas.
Elementos Gráficos Secundários
São aqueles inseridos no mapa digital a partir de
elementos gráficos primários existentes. São eles:
Polilinhas Paralelas, Textos Especiais,
Hachuras e Imagens
- 69 -
Nível de Informação:
Nível de Informação num mapa MaxiCAD32 é o
agrupamento de um conjunto de elementos gráficos que
possuem afinidades entre si. Exemplo:
Nível 1 - Quadras
Nível 2 - Postes de Madeira
Nível 3 - Construções e outros.
Podem ser cadastrados até 1024 Níveis de Informação
(de 0 a 1023), sendo o nível 0 (zero) destinado a
armazenar exclusivamente dados acerca do
enquadramento do mapa.
Para o dbMapa, os Níveis de Informação são
identificados pela descrição e não através da numeração
que lhes tenha sido atribuída por ocasião de sua criação
com o MaxiCAD32.
Chave de Acesso:
Chave de Acesso para um mapa MaxiCAD32 é um
atributo alfanumérico que identifica os elementos
primários (poli-isolinhas, símbolos, círculos, textos e
hachuras). Este atributo usado como o código do
elemento, pode ter até 16 (dezesseis) dígitos
alfanuméricos, não deverá ter espaços em branco e
servirá para interconectar os elementos gráficos a
processos externos através do dbMAPA.
- 70
Códigos de Uso:
Código de Uso trata-se do número atribuído aos tipos
e/ou dimensões com que símbolos, caracteres e traços
são identificados nos mapas digitais padrão
MaxiCAD32. A definição destes códigos é efetuada com
o MaxiCAD32 através do comando de menu ARQUIVO
opção CONFIGURAÇÃO opção PROJETO e ficam
armazenados em arquivos do tipo <.PRJ>
Conceito de Projeto (Arquivos <.PRJ>
O MaxiCAD32 incorpora o conceito de Projeto, qual
seja, uma forma de armazenar parâmetros que serão
utilizados em todos os arquivos de mapas digitais afetos
a determinado projeto.
O usuário do MaxiCAD32 pode ter tantos projetos
quantos lhe forem necessários, no entanto um mapa
MaxiCAD32, poderá e deverá estar vinculado a apenas
um projeto (arquivos com extensão <.PRJ>)
- - -OOO - - -
- 71
-
Estrutura de Arquivos do MaxiCAD32
Extensão <.CAD>:
Trata-se de arquivo que armazena as
coordenadas e parâmetros de um mapa digital;
Extensão <.GEO>:
Trata-se de um índice geométrico, associado ao
arquivo <.CAD>, que é responsável pela alta
performance do MaxiCAD32 em zooms.
Extensão <.NDW>:
Trata-se de um índice associado ao arquivo
<.CAD> que trata as codificações (Chave de
Acesso) dos elementos gráficos do mapa.
Tipo
Tratam-se de arquivos que armazenam formatos
de símbolos. Podem existir até 100 arquivos (NN
variam de 00 a 99) deste tipo e cada arquivo pode
armazenar até 1023 diferentes símbolos.
Tipo
Tratam-se de arquivos que armazenam formatos
de caracteres. Podem existir até 100 arquivos (NN
variam de 00 a 99) deste tipo e cada arquivo pode
armazenar até 255 diferentes caracteres.
Extensão <.PRJ>:
O arquivo de projeto, extensão <.PRJ>, armazena
informações relativas aos códigos de uso de
símbolos, caracteres, traços, hachuras, folhas,
bem como parâmetros para plotagens e
exportações.
- 72 -
Estrutura de Arquivos do dbMapa
Extensão <.MAX>:
Trata-se do arquivo que armazena as
coordenadas e parâmetros de um mapa digital.
IMPORTANTE: É importante realçar a diferença conceitual
entre arquivos <.MAX> e os <.CAD>. Em arquivos <.MAX>
constam todas as informações pertinentes ao mapa digital,
ou seja, os códigos de uso, formatos de símbolos e de
caracteres são internos ao arquivo e não utilizam arquivos
<.PRJ> ou mesmo os conjuntose os
necessários aos arquivos <.CAD>.
Extensões <.NDE>:
São os índices associados aos arquivos <.MAX>.
Extensão <.UDB>:
Trata-se do arquivo que, associado ao arquivo
<.MAX>, armazena parâmetros de configuração
do mapa, tais como os valores de cores, escalas,
para cada nível de informação, etc.
Extensão <.KEY>:
Tratam-se de arquivos texto, que armazenam
chaves de acesso de elementos gráficos que serão
utilizados como âncoras para geração
representações voláteis8, alcançando-se assim a
geração de mapas temáticos.
8 A expressão representação volátil refere-se ao recurso apresentado pelo dbMapa
que permite mostrar símbolos, círculos, cores e outras representações gráficas, sem
que sejam elementos gráficos efetivamente contidos nos arquivos dos mapas
digitais.
- 73 -
Extensão <.TMG>:
As diversas representações temáticas efetuadas
sobre um mapa digital, são armazenadas em
arquivos denominados de temas, os quais
apresentam a extensão <.TMG>.
Extensão <.PLV>:
Tratam-se de arquivos texto, que armazenam
pares de coordenadas que definem uma polilinha
virtual (ou polígono), utilizada para
representações voláteis. O formato destes arquivos
deve ser: x,you Gx,y .
- - -OOO - - -
- 74
dbMAPA EXPRESS – CONVERSÃO DE MAPAS
Devido a estrutura de arquivos do dbMapa ser diferente do
MaxiCAD32, torna-se necessário um processo de
transformação de arquivos <.CAD> para <.Max>. Isso é
alcançado através do comando ARQUIVOS opção EXPORTAÇÃO
disponível no MaxiCAD32.
No entanto deve-se previamente configurar as diferenças entre
os formatos <.CAD> e <.MAX>, pois enquanto o primeiro atua
com conjuntos de símbolos e caracteres (arquivos maxi??.sim e
max??.chr), o dbMapa atua com fontes TrueType e além disso
reconhece apenas uma parte dos códigos de uso informados
nos arquivos de Projeto (<.PRJ>).
PARAMETRIZAÇÃO DE CARACTERES: No MaxiCAD32, ou seja, em
arquivos <.CAD>, os códigos de uso de caracteres variam de 0
a 999 e os conjuntos com os formatos de caracteres estão em
arquivos do tipo.
Quanto a Códigos de Uso: No dbMapa, ou seja, em
arquivos <.MAX>, os códigos de uso de caracteres
variam de 0 a 99. O processo de exportação considera
somente esta faixa de códigos existentes no arquivo de
projeto <.PRJ>.
Portanto, caso o arquivo <.CAD> utilize códigos de uso
acima do número 99, ajustar os códigos para a faixa
aceitável, ou então através do botão CONFIGURAR
CARACTERES MAXICAD32 PARA FORMATO MAX (disponível
no comando ARQUIVOS opção CONFIGURAÇÃO opção EXPORTAÇÃO
MAX) informar a correlação que deverá ser considerada.
- 75 -
Quanto ao fonte TrueType a ser considerado: A
exportação de textos de um arquivo <.CAD> para
<.MAX> leva em conta que:
1.
Se ao código de uso do texto estiver atribuído um
fonte TrueType, este fonte será repassado ao
texto em questão no arquivo <.MAX>;
2.
Os códigos de uso que não estiverem vinculados
a fontes TrueType serão exportados para o
arquivo <.MAX> de acordo com o fonte
TrueType especificado na seção FONTES (comando
ARQUIVO, opção CONFIGURAÇÃO, opção PROJETO).
Se nesta seção FONTES não houver nenhuma
indicação de fonte TrueType, o processo de
exportação considerará o fonte Arial como o
padrão.
PARAMETRIZAÇÃO DE SÍMBOLOS: importante que se tenha de
forma clara as diferenças existentes entre o dbMapa e o
MaxiCAD32 na forma de atuar com os símbolos. Em arquivos
<.CAD>, os códigos de uso de símbolos variam de 0 a 999 e os
conjuntos com os formatos de símbolos estão em arquivos do
tipoos quais armazenam até 1000 símbolos
vetoriais.
Quanto a Códigos de Uso: No dbMapa, ou seja, em
arquivos <.MAX>, os códigos de uso de símbolos
variam de 0 a 99. O processo de exportação considera
somente esta faixa de códigos existentes no arquivo de
projeto <.PRJ>.
- 76 -
Portanto, caso o arquivo <.CAD> utilize códigos de uso
acima do número 99, ajustar os códigos para a faixa
aceitável, ou então através do botão CONFIGURAR
SÍMBOLOS MAXICAD32 PARA FORMATO MAX (disponível no
comando ARQUIVOS opção CONFIGURAÇÃO opção EXPORTAÇÃO
MAX) informar a correlação que deverá ser considerada.
Quanto ao fonte TrueType a ser considerado: A
exportação de símbolos de um arquivo <.CAD> para
<.MAX> leva em conta que:
1.
se ao código de uso do símbolo estiver atribuído
um fonte TrueType, este fonte será considerado
no arquivo <.MAX>.;
2.
os códigos de uso que não estiverem vinculados a
fontes TrueType, serão exportados para o
arquivo <.MAX> de acordo com o fonte
TrueType especificado na seção FONTES (comando
ARQUIVO, opção CONFIGURAÇÃO, opção PROJETO).
Se nesta seção FONTES não houver nenhuma
indicação de fonte TrueType, o processo de
exportação considerará o fonte Wingdings como
padrão.
Quanto ao código do símbolo no conjunto: O dbMapa
considera símbolos contidos em fontes TrueType, e que
estejam entre os valores 33 a 255. Assim, os símbolos
que porventura estiverem codificados nos conjuntos
com numeração fora desta faixa não serão
considerados.
- 77 -
CONFIGURANDO SIMBOLOS VETORIAIS PARA FONTES TRUE TYPE:
Enquanto em símbolos vetoriais, a origem é definida pelo
usuário, em fontes TrueType o ponto de ancoragem é sempre
no centro da célula. Tal diferença obriga cuidados em 2
aspectos:
Primeiro Cuidado:
No momento da criação de um símbolo num conjunto
True Type (o que é alcançado com editores gráficos tipo Corel Draw
e outros) é importante levar em conta que o ponto de
ancoragem será obrigatoriamente no centro da célula. Ou
seja, dependendo do formato do símbolo e do local que
deve ser entendido como o seu ponto de ancoragem, o
símbolo deverá apresentar-se deslocado na célula
definidora do conjunto TrueType.
Exemplo 1: se o símbolo for uma seta em que seu
ponto âncora deve ser a ponta da seta, o desenho do
símbolo deverá ser como na figura ao lado:
Exemplo 2: se o símbolo for uma figura regular
(quadrado, hexágono, círculo,...) e que o seu ponto
âncora seja seu centro, então sim o desenho do símbolo
poderá ocupar toda a célula.
Segundo Cuidado:
Devido a dimensão definida aos símbolos referir-se a
dimensão da célula, levar em conta que caso o símbolo
apresente-se deslocado na célula, o valor da dimensão
que se pretende dar ao símbolo deverá ser ajustado na
mesma proporção das dimensões que o símbolo tem em
relação a célula.
- 78 -
dbMAPA EXPRESS – UMA VISÃO GERAL
O dbMapa Express apresenta-se ao usuário conforme a
aparência abaixo:
Bloco de botões
para navegação
Bloco de botões personalizáveis.
Janelas para
mapas
Linha de Status
Menu de Comandos:
Janela / Níveis / Temas / Selecionar / Toolbox / Configurar / Sair
- 79
-
COMANDO JANELA: Este comando destina-se ao manuseio das
janelas que recebem os mapas digitais.
Nova: possibilita a criação de uma nova janela, observando que
cada janela estará vinculada a um mapa (arquivo <.MAX>). Ao
abrir uma nova janela, o dbMapaExpress estará pronto a operar
opções de navegação (zooms, deslocamentos laterais, etc) sobre
este mapa. A opção padrão é a de Janela Visual a qual apresenta-se
na forma de um cursor-retângulo. Para selecionar outras opções de
navegação utilizar o botão direito do mouse, o qual apresentará as
diversas opções, inclusive apontando qual está selecionada.
•
Janela Visual – permite o usuário definir área de interesse
•
Novo Centro – mantem a escala de visualização mas
permite o usuário definir um novo centro de sua
visualização;
•
Menos Janela – diminue a visão do mapa mas mostra em
mais detalhes
•
Mais Janela – amplia a visão do mapa, mas perde-se
detalhes;
•
Janela Por Escala – permite definir numericamente a escala
de visualização
•
Redesenho – apresenta o mapa em visão geral.
Fechar: encerra a janela que está com o foco da operação.
Organizar: opção destinada a visualização de várias janelas
simultaneamente. Permite organizar as janelas verticalmente,
horizontalmente e em cascata. Estes mesmos recursos podem ser
alcançados através dos botões:
Lista: opção que apresenta a relação dos mapas que estão
atribuídos a cada janela, inclusive com a arvore de diretórios.
Sincronizar: através do botão
efetua-se a sincronização entre
janelas, o que significa que qualquer operação de navegação numa
janela implica num ajuste da visualização da outra janela. Para que
a sincronização opere, é necessário que as coordenadas dos mapas
em cada janela apresentem correspondência.
- 80 -
COMANDO NÍVEIS: Este comando além de permitir a ativação e
desativação dos níveis de informação de um mapa digital,
proporciona recursos para configurações dos elementos
gráficos contidos nesses níveis bem como permite a
parametrização para ativação e desativação de acordo com a
escala de visualização. O detalhamento dos recursos
disponíveis a este comando encontram-se detalhados no
capítulo dbMAPA EXPRESS – PREPARAÇÃO DE MAPAS.
COMANDO TEMAS: Refere-se ao conjunto de recursos que
permite apresentar sobre um mapa digital diferentes
representações de um mesmo ou de vários temas sem que
esses estejam efetivamente contidos no mapa em questão.
Ou seja, os temas não fazem parte do mapa digital, mas são
gerados no momento da apresentação e podem ser entendidos
como um elemento volátil indicado através de dados textuais
externos (por digitação ou arquivos de transição).
O detalhamento dos recursos disponíveis a este comando
encontram-se detalhados no capítulo dbMAPA EXPRESS –
PREPARAÇÃO DE MAPAS.
COMANDO SELECIONAR:
Modos de operação podem ser entendidos como as diferentes
funcionalidades que são alcançadas como o movimento e clique do
mouse. O modo de operação padrão é o modo navegação, ou seja,
aquele que permite efetuar-se zooms e deslocamentos. Os demais
modos são: modo seleção (de entidade, de área ou de círculo) e
modo seguir mouse.
As opções do Comando Selecionar são:
- 81 -
Entidade: com esta opção altera-se a utilização do dbMapaExpress do
modo navegação para o modo seleção, significando a disponibilização
de recurso que permite apontar um elemento gráfico com o clicar
do mouse, ficando ele (o elemento gráfico) disponível para ser
utilizado por algum outro processo.
A simples seleção de um elemento gráfico já mostra na linha de
status, o código (chave de acesso) correspondente. Se este código
for precedido com o sinal $, significa que o código atribuído ao
elemento gráfico foi gerado automaticamente pelo dbMapaExpress.
Desmarcar: libera a entidade marcada, e retorna para o modo navegação.
Área: possibilita a definição de uma área retangular e a geração do
evento Selecionou Área, possibilitando através do VBScript a
programação de outras funcionalidades, tais como definição de
elementos contidos, cálculo de área, etc.
Círculo: possibilita a definição de uma área retangular e a geração do
evento Selecionou Círculo, possibilitando através do VBScript a
programação de outras funcionalidades, tais como definição de
elementos contidos, cálculo de área, etc..
Seguir Mouse: o modo seguir mouse destina-se as funcionalidades de
obtenção de coordenadas. Estas funcionalidades, escritas em
VBScript, normalmente utilizam os eventos Moveu Mouse ou Clicou
Mouse.
COMANDO TOOLBOX: Refere-se ao conjunto de recursos que
permite atuar com os botões personalizáveis. São eles:
Editar: com esta opção o usuário do dbMapaExpress alcança recursos
para programação de cada botão, bem como a programação do
processo que deve ser executado a partir dos eventos ocorridos na
janela que contem o mapa digital.
O detalhamento dos recursos de programação encontra-se no
capítulo PROGRAMANDO COM O DBMAPAEXPRESS
Visível: com esta opção inibe-se ou ativa-se a apresentação do
toolbox de navegação e do bloco de botões personalizáveis.
- 82 -
COMANDO CONFIGURAR: Proporciona recursos para
configuração da área de trabalho do dbMapa, dos mapas que
deverão ser automaticamente disparados, da organização das
janelas e outras. Para tanto este comando apresenta a seguinte
tela:
Configuração
das Janelas.
Permite adicionar
mapa na relação.
Relação dos Mapas
que serão disparados.
O duplo-clic pemite a
edição da configuração.
Botão para indicar o arquivo
que deverá ser atribuído ao mapa.
- 83 -- 84 -
dbMAPA EXPRESS – PREPARAÇÃO DE MAPAS
Os mapas digitais, quando ainda em formatos <.CAD> e
mesmo quando recém convertidos para formatos <.MAX>,
apresentam aparência essencialmente técnica, inadequada para
utilização em sistemas de informação. Para tanto, devem ser
preparados de forma a se tornarem mais agradáveis, através
da apresentação de espessuras, preenchimentos, visualizações
compatíveis a diversas escalas, colorizações, seqüência da
apresentação dos níveis e outras.
Essa preparação consta então de procedimentos de produção
efetuados com o MaxiCAD32 e de parametrizações indicadas
com o dbMapaExpress.
No aspecto do MaxiCAD32 os mais importantes são, a
densificação de textos e a ordenação dos níveis de informação,
atividades estas que não são objetos deste livro. Já com o
dbMapaExpress indicam-se cores, preenchimentos e ajusta-se a
ordenação da apresentação dos elementos gráficos com base
nas escalas de visualização.
Para tanto, os comandos NÍVEIS e TEMAS apresentam recursos
que devidamente combinados são capazes de proporcionar
visualizações agradáveis e de fácil entendimento de qualquer
região e em qualquer escala .
- 85
-
PREPARAÇÃO DOS NÍVEIS DE INFORMAÇÃO: O dbMapaExpress
apresenta os níveis de informação conforme a seqüência em
que eles encontram-se no mapa digital. A ativação e a
parametrização dos níveis de informação é alcançada através
de tela com a seguinte aparência:
Permite a edição da
Indica que o nível de
Indica a cor do traço e do
preenchimento, quando for o caso.
Indica a ativação do
nível de informação.
configuração do
informação será ativa-
Nível de Informação.
do conforme escalas
de visualização.
Número do Nível
Descrição do Nível
de Informação
de Informação.
utilizado somente
pelo MaxiCAD32.
Indica que os
elementos gráficos do
nível de informação em
questão serão ativados
quando a escala de
visualização estiver
Permite a seleção
entre os valores
de cores para o
informados.
traço e para
o
preenchimento,
quando existirem
Para desativar a
polígonos.
visualização por
A seleção do
escala, informar 0
PRETO significa
(zero) em ambos
sem cor.
os campos.
- 86 -
Indica a ativação do
nível de informação. nível de informação.
Indica o tipo de representação
temática, inclusive com a cor
Permite a edição da
definição de um
tema selecionado.
Permite salvar todos
os temas ativos num
arquivo <.TMG>
Permite abrir um
arquivo <.TMG> que
contém temas.
Permite a definição
de um novo tema.
PREPARAÇÃO DE TEMAS: O dbMapaExpress apresenta os temas
conforme a seqüência em que eles foram definidos. A ativação
e a parametrização dos temas é alcançada através de tela com a
seguinte aparência:
- 87
-
As definições dos Temas são efetuadas através de tela com a
seguinte aparência:
Campo Chave: campo para ser informado o código do
elemento gráfico (chave de acesso) a ser mostrado ou utilizado
como âncora para a representação volátil. Outras opções:
Arquivo: para se apresentar vários elementos gráficos, ou mesmo
utilizá-los como âncoras para representações voláteis, relacionar os
códigos num arquivo <.KEY> e informar seu nome neste campo,
precedido do sinal @.
Nível: para se utilizar os elementos gráficos de um nível de
informação como âncoras para representações voláteis, informar
neste campo a descrição do Nível de Informação, precedido do
sinal %.
- 88
Coordenadas: para se utilizar um par de coordenadas como âncora
para uma representação volátil, informar o par de coordenadas,
precedida do sinal #
.
O formato para esta entrada deverá ser #xxxxxxx.xxxByyyyyyyy.yy
observando que B trata-se de um espaço em branco, e que não
existe obrigatoriedade quanto a quantidade de decimais.
Polígono Virtual: para se apresentar uma polilinha cujas
coordenadas estejam armazenadas num arquivo tipo <.PLV>
,
informar neste campo o nome do arquivo precedido do sinal &
.
Quando trata-se de um polígono, as coordenadas do ultimo ponto
devem ser idênticas a do primeiro ponto.
Campo Descrição: campo para ser informada a descrição do
tema.
Caixa de Seleção Volátil: ao indicar-se esta caixa, significa que
o elemento gráfico indicado no campo Chave será utilizado
como âncora para representação volátil, caso contrário o
elemento gráfico será apresentado conforme suas próprias
definições. Sua ativação faz surgir as Guias para Representação
Volátil (chave, símbolo, círculo, texto, ligação, pizza e imagem).
Caixa de Seleção Preferencial: ao indicar-se esta caixa significa
que o tema será apresentado com prioridade, ou seja, antes de
mostrar os níveis de informação.
Ordem de apresentação: a apresentação de um elemento pode se
sobrepor a outros elementos já mostrados, por isso a importância
da ordem de apresentação ser cuidadosamente preparada. O
dbMapaExpress assume a seguinte seqüência de apresentação:
1. Temas indicados como preferenciais
2. Níveis de informação
3. Temas sem a indicação de preferenciais
- 89 -
Campo Escalas: campo para serem informadas escalas em que
o tema deverá ser apresentado. Significa que o tema será
apresentado somente quando as visualizações estiverem
dentro das escalas (mínima e máxima) fornecidas.
Guias Para Representação Volátil
As guias, disponibilizadas a partir da ativação da caixa de
seleção volátil, permitem o usuário definir interativamente a
representação temática volátil pretendida.
Guia Chave: permite
configuração da cor,
espessura e unidade do
traço a ser utilizado, bem
como a cor e tipo do
preenchimento se
o
elemento gráfico for
polígono.
Guia Símbolo: permite
configuração da cor, da
dimensão, do ângulo de
aplicação, da seleção do
do fonte TrueType e do
caractere nele contido.
Guia Círculo: permite
configuração da cor da
borda e do preenchimento
do círculo a ser
mostrado, bem como da
dimensão e da unidade
desta dimensão.
- 90 -
Guia Texto: permite a
configuração da cor, a
seleção do fonte True
Type, a digitação do
texto, e indicação da
dimensão dos caracteres.
Guia Ligação: com esta
guia define-se uma linha
que inicia no elemento
gráfico fornecido no
campo Chave e finaliza
no elemento gráfico cujo
código estiver informado
no cógido elemento.
Guia Pizza: permite
definir a dimensão da
pizza, a quantidade de
fatias e percentual de
cada uma, bem como
suas cores.
Guia Imagem: permite
informar o arquivo de
imagem <.BMP> que
será atribuído ao
elemento gráfico informado
no campo Chave.
Exemplo para Praticar: Com o objetivo de facilitar o
entendimento acerca destas configurações, abra uma nova
janela no dbMapaExpress com o mapae
no comando TEMAS abrir o arquivo. Com
isso sua visualização, após ajuste do zoom, será como segue,
e será possível através do comando TEMAS, editar cada uma
das definições e verificar as alterações produzidas na
visualização do mapa.
- 91
-
- 92
PROGRAMANDO COM O dbMAPAEXPRESS
Os mapas digitais abertos com o dbMapaExpress podem ser
vinculados a outros processos, tanto na forma de objeto cliente
como objeto servidor.
Para tanto, a cada mapa vinculado a uma das janelas pode-se
estabelecer um conjunto próprio de botões personalizados,
bem como é possível programar para cada mapa, diferentes
processos a partir de procedimentos efetuados
interativamente.
Para facilitar a programação, o dbMapaExpress disponibiliza,
através do comando TOOLBOX opção EDITAR, uma interface
com recursos para edição do Script, e para a programação de
cada um dos botões personalizáveis.
Apesar desta interface facilitar sobremaneira a programação de
processos e dos botões personalizáveis, o usuário do
dbMapaExpress terá maior facilidade para o desenvolvimento
de soluções mais complexas, tanto quanto maior for seu
conhecimento em lógica de programação e na linguagem
VBScript9 e nos princípios de programação orientada a objetos.
Neste aspecto, importante destacar os EVENTOS, MÉTODOS e
PROPRIEDADES reconhecidos pelo dbMapaExpress, os quais
receberam denominações que sugerem suas funcionalidades e
que quando convenientemente combinados são capazes de
propiciar visualizações e navegações apropriadas.
9 Instruções acerca do VBScript podem ser consultadas no endereço:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vbscripttoc.asp
- 93 -
EVENTOS
Quando se efetua algum procedimento sobre o mapa digital, o
dbMapaExpress gera eventos, os quais receberam
denominações sugestivas com a operação efetuada sobre o
mapa. Estes eventos destinam-se a programar as ações
(métodos) que deverão ser tomadas como uma resposta à
operação efetuada. Os eventos gerados são:
•
evento Ao Abrir: este evento é gerado quando seleciona-se um
mapa digital para uma nova janela;
•
evento Ao Fechar este evento é gerado quando fecha-se uma
janela na qual consta selecionado um
mapa digital;
•
evento Moveu Mouse: este evento é gerado com o movimento do
mouse quando o modo de operação
for o Seguir Mouse (modo este obtido
através do comando SELECIONAR ou
mesmo com a inserção do método
Seguir Mouse);
•
evento Clicou Mouse: este evento é gerado com o clic do mouse
quando o modo de operação for o
Seguir Mouse (modo este obtido
através do comando SELECIONAR ou
mesmo com a inserção do método
Seguir Mouse);
•
evento Mudou Marcada: este evento é gerado quando seleciona-se
um elemento gráfico do mapa,
quando o modo de operação for o
Seleção de Entidade (modo este obtido
através do comando SELECIONAR
opção ENTIDADE);
- 94 -
•
evento Selecionou Área: este evento é gerado quando define-se um
retângulo sobre o mapa digital. Este
procedimento somente é possível
quando o modo de operação for o
Seleção de Área (modo este obtido
através do comando SELECIONAR
opção ÁREA).
•
evento Selecionou Círculo este evento é gerado quando define-se
um círculo sobre o mapa digital. Este
procedimento somente é possível
quando o modo de operação for o
Seleção de Círculo (modo este obtido
através do comando SELECIONAR
opção CÍRCULO).
•
evento Mudou Janela: este evento é gerado sempre que for
solicitado algum zoom ou alterada a
dimensão da janela do mapa, ou
mesmo sempre que efetuado um
redesenho
- 95
-
MÉTODOS
Os métodos são operações efetuadas sobre os mapas seja por
ação do usuário, seja como uma reação a algum dos eventos.
Esses métodos, ao serem selecionados e inseridos no script do
evento (ou do botão personalizado) mostram um código fonte
com comentários que indicam as complementações e
parâmetros que o usuário deverá efetuar e informar, bem como
permite a inclusão de todas as funções, operadores e condições
disponíveis na linguagem VBScript. Os métodos disponíveis
são:
•
método Abrir Mapa
sintaxe:
L = Script_OOP.AbrirMapaExpress(mapa,somente_leitura,senha,udbpath)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital a ser aberto.
P.ex.: = "c:\mapas\demo.max”
•
somente_leitura: atribuir a este argumento a palavra False ou True conforme o
arquivo deva ser aberto respectivamente para edição ou leitura. P.ex.:
somente_leitura = False
•
senha: caso o mapa tenha sido preparado com alguma proteção, a este campo
deve-se atribuir a senha desta proteção, observando que ela deve estar entre
aspas. P.ex.: senha=””
•
udbpath: caso o arquivo <.UDB> esteja armazenado em pasta diferente da
pasta do arquivo <.MAX> informar o caminho entre aspas, caso contrário
informar tão somente as aspas. P.ex.: udbpath = ""
- - -OOO - -
- 96
- - -OOO - - -
•
método Abrir MS Access'
Este método deve ser atribuído ao evento Ao Abrir
sintaxe:
Dim acc ' True ou False
Set acc = CreateObject("Access.Application") ' abre o MS Access
acc.OpenCurrentDatabase "caminho"
acc.Visible = True ' mostra
l = Script_OOP.AtivarJanelaExpress(".") ' mostra
Argumentos:
•
caminho: deve conter o nome do arquivo <.MDB>.
•
acc.Visible: atribuir a este argumento a palavra False ou True conforme o
interesse da janela tornar-se visível ou não.
•
método Apagar Nível
sintaxe:
L = Script_OOP.ApagarNivelExpress(mapa,nivel,imediato)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital.
P.ex.: = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.
”
•
nível: atribuir a este argumento a descrição do nível de informação a ser
desativado, e deve estar entre aspas. P.ex.: nível = “Bairros”
•
imediato: atribuir a este argumento a palavra False ou True conforme o nível
deva ser imediatamente desativado ou tão apenas marcado para ser
desativado na atualização da janela. P.ex.: imediato = True
- 97
-
•
método Apagar Tema
sintaxe:
L = Script_OOP.ApagarTemaExpress(mapa,descricao,imediato)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital.
P.ex.: = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.”
•
descricao: atribuir a este argumento a descrição do tema a ser desativado, e
deve estar entre aspas. P.ex descricao = “Bairros”
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente desativado ou tão apenas marcado para ser
desativado na atualização da janela. P.ex.: imediato = True
•
método Ativar Janela
sintaxe:
L = Script_OOP.AtivarJanelaExpress("janela")
Argumentos:
•
janela: este argumento deve conter o nome da janela com mapa, que deve
receber o foco. P.ex.: = "c:\mapas\demo.max”.
•
método Ativar Tema
Este método destina-se a ativar um tema que já esteja carregado
para o mapa em questão. Não confundir este método com o
método Carregar Temas.
sintaxe:
L = Script_OOP.AtivarTemaExpress(mapa,tema,imediato)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital.
P.ex.: = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.”
•
tema: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex tema = “Vermelho”
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True
- 98 -
•
método Atualizar Mapa
Este método destina-se a atualizar a visão corrente, principalmente
quando foram alteradas as situações de temas ou níveis e estas
ainda não tenham sido ativadas.
sintaxe:
L = Script_OOP.AtualizarExpress(mapa)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital cuja visualização deve
ser atualizada. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”
•
método Carregar Temas
Este método destina-se a carregar temas que estejam indicados em arquivos
<.TMG>.
sintaxe:
L = Script_OOP.CarregarTemasExpress(mapa,arquivo,substituir)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital, ao qual deverão ser
atribuídos os temas em questão. P.ex.:mapa = "c:\mapas\demo.max”. Se for o
mapa corrente utilizar “.”
•
arquivo: atribuir a este argumento o nome do arquivo <.TMG> que contém os
temas que deverão ser carregados.
•
substituir: atribuir a este argumento a palavra True ou False conforme os
temas a serem carregados devam ou não substituir temas eventualmente já
carregados. P.ex.: substituir = True
•
método Executar Função do MS-Access
Este método destina-se a carregar temas que estejam indicados em
arquivos <.TMG>.
sintaxe:
acc.Run funcao, argumento1
Argumentos:
•
funcao: deve conter o nome da função a ser executada no MS-Access, cuja
descrição deve estar entre aspas. P.ex.: função = "informacoes”
•
argumento1: atribuir a este argumento os argumentos que a função
anteriormente especificada necessita para seu funcionamento. Deverá estar
aspas.
- 99 -
•
método Fechar dbMapa
sintaxe:
L = Script_OOP.FecharExpress()
•
método Fechar Mapa
sintaxe:
Ll = Script_OOP.FecharMapaExpress(mapa)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital a ser fechado.
P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.”
•
método Fechar MS Access
sintaxe:
Set acc = Nothing
Observação:
• Este método deve ser inserido no evento Ao Fechar do Mapa
•
método Gravar Arquivo Texto
sintaxe:
Set fso = CreateObject("Scripting.FileSystemObject"
Set f = fso.OpenTextFile(arquivo,modo,criar)
linha = "texto"
f.WriteLine linha ' grava linha com CR+LF no final
f.Close
Set fso = Nothing
Argumentos:
•
arquivo: deve conter o nome do arquivo texto a ser utilizado. P.ex.: arquivo =
“c:\mapas\resultado.txt"
•
modo: deve conter o código que indica o tipo de operação a ser efetuada sobre
o arquivo texto ( 1 = leitura, 2 = gravação 8 = append). P.ex.: modo = 2
•
criar: deve conter a indicação de criação de arquivo caso ainda não exista,
através das palavras TRUE ou FALSE. P.ex.: criar = True
•
linha: atribuir a este argumento o texto que será gravado
- 100
•
método Gravar Metafile
sintaxe:
l = Script_OOP.GravarMetafileExpress(mapa,arquivo)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
arquivo: deve conter o nome do arquivo <.EMF> a ser criado. P.ex.: arquivo =
“c:\mapas\imagem.emf".
•
método Imprimir
sintaxe:
l = Script_OOP.ImprimirExpress(mapa,minx,miny,maxx,maxy,escala,
offsetx,offsety,moldura)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
minx: trata-se da coordenada X do canto esquerdo inferior do retângulo a ser
impresso. Para se imprimir a janela de visualização corrente atribuir a esta
variável o seguinte script: minx = Script_OOP.MinX_Janela;
•
miny: trata-se da coordenada Y do canto esquerdo inferior do retângulo a ser
impresso. Para se imprimir a janela de visualização corrente atribuir a esta
variável o seguinte script: miny = Script_OOP.MinY_Janela;
•
maxx: trata-se da coordenada X do canto direito superior do retângulo a ser
impresso. Para se imprimir a janela de visualização corrente atribuir a esta
variável o seguinte script: maxx = Script_OOP.MaxX_Janela;
•
maxy: trata-se da coordenada Y do canto direito superior do retângulo a ser
impresso. Para se imprimir a janela de visualização corrente atribuir a esta
variável o seguinte script: maxy = Script_OOP.MaxY_Janela;
•
escala: atribuir a este argumento o valor da escala que a impressão deverá
apresentar. Para se imprimir conforme a escala da visualização corrente,
atribuir a este argumento: escala = Script_OOP.Escala_Janela;
•
offsetx: atribuir a este argumento o valor do deslocamento (em milímetros) que
o quadro a ser impresso deverá apresentar em relação a borda esquerda da
folha. P.ex.: offsetx = 10
•
offsety: atribuir a este argumento o valor do deslocamento (em milímetros) que
o quadro a ser impresso deverá apresentar em relação a borda inferior da
folha. P.ex.: offsety = 15
•
modura: atribuir a este argumento a palavra TRUE ou FALSE conforme o
objetivo de apresentar ou não, um retângulo correspondente a uma moldura da
impressão.
DICA: utilizando-se para os argumentos minx, miny, maxx e maxy as coordenadas dos
cantos da janela de visualização corrente, é conveniente que a janela do Mapa seja
re-dimensionada de forma a ficar proporcional a dimensão da folha de impressão.
Desta forma , a visualização pode ser entendida como um preview da impressão.
O re-dimensionamento da janela do mapa de modo a torna-la proporcional a folha de
impressão pode ser efetuada visualmente através das alças disponíveis nas bordas da
janela, ou mesmo configurando-a através do método Posicionar Janela.
•
método Janela Por Chave
sintaxe:
l = Script_OOP.JanelaPorChaveExpress(mapa,chave)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
chave: atribuir a este argumento o código do elemento gráfico que o
dbMapaExpress deverá considerar para efetuar o zoom. P.ex.: chave = “MS”.
Para se considerar uma visão que considere vários elementos gráficos, os
códigos destes elementos deverão estar relacionados num arquivo texto e o
valor a ser atribuído ao argumento chave deverá ser o nome do arquivo
precedido do sinal @. P.ex.: chave = “@c:\dbmapa\estados.key”
•
método Janela Por Coordenadas
sintaxe:
l = Script_OOP.JanelaPorCoordenadasExpress(mapa,minx,miny,maxx,maxy)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
minx e miny: trata-se das coordenadas X e Y do canto esquerdo inferior do
retângulo a ser visualizado;
•
maxx e maxy: trata-se das coordenadas X e Y do canto direito superior do
retângulo a ser visualizado;
- 101
-
- 102
•
método Ler Arquivo Texto
sintaxe:
Set fso = CreateObject("Scripting.FileSystemObject"
)
Set f = fso.OpenTextFile(arquivo,modo)
Do While f.AtEndOfStream <> True ' loop para ler o arquivo
linha = f.ReadLine
' trata a linha lida
Loop
f.Close ' fecha
Set fso = Nothing
Argumentos:
•
arquivo: nome do arquivo a ser lido. P.ex.:arquivo = "c:\mapas\geral.txt”;
•
modo: deve conter o código que indica o tipo de operação a ser efetuada sobre
o arquivo texto ( 1 = leitura, 2 = gravação 8 = append). P.ex.: modo = 1;
•
método Ler Informações
sintaxe:
p = Script_OOP.LerInformacoesExpress(mapa,chave,arquivo)
if p <> "" then
infos = split(p,";"
)
chave = infos(0)
area = infos(1)
perimetro = infos(2)
menorx = infos(3)
menory = infos(4)
maiorx = infos(5)
maiory = infos(6)
xcentro = infos(7)
ycentro = infos(8)
xinicio = infos(9)
yinicio = infos(10)
xfinal = infos(11)
yfinal = infos(12)
end if
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado.
•
chave: atribuir a este argumento o código do elemento gráfico que se pretende
recuperar informações. Para se recuperar as informações de todos os
elementos gráficos contidos num nível de informação, atribuir a este
argumento a descrição do nível precedida do sinal %.
•
arquivo: este argumento será utilizado quando ao argumento chave estiver
atribuída a descrição do nível. Neste caso, deverá ser atribuído o nome do
arquivo texto que receberá o resultado. P.ex.: arquivo =
“c:\dbmapa\resultado.txt”
- 103 -
•
método Limitar Escala
sintaxe:
l = Script_OOP.LimitarEscalaExpress(mapa,escalaminima,escalamaxima,
usarniveisautomaticos,usartemasautomaticos,limitarescala)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
escalaminima e escalamaxima: nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao mapa;
•
usarniveisautomáticos: atribuir a este argumento a palavra TRUE ou FALSE
conforme o objetivo de ativar ou não os níveis setados com programação de
escalas;
•
usartemasautomaticos: atribuir a este argumento a palavra TRUE ou FALSE
conforme o objetivo de ativar ou não os temas setados com programação de
escalas;
•
limitarescala: atribuir a este argumento a palavra TRUE ou FALSE conforme o
dbMapa deva ou não operar apenas entre as escalas fornecidas nos
argumentos escalamínima e escalamáxima;
•
método Listar Níveis
sintaxe:
p = Script_OOP.ListarNiveisExpress(mapa,arquivo)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
arquivo: a este argumento deverá ser atribuído o nome do arquivo que
receberá a listagem dos níveis do mapa digital. P.ex.: arquivo =
“c:\dbmapa\resultado.txt”. Os registros deste arquivo apresentam 7 campos,
separados por ponto e vírgula, na seguinte ordem:
o
Número do Nível de Informação;
o
Descrição do Nível de Informação;
o
Cor do Traço (em hexadecimal)
o
Espessura do traco;
o
Cor do Preenchimento;
o
Escala mínima;
o
Escala máxima.
- 104
•
método Marcar Entidade
sintaxe:
l = Script_OOP.MarcarEntidadeExpress(mapa,chave,marcar)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
chave: este argumento deve conter o código do elemento gráfico que se
pretende marcar. A este argumento pode-se também atribuir um par de
coordenadas, significando que o dbMapaExpress localizará dentre os níveis
ativos o elemento gráfico que estiver mais próximo da coordenada fornecida. O
formato para este argumento receber coordenadas deverá ser:
P.ex.: chave = “#xxxxxxxxx yyyyyyyyyy” ou chave = “#Gxxxxxxxx yyyyyyyyy”
•
método Maximizar dbMapa
sintaxe:
l = Script_OOP.MaximizarExpress()
•
método Minimizar dbMapa
sintaxe:
l = Script_OOP.MinimizarExpress()
•
método Mostrar Nivel
sintaxe:
l = Script_OOP.MostrarNivelExpress(mapa,nivel,imediato)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
nível: atribuir a este argumento a descrição do nível de informação a ser
ativado, e deve estar entre aspas. P.ex.: nível = “Bairros”
•
imediato: atribuir a este argumento a palavra False ou True conforme o nível
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True
- 105 -
•
método Mostrar Tema
Este método destina-se a apresentar os elementos gráficos
exatamente como eles foram criados e encontram-se definidos no
arquivo do mapa digital.
sintaxe:
l = Script_OOP.MostrarTemaExpress(mapa,descricao,chave,antes,imediato,
escalaminima,escalamaxima)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que deverá ser
mostrado.
Para se apresentar vários elementos gráficos, os códigos destes elementos
deverão estar relacionados num arquivo tipo <.KEY>, o qual deverá ser
apontado a este argumento precedido do sinal @. P.ex.: chave =
“@c:\demo\chaves.key”
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema em questão.
•
método Mostrar Tema Círculo
sintaxe:
l = Script_OOP.MostrarTemaCirculoExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,cor,espessura,hachura,
preenchimento,raio,tipoesp,tiporaio,traco)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
- 106
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que será
utilizado como âncora para receber o círculo. P.ex.: chave = “REGIAO23”.
Este argumento pode também ser um par de coordenadas, devendo para tanto
iniciar com o sinal #. P.ex.: chave = “#xxxxxxxxx yyyyyyyyyy” ou chave =
“#Gxxxxxxxx yyyyyyyyy”.
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos ou mesmo as coordenadas dos pontos aos quais devem-se
apresentar os círculos. Observar que caso os registros do arquivo indiquem
coordenadas, esses devem iniciar com o sinal #.
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema.
•
cor: a este argumento deve-se atribuir a cor da linha de borda do círculo. P.ex.:
cor = RGB(100,230,15);
•
espessura: a este argumento deve-se atribuir a espessura da linha de borda
do círculo;
•
hachura: este argumento deve receber um valor que indique o tipo do
preenchimento. (0 = solido, 1 = horizontal, 2 = vertical, 3 = diagonal, 4 =
diagonal, 5 = cruz, 6 = cruz diagonal);
•
preenchimento: atribuir a este argumento a cor que pretende-se dar a parte
interna do círculo. P.ex.: preenchimento = RGB(100,155,255);
•
raio: informar neste argumento o valor do raio do círculo;
•
tipoesp: este argumento deve receber um valor que indique a unidade a ser
atribuída a espessura. (0 = mm/100, 1 = metros, 2 = pixels, 3 = mm/100 fixo);
•
tiporaio: este argumento deve receber um valor que indique a unidade a ser
aribuída ao raio. (0 = mm, 1 = metros, 2 = pixels, 3 = mm fixo);
•
traço: este argumento deve receber um valor que indique o tipo do traço a ser
atribuído a borda do círculo. (0 = solido, 1 = tracejado, 2 = pontilhado, 3 =
trac/pont, 4 = trac/trac/pont)
•
método Mostrar Tema Extendido
Este método destina-se a apresentar os elementos gráficos com o
seu formato original, no entanto, com possibilidade de re-definição
de cores, espessuras e hachuras.
sintaxe:
l
=
Script_OOP.MostrarTemaExtExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,cor,espessura,hachura,
preenchimento,tipoesp,traco)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que deverá ser
ativado. P.ex.: chave = “REGIAO23”.
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos a serem ativados;
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema;
•
cor: a este argumento deve-se atribuir a cor da linha de borda do círculo. P.ex.:
cor = RGB(100,230,15);
•
espessura: a este argumento deve-se atribuir a espessura da linha de borda
do círculo;
•
hachura: este argumento deve receber um valor que indique o tipo do
preenchimento. (0 = solido, 1 = horizontal, 2 = vertical, 3 = diagonal, 4 =
diagonal, 5 = cruz, 6 = cruz diagonal);
•
preenchimento: atribuir a este argumento a cor que pretende-se dar a parte
interna do elemento gráfico. Preenchimento = RGB(124,124,0)
•
tipoesp: este argumento deve receber um valor que indique a unidade a ser
atribuída a espessura. (0 = mm/100, 1 = metros, 2 = pixels, 3 = mm/100 fixo);
•
traço: este argumento deve receber um valor que indique o tipo do traço a ser
atribuído ao elemento gráfico. (0 = solido, 1 = tracejado, 2 = pontilhado, 3 =
trac/pont, 4 = trac/trac/pont)
- 107
-
- 108
•
método Mostrar Tema Imagem
Este método destina-se a apresentar os elementos gráficos com o
seu formato original, no entanto, com possibilidade de re-definição
de cores, espessuras e hachuras.
sintaxe:
l = Script_OOP.MostrarTemaImagemExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,imagem)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que será
utilizado como ponto de aplicação da imagem a ser apresentada. P.ex.: chave
= “REGIAO23”. Este argumento pode também ser um par de coordenadas,
devendo para tanto iniciar com o sinal #. P.ex.: chave = “#xxxxxxxxx
yyyyyyyyyy” ou chave = “#Gxxxxxxxx yyyyyyyyy”.
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos a serem considerados pontos de aplicação da imagem. Observar que
caso os registros do arquivo indiquem coordenadas, esses devem iniciar com o
sinal #.
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema;
•
imagem: informar neste argumento o nome do arquivo de imagem <.BMP> que
deverá ser mostrado.
•
método Mostrar Tema Ligação
Este método destina-se a apresentar uma linha entre 2 elementos
gráficos identificados pelas suas codificações, ou mesmo através
das coordenadas de 2 pontos.
sintaxe:
l = Script_OOP.MostrarTemaLigacaoExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,destino,cor,espessura,tipoesp,traco)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que será
utilizado como origem da ligação a ser apresentada. P.ex.: chave =
“REGIAO23”. Este argumento pode também ser um par de coordenadas,
devendo para tanto iniciar com o sinal #. P.ex.: chave = “#xxxxxxxxx
yyyyyyyyyy” ou chave = “#Gxxxxxxxx yyyyyyyyy”.
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos a serem considerados pontos de origem. Observar que caso os
registros do arquivo indiquem coordenadas, esses devem iniciar com o sinal #.
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema;
•
destino: atribuir a este argumento o código do elemento gráfico a ser utilizado
como destino da ligação, ou as coordenadas do ponto destino. Este argumento
limita-se a um único ponto.
•
cor: a este argumento deve-se atribuir a cor que a linha representativa da
ligação deverá apresentar. P.ex.: cor = RGB(100,230,15);
•
espessura: a este argumento deve-se atribuir a espessura da linha;
•
tipoesp: este argumento deve receber um valor que indique a unidade a ser
atribuída a espessura. (0 = mm/100, 1 = metros, 2 = pixels, 3 = mm/100 fixo);
•
traço: este argumento deve receber um valor que indique o tipo do traço a ser
atribuído ao elemento gráfico. (0 = solido, 1 = tracejado, 2 = pontilhado, 3 =
trac/pont, 4 = trac/trac/pont)
- 109
-
- 110
•
método Mostrar Tema Pizza
Este método destina-se a apresentar gráfico de pizza utilizando
como local de sua aplicação um elemento gráfico ou um par de
coordenadas.
sintaxe:
l = Script_OOP.MostrarTemaPizzaExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,fatias,raio,tiporaio,cor0,percentual0,
cor1,percentual1,cor2,percentual2,cor3,percentual3)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que será
utilizado como ponto de aplicação da pizza. P.ex.: chave = “REGIAO23”. Este
argumento pode também ser um par de coordenadas, devendo para tanto
iniciar com o sinal #. P.ex.: chave = “#xxxxxxxxx yyyyyyyyyy” ou chave =
“#Gxxxxxxxx yyyyyyyyy”.
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos a serem considerados pontos de aplicação. Observar que caso os
registros do arquivo indiquem coordenadas, esses devem iniciar com o sinal #.
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema;
•
fatias: informar a quantidade de setores que a pizza deverá apresentar. De
acordo com este valor, definir a quantidade dos argumentos cor e percentual;
•
raio: atribuir a este argumento o raio que a pizza deverá apresentar;
•
tiporaio: este argumento deve receber um valor que indique a unidade a ser
atribuída ao raio. (0 = mm, 1 = metros, 2 = pixels, 3 = mm fixo);
•
corn: atribuir a cor que deverá ter a fatia n. P.ex.: cor3 = RGB(100,230,15);
•
percentualn: informar neste argumento o tamanho da fatia n;
•
método Mostrar Tema Símbolo
Este método destina-se a apresentar gráfico de pizza utilizando
como local de sua aplicação um elemento gráfico ou um par de
coordenadas.
sintaxe:
l = Script_OOP.MostrarTemaSimboloExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,angulo,chrsimbolo,cor,fonte,
tamanho,tipotamanho)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que será
utilizado como ponto de aplicação do símbolo. P.ex.: chave = “REGIAO23”.
Este argumento pode também ser um par de coordenadas, devendo para tanto
iniciar com o sinal #. P.ex.: chave = “#xxxxxxxxx yyyyyyyyyy” ou chave =
“#Gxxxxxxxx yyyyyyyyy”.
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos a serem considerados pontos de aplicação. Observar que caso os
registros do arquivo indiquem coordenadas, esses devem iniciar com o sinal #.
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema;
•
angulo: informar neste argumento o valor do ângulo, em graus. O valor
informado significa uma rotação no sentido anti-horário da célula do símbolo.
•
chrsimbolo: informar neste argumento o código do símbolo no fonte TrueType;
•
cor: atribuir a este argumento a cor pretendida ao símbolo. P.ex.: cor =
RGB(100,230,15);
•
fonte: informar neste argumento o nome do fonte TrueType. P.ex.: fonte =
“Wingdings”
•
tamanho: atribuir a este argumento a dimensão do símbolo;
•
tipotamanho: este argumento deve receber um valor que indique a unidade a
ser atribuída ao tamanho. (0 = mm, 1 = metros, 2 = pixels, 3 = mm fixo)
- 111
-
- 112
• método Mostrar Tema Texto
Este método destina-se a apresentar texto(s), utilizando como local
• tipotamanho: este argumento deve receber um valor que indique a unidade a
ser atribuída ao tamanho. (0 = mm, 1 = metros, 2 = pixels, 3 = mm fixo).
de sua aplicação elemento(s) gráfico(s) ou um par(es) de
coordenadas.
sintaxe:
l = Script_OOP.MostrarTemaTextoExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,angulo,texto,cor,fonte,tamanho,tipotamanho)
• método Organizar Janelas
Este método destina-se a arranjar as janelas abertas no
Argumentos:
• mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
• descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
• chave: atribuir a este argumento o código do elemento gráfico que será
utilizado como ponto de aplicação do texto. P.ex.: chave = “REGIAO23”. Este
argumento pode também ser um par de coordenadas, devendo para tanto
iniciar com o sinal #. P.ex.: chave = “#xxxxxxxxx yyyyyyyyyy” ou chave =
“#Gxxxxxxxx yyyyyyyyy”.
dbMapaExpress.
sintaxe:
l = Script_OOP.OrganizarExpress(tipo)
Argumentos:
• tipo: atribuir a este argumento um valor que indica o tipo de arranjo a ser dado
as janelas. (0 = cascata, 1 = horizontal, 2 = vertical, 3 = area total);
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos a serem considerados pontos de aplicação dos textos. Observar que
caso os registros do arquivo indiquem coordenadas, esses devem iniciar com o
sinal #.
• método Posicionar dbMapa
Este método destina-se a posicionar a janela do dbMapaExpress na
área de trabalho do Windows.
• antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
sintaxe:
l = Script_OOP.PosicionarExpress(esquerda,topo,largura,altura)
• imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
• escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema;
• angulo: informar neste argumento o valor do ângulo, em graus que o texto
deverá apresentar. O valor informado significa uma rotação no sentido antihorário.
Argumentos:
• esquerda: atribuir a este argumento a quantidade de pixels que a janela deverá
apresentar em relação ao lado esquerdo da área de trabalho;
• topo: atribuir a este argumento a quantidade de pixels que a janela deverá
apresentar em relação a borda superior da área de trabalho;
• largura e altura: informar nestes argumentos a largura e altura da janela do
dbMapaExpress, em pixels;
• texto: atribuir a este argumento o texto que deverá ser apresentado, o qual
deverá estar entre aspas;
• cor: atribuir a este argumento a cor pretendida ao texto. P.ex.: cor =
RGB(100,230,15);
• fonte: informar neste argumento o nome do fonte TrueType. P.ex.: fonte =
“Arial”
• tamanho: atribuir a este argumento a dimensão do caracter do texto;
- 113 -- 114
•
método Posicionar Janela
Este método destina-se a posicionar a janela de um mapa na área de
trabalho do dbMapaExpress.
sintaxe:
l = Script_OOP.PosicionarJanelaExpress (esquerda,topo,largura,altura)
Argumentos:
•
esquerda: atribuir a este argumento a quantidade de pixels que a janela deverá
apresentar em relação ao lado esquerdo da área de trabalho do
dbMapaExpress;
•
topo: atribuir a este argumento a quantidade de pixels que a janela deverá
apresentar em relação a borda superior da área de trabalho do
dbMapaExpress;
•
largura e altura: informar nestes argumentose altura a largura da janela do
mapa;
•
método Procurar Contidos
Com este método relaciona-se em arquivo tipo texto os códigos de
elementos gráficos inscritos:
• em polígonos;
• em círculos com centro no ponto médio de elementos gráficos;
• em círculos indicados interativamente pelo operador;
• em polígonos virtuais (coordenadas estão em arquivos texto);
• no retângulo definido pela janela da visualização corrente;
• no retângulo definido pelos limites do mapa
sintaxe:
l = Script_OOP.ProcurarContidosExpress(mapa,chave,nivel,arquivo,
percentual,acrescentar,raio)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital a ser submetido ao
método. P.ex.: = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.”
•
chave: atribuir a este argumento o código do elemento gráfico (polígono) que
abrange os elementos gráficos contidos em determinado nível de informação,
neste caso o argumento raio deve ser informado com o valor zero.
Se for informado algum valor para o argumento raio e a chave corresponder a
um polígono, o processo de pesquisa considerará um círculo com centro no
baricentro deste polígono. Se a chave corresponder a uma polilinha ou mesmo
- 115 -
a outros tipos de elementos gráficos, o centro do círculo será o ponto médio
destes elementos.
Este argumento pode ainda ser definido com as coordenadas X e Y do centro
do círculo, precedidas do sinal #. P. ex.: chave = “#xxxxxxx.xxByyyyyyyyy.yy”.
Para se pesquisar os elementos contidos num polígono, as coordenadas deste
deverão estar num arquivo texto e o valor da chave deverá ser o nome do
arquivo precedido do sinal &. P.Ex.: chave = “&c:\mapas\coordenadas.plv”.
Os possíveis formatos dos registros deste arquivo texto de coordenadas são:
x,y
Gx,yx,y
Gx,y
...
...
... ou
...
observando que a letra G significa que as coordenadas que a seguem são
coordenadas geográficas (graus e fração de graus) e que em ambos os casos,
o último registro do arquivo deve conter as mesmas coordenadas do primeiro
registro, indicando que trata-se de uma polilinha fechada (polígono).
Este argumento pode ainda receber o valor $mapa ou $janela que indicarão
respectivamente que a pesquisa será efetuada pelo retângulo definido pelos
limites do mapa ou pelos limites da janela corrente. P.ex.: chave = “$mapa”
•
nivel: atribuir a este argumento a descrição do nível de informação que abriga
os elementos gráficos a serem pesquisados quanto a sua continência na área
informada no argumento chave. P.ex.: nível = “Bairros”
•
arquivo: atribuir a este argumento o nome do arquivo texto que receberá os
códigos (chaves de acesso) dos elementos gráficos que forem identificados
como contidos no elemento gráfico definido pelo argumento chave. P.ex.:
arquivo=”c:/dbmapa/teste.key”
•
percentual: atribuir a este argumento o percentual que deva ser considerado
para fins de considerar o elemento gráfico como contido. P. ex.: atribuindo-se o
valor 20 para este argumento, significa que caso 20% ou mais de um elemento
do nível de informação em questão estiver contido no elemento gráfico definido
pelo argumento chave, este será considerado como contido. Portanto para se
considerar somente elementos totalmente contidos o valor deste argumento
deverá ser 100. P.ex.: percentual = 100
•
acrescentar: atribuir a este argumento a palavra False ou True. False significa
que o arquivo indicado será inicializado cada vez que o método for executado.
True significa que para cada vez que o método for executado os códigos
serão adicionados aos dados já existentes.
•
raio: atribuir a este argumento o raio do círculo a ser pesquisado.Este valor
será desconsiderado quando o argumento chave for $mapa, $janela ou ainda
&.
- 116
•
método Procurar Continente
Este método destina-se a fornecer o código do polígono que
circunscreve um elemento gráfico, ou mesmo um ponto.
sintaxe:
continente = Script_OOP.ProcurarContinenteExpress(mapa,chave,nivel)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital a ser submetido ao
método. P.ex.: = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.”
•
chave: atribuir a este argumento o código do elemento gráfico a ser
considerado na busca do seu continente. A este argumento pode também ser
atribuído as coordenadas de um ponto a ser pesquisado.
•
nivel: atribuir a este argumento a descrição do nível de informação que contém
os polígonos continentes. . P.ex.: nível = “Bairros”;
•
continente: argumento que recebe o código do polígono que circunscreve o
elemento gráfico (ou ponto) informado no argumento chave.
•
método Redesenhar Mapa
sintaxe:
l = Script_OOP.RedesenharExpress(mapa)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital a ser redesenhado.
P.ex.: = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.”
•
método Restaurar dbMapa
sintaxe:
l = Script_OOP.RestaurarExpress()
- 117
-
•
método Seguir Mouse
sintaxe:
l = Script_OOP.SeguirMouseExpress(mapa,seguir)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que terá seu modo de
operação alterado para Seguir Mouse. P.ex.: = "c:\mapas\demo.max”;
•
seguir: atribuir a este argumento a palavra TRUE ou FALSE conforme objetivo
de ativar ou desativar o modo de operação Seguir Mouse.
•
método Selecionar Área
sintaxe:
l = Script_OOP.SelecionarAreaExpress(mapa,selecionar)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que terá seu modo de
operação alterado para Selecionar Área. P.ex.: = "c:\mapas\demo.max”;
•
selecionar: atribuir a este argumento a palavra TRUE ou FALSE conforme
objetivo de ativar ou desativar o modo de operação Selecionar Área.
•
método Selecionar Círculo
sintaxe:
l = Script_OOP.SelecionarCirculoExpress(mapa,selecionar)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que terá seu modo de
operação alterado para Selecionar Círculo. P.ex.: = "c:\mapas\demo.max”;
•
selecionar: atribuir a este argumento a palavra TRUE ou FALSE conforme
objetivo de ativar ou desativar o modo de operação Selecionar Círculo.
- 118
•
método Selecionar Entidade
sintaxe:
l = Script_OOP.SelecionarEntidadeExpress(mapa,selecionar)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que terá seu modo de
operação alterado para Selecionar Entidade. P.ex.: = "c:\mapas\demo.max”;
•
selecionar: atribuir a este argumento a palavra TRUE ou FALSE conforme
objetivo de ativar ou desativar o modo de operação Selecionar Entidade.
•
método Setar Pesquisa
O padrão de pesquisa do dbMapaExpress (entendendo como tal a
possibilidade de se apontar com o mouse um elemento gráfico e este permanecer
marcado) é permitir a marcação de qualquer elemento gráfico existente
no mapa digital, independente do nível de informação a ele
atribuído. Com o método Setar Pesquisa é possível se restringir a
possibilidade de marcação de elementos gráficos aos níveis de
informação de interesse:
sintaxe:
l = Script_OOP.SetarPesquisaExpress(mapa,nivel,pesquisar)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que terá seu padrão de
pesquisa alterado. P.ex.: = "c:\mapas\demo.max”;
•
nível: atribuir a descrição do nível de informação a ser pesquisado ou o sinal *
para todos os níveis. P.ex.: nivel = “bairros” ou nivel = ”*”
•
pesquisar: atribuir a este argumento a palavra TRUE ou FALSE conforme
objetivo de ativar ou desativar a pesquisa de elementos gráficos (marcação) no
nível especificado
Dica: como o padrão da operação do dbMapaExpress é possibilitar a pesquisa em
qualquer nível de informação, deve-se inicialmente desativar a permissão para todos os
níveis. Para tanto atribuir os seguintes valores aos argumentos abaixo:
nivel = “*” pesquisar = False.
e então sim, atribuir ao argumento pesquisar a palavra True, e para o argumento nivel a
descrição do nível a ser pesquisado quando se for operar a marcação de entidade.
- 119
-
•
método Transladar Mapa
Método com o qual define-se deslocamentos da visualização do
mapa .
sintaxe:
l = Script_OOP.TransladarExpress(mapa,direcao,percentual,fator)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que será deslocado.
P.ex.: = "c:\mapas\demo.max”;
•
direcao: atribuir a este argumento o valor que indica o sentido do
deslocamento do mapa. ( 0 = nenhuma, 1 = N, 2 = S, 3 = L, 4 = O, 5 = NE, 6 =
NO, 7 = SE, 8 = SO)
•
percentual: atribuir a este argumento o percentual de deslocamento
pretendido. P.ex.: percentual = 50; Este valor não será considerado se ao
argumento direcao for atribuído o valor zero (0 = nenhuma)
•
fator: trata-se do fator de ampliação ou redução a ser aplicado a visualização
da janela corrente. Para valores maiores que 1 (um) significa que a
visualização será ampliada (zoom out) e para valores abaixo a visualização
será reduzida (zoom in)
- 120
PROPRIEDADES
As propriedades podem ser entendidas como as informações
disponibilizadas pelos Eventos e Métodos. Por exemplo, o
evento Clicou Mouse disponibiliza as propriedades X do Clique
do Mouse e Y do Clique do Mouse as quais inseridas como código
associado ao evento carregam nas variáveis mcx e mcy os
valores das coordenadas.
•
propriedade Botão do Mouse
sintaxe:
bm = Script_OOP.Mouse_Botao
Argumentos:
•
bm: retorna os valores 1 ou 2 conforme o botão direito ou esquerdo for
pressionado.
•
propriedade Centro X do Círculo
propriedade Centro Y do Círculo
propriedade Raio do Círculo
sintaxe:
cx = Script_OOP.CentroX
cy = Script_OOP.CentroY
raio = Script_OOP.Raio
comentário: estas propriedades são alcançadas a partir do modo de operação
Selecionar Círculo o qual gera o evento Selecionou Círculo.
•
propriedade Entidade Marcada
sintaxe:
chave = Script_OOP.EntidadeMarcada
comentário: a variável chave recebe o código do elemento gráfico marcado.
•
propriedade Escala da Janela
sintaxe:
escala = Script_OOP.Escala_Janela
comentário:A variável escala recebe a escala da visualização corrente.
•
propriedade Menor X da Área
propriedade Menor Y da Área
propriedade Maior X da Área
propriedade Maior Y da Área
sintaxe:
minx = Script_OOP.MinX_Area
miny = Script_OOP.MinY_Area
maxx = Script_OOP.MaxX_Area
maxy = Script_OOP.MaxY_Area
comentário: Estas propriedades são alcançadas a partir do modo de operação
Selecionar Área o qual gera o evento Selecionou Área.
•
propriedade Menor X da Janela
propriedade Menor Y da Janela
propriedade Maior X da Janela
propriedade Maior Y da Janela
sintaxe:
minx = Script_OOP.MinX_Janela
miny = Script_OOP.MinY_Janela
maxx = Script_OOP.MaxX_Janela
maxy = Script_OOP.MaxY_Janela
comentário: estas propriedades informam as coordenadas extremas da janela de
visualização corrente.
- 121
-
- 122
•
propriedade Nivel da Entidade Marcada
sintaxe:
nivel = Script_OOP.NivelDaEntidadeMarcada
comentário: a variável nivel recebe a descrição do nível de informação ao qual
pertence o elemento gráfico marcado.
•
propriedade Tipo da Entidade Marcada
sintaxe:
tipo = Script_OOP.TipoDaEntidadeMarcada
comentário: a variável tipo recebe valores que correspondem aos códigos ASC das
letras que definem os tipos de elementos gráficos considerados nos mapas digitais
MaxiCAD.
tipo Letra Elemento
80 P Polilinha
73 I Isolinha
83 S Símbolo
84 T Texto
67 C Círculo
65 A Arco
•
propriedade X do Clique do Mouse
propriedade Y do Clique do Mouse
sintaxe:
mcx = Script_OOP.Mouse_Click_X
mcy = Script_OOP.Mouse_Click_Y
comentário: estas propriedades informam as coordenadas do local em que o mouse
foi “clicado”.
•
propriedade X do Mouse
propriedade Y do Mouse
sintaxe:
mx = Script_OOP.Mouse_X
my = Script_OOP.Mouse_Y
comentário: estas propriedades informam as coordenadas do mouse.
- 123
-
- 124
PRATICANDO COM O dbMAPAEXPRESS
Com o objetivo de firmar os conhecimentos visando uma plena
utilização do dbMapaExpress, são apresentados exemplos,
todos eles efetuados com o mapa digital do Brasil que
acompanha o dbMapaExpress. Estes exemplos, comentados
passo a passo, mostram a programação de eventos, métodos e
propriedades do dbMapaExpress e constituem praticamente
um guia para a aplicação da tecnologia de geoprocessamento.
Para tanto, utilizando o CD-ROM do dbMapaExpress,
providenciar sua instalação. Após a instalação, identificar no
diretório raiz do disco rígido, a pasta dbMapaExpress, a qual
conterá diversas sub-pastas que guardam vários exemplos de
uso.
Antes de iniciar os exemplos, criar uma nova pasta com a
denominaçãoe copiar para ela o arquivo
, constante na pasta <\dbmapaexrpress\brasil>,
re-nomeando-o para.
Exercício 01 - Navegando no dbMapaExpress
Iniciar o dbMapaExpress e abrir uma nova janela com o
mapa.
.. Identifique seus níveis de informação, ative-os conforme
seu interesse;
.. Efetue zooms e familiarize-se com os recursos de
navegação, notadamente com o COMANDO NÍVEIS e com
o bloco de botões;
.. com o COMANDO SELECIONAR (opção Entidade e opção
Desmarcar) identifique códigos de elementos gráficos.
- 125 -
Exercício 02 - Programando Escalas Automáticas
Programar, para o mapa do exercício anterior, as escalas dos
níveis de informação de forma que:
1. ao se abrir o mapa do Brasil, sejam mostrados
automaticamente:
• o Brasil em amarelo;
• os polígonos dos Estados com a linha de borda em verde;
• as siglas dos Estados.
2.
ao se efetuar zooms sejam apresentados:
• os polígonos de municípios;
• as sedes municipais;
• os nomes das sedes municipais;
Comentário: Os limites das escalas de visualização, de cada tipo de informação, deverão
proporcionar visualizações agradáveis, não poluídas e com a identificação e leitura dos
elementos do mapa.
Exercício 03 - Finalizando a Parametrização de Níveis
Realçar os polígonos dos Estados e dos Municípios, através
de linhas de borda com mais espessura e cores contrastantes:
Comentário 1: com estes realces, o mapa deve apresentar uma aparência de fácil
identificação e ocorre a ativação dos detalhes conforme o zoom. Se julgar necessário,
retorne aos exercícios anteriores e re-ajuste cores, escalas, etc.
Comentário 2: na pasta <\dbmapaexpress\exercicio 02-03="">pode-se consultar sugestões
quanto a programação de escalas e de níveis de informação.
- 126
Exercício 04 - Trabalhando com Janelas
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para.
Inicie uma nova janela no dbMapaExpress com o mapa
. Ative níveis de seu interesse e mantendo
aberta a janela com o, familiarize-se com os
recursos para organizar e sincronizar janelas.
A sincronização de janelas, trata-se de recurso que vincula a
navegação efetuada numa janela, em ação automática de
navegação na outra janela.
Dica: para facilitar o entendimento da sincronização de janelas,
proceda os seguintes passos:
1.
ative os mapase ;
2.
ative noos Estados e Siglas;
3.
ative noos municípios, sedes
municipais e siglas dos estados;
4.
efetue um zoom no;
5. Sincronize as janelas através do botão ;
6.
observe que as navegações e zooms efetuados sobre o
refletem alterações no
, mantendo no entanto a escala de
visualização neste último.
Exercício 05 - Trabalhando com Temas (I)
Utilizando apenas o mapamostrar:
•
O Estado do Amazonas;
•
O Estado do Pará com linha de borda em azul e
preenchimento em verde;
•
O Estado do Maranhão com linha de borda realçada em
verde e preenchimento em laranja;
•
O Estado do Tocantins com linha de borda e
preenchimento em amarelo, sem que sejam afetadas as
cores de bordas dos outros estados;
•
Os 3 Estados do Sul preenchidos em azul com as bordas
em preto. (Dica: relacionar os códigos dos 3 estados num arquivo <.key>);
•
O Estado do Mato Grosso do Sul e um círculo em
vermelho com borda em azul;
•
O Estado do Mato Grosso com o texto EXPRESS no
centro;
Aparência que o mapa
deverá apresentar !
Dica: salve estes temas com o
nome de
- 127
-
- 128
Exercício 05 - Passo 1
Utilizando o mapamostrar o Estado do
Amazonas;
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar o código do polígono do Estado do
Amazonas no campo chave. Lembrando que cada um dos estados está
codificado conforme sua sigla, digitar AM para o campo chave.
2o Procedimento: digitar algum texto que identifique o tema para o campo
Descrição. A tela terá a seguinte aparência:
3o Procedimento: Confirmar no botão OK.
- 130 -
Exercício 05 - Passo 2
Utilizando o mapamostrar o Estado do Pará
com linha de borda em azul e preenchimento em verde;
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Pará. Lembrando que cada um dos estados está
codificado conforme sua sigla, digitar PA;
2o Procedimento: digitar para o campo Descrição algum texto que
identifique o tema.
3o Procedimento: Para que o Pará seja colorizado conforme proposição,
selecionar a caixa de seleção Volátil.
Com esses procedimentos a tela terá a seguinte aparência:
4o Procedimento: Selecionar a Guia Chave e então as cores Azul e Verde;
5o Procedimento: Confirmar no botão OK .
- 129
-
Exercício 05 - Passo 3
Utilizando o mapamostrar o Estado do
Maranhão com linha de borda realçada em verde e
preenchimento em laranja;
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Maranhão. Lembrando que cada um dos estados
está codificado conforme sua sigla, digitar MA;
2o Procedimento: Para colorizar o Maranhão conforme proposição,
selecionar a caixa de seleção Volátil. Com esses procedimentos a tela terá a
seguinte aparência:
3o Procedimento: Selecionar a Guia Chave e então as cores Verde e Laranja,
bem como o valor 2 para a espessura da borda;
4o Procedimento: Confirmar no botão OK .
Exercício 05 - Passo 4
Utilizando o mapamostrar o Estado do
Tocantins com linha de borda e preenchimento em amarelo,
sem que sejam afetadas as cores de bordas dos outros estados;
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Tocantins (TO);
2o Procedimento: Para colorizar o Tocantins conforme proposição,
selecionar a caixa de seleção Volátil. Além disso, como a colorização do
Tocantins não deve sobrepor cores já apresentadas, selecionar a caixa de
seleção Preferencial. Com esses procedimentos a tela terá a seguinte aparência:
3o Procedimento:Confirmar no botão OK.
Exercício 05 - Passo 5
Exercício 05 - Passo 3
Utilizando o mapamostrar o Estado do
Maranhão com linha de borda realçada em verde e
preenchimento em laranja;
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Maranhão. Lembrando que cada um dos estados
está codificado conforme sua sigla, digitar MA;
2o Procedimento: Para colorizar o Maranhão conforme proposição,
selecionar a caixa de seleção Volátil. Com esses procedimentos a tela terá a
seguinte aparência:
3o Procedimento: Selecionar a Guia Chave e então as cores Verde e Laranja,
bem como o valor 2 para a espessura da borda;
4o Procedimento: Confirmar no botão OK .
Exercício 05 - Passo 4
Utilizando o mapamostrar o Estado do
Tocantins com linha de borda e preenchimento em amarelo,
sem que sejam afetadas as cores de bordas dos outros estados;
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Tocantins (TO);
2o Procedimento: Para colorizar o Tocantins conforme proposição,
selecionar a caixa de seleção Volátil. Além disso, como a colorização do
Tocantins não deve sobrepor cores já apresentadas, selecionar a caixa de
seleção Preferencial. Com esses procedimentos a tela terá a seguinte aparência:
3o Procedimento:Confirmar no botão OK.
Exercício 05 - Passo 5
- 131 -- 132
Utilizando o mapamostrar os 3 Estados do
Sul preenchidos em azul;
PROCEDIMENTOS
1o Procedimento: Utilizando o Bloco de Notas, criar arquivo com as siglas
RS, SC e PR, atribuindo uma sigla por linha. Salvar com o nome SUL.KEY.
2o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
para o campo chave o sinal @. Este indica que serão considerados como
feições âncora os elementos cujos códigos estiverem armazenados no
arquivo texto (extensão .key) selecionado;
3o Procedimento: Como a intenção é utilizar os elementos gráficos
realcionados no arquivo SUL.KEY como feições âncora, selecionar a caixa
de seleção Volátil. Com esses procedimentos a tela terá a seguinte aparência:
4o Procedimento: Selecionar na Guia Chave as cores preta e azul.
5o Procedimento: Confirmar no botão OK.
Exercício 05 - Passo 6
Utilizando o mapamostrar o Estado do Mato
Grosso do Sul e um círculo em vermelho com borda em azul;
PLANEJAMENTO
Para esta demanda, deverão ser efetivados 2 novos temas. Um para mostrar
o polígono do Estado do Mato Grosso do Sul e outro para mostrar o círculo.
PROCEDIMENTOS
1o Procedimento: Para mostrar o Estado, efetuar os mesmos passos que
foram efetuados para mostrar o polígono do Amazonas.
2o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Mato Grosso do Sul (MS);.
3o Procedimento: Para utilizar o polígono do Estado do Mato Grosso do Sul
como feição âncora do círculo proposto, selecionar a caixa de seleção Volátil
e na seqüência selecionar a guia Círculo. Selecionar nessa guia as cores azul
e vermelha e informar o valor 10 para o Raio.
4o Procedimento: Confirmar no botão OK.
Exercício 05 - Passo 7
- 133 -- 134
Utilizando o mapamostrar o Estado do Mato
Grosso com o texto EXPRESS no centro;
PLANEJAMENTO
Para esta demanda, deverão ser efetivados 2 novos temas. Um para mostrar
o polígono do Estado do Mato Grosso e outro para mostrar o texto.
PROCEDIMENTOS
1o Procedimento: Para mostrar o Estado, efetuar os mesmos passos que
foram efetuados para mostrar o polígono do Amazonas.
2o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Mato Grosso (MT);.
3o Procedimento: Para utilizar o polígono do Estado como feição âncora do
texto proposto, selecionar a caixa de seleção Volátil e na seqüência
selecionar a guia Texto. Selecionar nessa guia, a cor, o Tamanho e digitar o
texto de interesse.
4o Procedimento: Confirmar no botão OK.
Exercício 05 - Passo 8
Salvar os temas;
PROCEDIMENTOS
1o Procedimento: Para salvar os temas, utilizar o comando Temas e o botão
Salvar... . Surgirá a pergunta:
Considerar como temas ativos aqueles cujas caixas de seleção estiverem
selecionadas. Para o caso em questão confirmar o botão Sim;
2o Procedimento: Surgirá então a tela para informar-se o nome
(meus_temas2.tmg) e o caminho do arquivo de temas (extensão TMG) que
armazenará os temas ativos. Confirmar no botão Salvar.
- 135 -- 136
4o Procedimento: Selecionar na Guia Chave a cor amarela;
5o Procedimento: Confirmar no botão OK;
6o Procedimento Para as ilhas repetir o procedimento, informando %Ilhas
em Chave .
Exercício 06 - Trabalhando com Temas (II)
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para. Utilizando este mapa, apresentar:
•
O Brasil e ilhas em amarelo;
(Atenção: não utilizar nível de informação);
•
Realce das divisas dos Estados
(Atenção: não utilizar os códigos dos Estados);
•
Realçar todos os Estados que começam com a letra M,
com um preenchimento quadriculado;
•
Um gráfico de setores (tipo pizza) no Amazonas, com os
seguintes percentuais 15%, 40%, 10% e 35%;
•
Mostrar uma suposta conectividade entre São Paulo
(S3550308) e as cidades de Manaus e Recife
(respectivamente S2611606 e S1302603).
Aparência que o mapa
deverá apresentar !
Dica: salve estes temas com o
nome de
Exercício 06 - Passo 1
Utilizando o mapamostrar o Brasil e ilhas
em amarelo;
PLANEJAMENTO
Para se utilizar todos os elementos de determinado nível de informação
como feições âncora, deve-se estabelecer um novo tema, atribuindo-se ao
campo chave o sinal % seguido da descrição do nível de informação. É o
caso em questão. O Brasil consta no nível de informação cuja descrição é
ContornoBrasil e as ilhas no nível de descrição Ilhas.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
%ContornoBrasil para o campo Chave.
2o Procedimento: Para utilizar os elementos do nível como feição âncora
para a colorização proposta, selecionar a caixa de seleção Volátil e na
seqüência selecionar a guia Chave.
- 137
-
- 138
Exercício 06 - Passo 2
Utilizando o maparealçar divisas Estados;
PLANEJAMENTO
Conforme exemplo anterior, deve-se estabelecer um novo tema, atribuindo-
se ao campo chave o sinal % seguido da descrição do nível. É o caso em
questão, pois as divisas dos estados constam no nível ContornoEstadual.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
%ContornoEstadual para o campo Chave;
2o Procedimento: Para utilizar os elementos do nível como feição âncora
para a efetivação de algum realce, selecionar a caixa de seleção Volátil e na
seqüência selecionar a guia Chave;
3o Procedimento: Selecionar na Guia Chave o azul para o traço e informar o
valor 2 para espessura. Observar que a cor preta para preenchimento,
significa ausência de cor.
5o Procedimento: Confirmar no botão OK.
Exercício 06 - Passo 3
Utilizando o maparealçar todos os Estados
que começam com a letra M, com um preenchimento
quadriculado;
PLANEJAMENTO
O campo Chave permite a utilização do asterisco (*) como um caráter
coringa.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar M*
para o campo Chave;
2o Procedimento: Para utilizar os elementos como feição âncora para a
efetivação do quadriculado proposto, selecionar a caixa de seleção Volátil e
na guia Chave, selecionar a cor e padrão do preenchimento (cruz 45 graus)
bem como cor e espessura do traço.
3o Procedimento: Confirmar no botão OK .
Exercício 06 - Passo 2
Utilizando o maparealçar divisas Estados;
PLANEJAMENTO
Conforme exemplo anterior, deve-se estabelecer um novo tema, atribuindo-
se ao campo chave o sinal % seguido da descrição do nível. É o caso em
questão, pois as divisas dos estados constam no nível ContornoEstadual.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
%ContornoEstadual para o campo Chave;
2o Procedimento: Para utilizar os elementos do nível como feição âncora
para a efetivação de algum realce, selecionar a caixa de seleção Volátil e na
seqüência selecionar a guia Chave;
3o Procedimento: Selecionar na Guia Chave o azul para o traço e informar o
valor 2 para espessura. Observar que a cor preta para preenchimento,
significa ausência de cor.
5o Procedimento: Confirmar no botão OK.
Exercício 06 - Passo 3
Utilizando o maparealçar todos os Estados
que começam com a letra M, com um preenchimento
quadriculado;
PLANEJAMENTO
O campo Chave permite a utilização do asterisco (*) como um caráter
coringa.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar M*
para o campo Chave;
2o Procedimento: Para utilizar os elementos como feição âncora para a
efetivação do quadriculado proposto, selecionar a caixa de seleção Volátil e
na guia Chave, selecionar a cor e padrão do preenchimento (cruz 45 graus)
bem como cor e espessura do traço.
3o Procedimento: Confirmar no botão OK .
- 139 -- 140
Exercício 06 - Passo 4
Utilizando o mapaapresentar um gráfico de
setores (tipo pizza) no Amazonas, com os seguintes
percentuais 15%, 40%, 10% e 35%.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
AM (código do polígono do Estado do Amazonas) para o campo Chave;
2o Procedimento: Para que o polígono do Amazonas seja feição âncora para
a apresentação da pizza, selecionar a caixa de seleção Volátil e a guia Pizza;
3o Procedimento: selecionar na Guia Pizza quantidade de fatias, raio, cores
e percentuais, conforme segue:
4o Procedimento: Confirmar no botão OK .
Exercício 06 - Passo 5
Utilizando o mapaMostrar uma suposta
conectividade entre São Paulo (S3550308) e as cidades de
Manaus e Recife (respectivamente S2611606 e S1302603).
PROCEDIMENTOS
1o Procedimento: Utilizando o Bloco de Notas, criar um arquivo com os
códigos de Manaus e Recife, atribuindo um código por linha. Salvar este
arquivo com o nome DESTINOS.KEY.
2o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
para o campo chave o sinal @. Este indica que serão considerados como
feições âncora os elementos cujos códigos estiverem armazenados no
arquivo texto (extensão .key) selecionado;
3o Procedimento: Como a intenção é utilizar os elementos gráficos
relacionados no arquivo DESTINOS.KEY como feições âncora, selecionar a
caixa de seleção Volátil e a Guia Ligações, selecionando a cor da linha e o
código da feição âncora que representa a origem. Com esses procedimentos
a tela terá a seguinte aparência:
4o Procedimento: Confirmar o botão OK.
Exercício 06 - Passo 4
Utilizando o mapaapresentar um gráfico de
setores (tipo pizza) no Amazonas, com os seguintes
percentuais 15%, 40%, 10% e 35%.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
AM (código do polígono do Estado do Amazonas) para o campo Chave;
2o Procedimento: Para que o polígono do Amazonas seja feição âncora para
a apresentação da pizza, selecionar a caixa de seleção Volátil e a guia Pizza;
3o Procedimento: selecionar na Guia Pizza quantidade de fatias, raio, cores
e percentuais, conforme segue:
4o Procedimento: Confirmar no botão OK .
Exercício 06 - Passo 5
Utilizando o mapaMostrar uma suposta
conectividade entre São Paulo (S3550308) e as cidades de
Manaus e Recife (respectivamente S2611606 e S1302603).
PROCEDIMENTOS
1o Procedimento: Utilizando o Bloco de Notas, criar um arquivo com os
códigos de Manaus e Recife, atribuindo um código por linha. Salvar este
arquivo com o nome DESTINOS.KEY.
2o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
para o campo chave o sinal @. Este indica que serão considerados como
feições âncora os elementos cujos códigos estiverem armazenados no
arquivo texto (extensão .key) selecionado;
3o Procedimento: Como a intenção é utilizar os elementos gráficos
relacionados no arquivo DESTINOS.KEY como feições âncora, selecionar a
caixa de seleção Volátil e a Guia Ligações, selecionando a cor da linha e o
código da feição âncora que representa a origem. Com esses procedimentos
a tela terá a seguinte aparência:
4o Procedimento: Confirmar o botão OK.
- 141 -- 142
Exercício 06 - Passo 7
Salvar os temas;
PROCEDIMENTOS
1o Procedimento: Para salvar os temas, utilizar o comando Temas e o botão
Exercício 07 - Inicialização do dbMapaExpress
Configurar o dbMapaExpress de modo a ele ser iniciado,
com duas janelas, organizadas verticalmente, atribuindo a
cada uma respectivamente o mapa:
Salvar... . Surgirá a pergunta:
Considerar como temas ativos aqueles cujas caixas de seleção estiverem
selecionadas. Para o caso em questão confirmar o botão Sim;
2o Procedimento: Surgirá então a tela para informar-se o nome
(meus_temas3.tmg) e o caminho do arquivo de temas (extensão TMG) que
armazenará os temas ativos. Confirmar no botão Salvar.
•com o tema ;
•com o tema ;
PROCEDIMENTOS
1o Procedimento: Para se configurar a inicialização do dbMapaExpress,
selecionar o comando Configurar;
2o Procedimento: Selecionar o tipo da visualização (maximizada ou
normal) e a forma de organização (vertical). Indicar o campo Carregar
Configuração ao Iniciar;
3 Procedimento: Com o pressionar do botão Adicionar, surgirá a janela:
Selecionar os mapas a serem inicializados. Para tanto basta um clique do
mouse no campo Mapa para surgir tela que permitirá seleção do mapa de
interesse.
- 143 -- 144
Após a seleção dos mapas, na tela de configuração constará a relação dos
mapas a serem inicializados, conforme segue:
Com o duplo clique sobre cada um dos mapas, surge tela que permite a
seleção do(s) arquivo(s) de temas que estarão vinculados, conforme segue:
Com o botão Adicionar Tema, seleciona-se o arquivo de temas de interesse,
e a tela de configuração terá a seguinte aparência:
Com o botão Excluir elimina-se mapas e temas selecionados.
Exercício 08 - Configurando um botão
Re-inicializar o dbMapaExpress e configurar o bloco de
botões personalizados, de forma que:
1. o primeiro botão referente ao mapa,
ative os limites dos Estados. (Dica: utilizar o método Mostrar Nível);
2. o primeiro botão referente ao mapa,
efetue zoom no Estado de São Paulo e apresente os limites
de municípios;
(Dica: Observar que o método Mostrar Nível não se aplica, pois o polígono de
municípios ficará sob o preenchimento do Brasil. Utilizar os métodos Janela por Chave
e Mostrar Tema Extendido.)
Exercício 08 - Passo 1
Programando botão do, para ativar Estados.
PROCEDIMENTOS
1o Procedimento: Antes de iniciar a programação do botão, verificar que o
mapaesteja com o foco. Pressionando o botão Programar
Botões, surge a tela:
Após a seleção dos mapas, na tela de configuração constará a relação dos
mapas a serem inicializados, conforme segue:
Com o duplo clique sobre cada um dos mapas, surge tela que permite a
seleção do(s) arquivo(s) de temas que estarão vinculados, conforme segue:
Com o botão Adicionar Tema, seleciona-se o arquivo de temas de interesse,
e a tela de configuração terá a seguinte aparência:
Com o botão Excluir elimina-se mapas e temas selecionados.
Exercício 08 - Configurando um botão
Re-inicializar o dbMapaExpress e configurar o bloco de
botões personalizados, de forma que:
1. o primeiro botão referente ao mapa,
ative os limites dos Estados. (Dica: utilizar o método Mostrar Nível);
2. o primeiro botão referente ao mapa,
efetue zoom no Estado de São Paulo e apresente os limites
de municípios;
(Dica: Observar que o método Mostrar Nível não se aplica, pois o polígono de
municípios ficará sob o preenchimento do Brasil. Utilizar os métodos Janela por Chave
e Mostrar Tema Extendido.)
Exercício 08 - Passo 1
Programando botão do, para ativar Estados.
PROCEDIMENTOS
1o Procedimento: Antes de iniciar a programação do botão, verificar que o
mapaesteja com o foco. Pressionando o botão Programar
Botões, surge a tela:
- 145 -- 146
2o Procedimento: Para programar o primeiro botão, selecionar o de número
00; No campo Imagem, informar o arquivo tipo .bmp que será apresentado
no botão; No campo Menu, digitar breve descrição da função do botão
3o Procedimento: No campo Métodos e Propriedades selecionar o Método:
Mostrar Nivel e pressionar o botão Inserir no Código; Com estas entradas, a
tela apresentará a seguinte configuração:
4o Procedimento: Substituir a palavra “descrição” por “ContornoEstadual”
que é a descrição do nível de informação que armazena os polígonos dos
Estados. Confirmar com o botão OK;
Teste Intermediário: Verificar então que no bloco de botões
personalizados, o primeiro botão deverá apresentar uma imagem.
Pressionar este botão e verificar que deverão ser apresentados os polígonos
dos Estados. Caso não esteja operando conforme previsto, retornar aos
procedimentos anteriores.
Exercício 08 - Passo 2
Programar o primeiro botão do mapapara
efetuar zoom no Estado de São Paulo e apresentar os limites de
municípios.
PROCEDIMENTOS
1o Procedimento: Antes de iniciar a programação do botão, verificar que o
mapaesteja com o foco. Pressionando o botão Programar
Botões, surge a tela:
2o Procedimento: Para programar o primeiro botão, selecionar o de número
00; No campo Imagem, informar o arquivo tipo .bmp que será apresentado
no botão; No campo Menu, digitar breve descrição da função do botão
3o Procedimento: No campo Métodos e Propriedades selecionar:
- o Método: Mostrar Tema Extendido e pressionar o botão Inserir no Código;
- o Método: Janela por Chave e pressionar o botão Inserir no Código;
Com estas entradas, a tela apresentará a seguinte configuração:
2o Procedimento: Para programar o primeiro botão, selecionar o de número
00; No campo Imagem, informar o arquivo tipo .bmp que será apresentado
no botão; No campo Menu, digitar breve descrição da função do botão
3o Procedimento: No campo Métodos e Propriedades selecionar o Método:
Mostrar Nivel e pressionar o botão Inserir no Código; Com estas entradas, a
tela apresentará a seguinte configuração:
4o Procedimento: Substituir a palavra “descrição” por “ContornoEstadual”
que é a descrição do nível de informação que armazena os polígonos dos
Estados. Confirmar com o botão OK;
Teste Intermediário: Verificar então que no bloco de botões
personalizados, o primeiro botão deverá apresentar uma imagem.
Pressionar este botão e verificar que deverão ser apresentados os polígonos
dos Estados. Caso não esteja operando conforme previsto, retornar aos
procedimentos anteriores.
Exercício 08 - Passo 2
Programar o primeiro botão do mapapara
efetuar zoom no Estado de São Paulo e apresentar os limites de
municípios.
PROCEDIMENTOS
1o Procedimento: Antes de iniciar a programação do botão, verificar que o
mapaesteja com o foco. Pressionando o botão Programar
Botões, surge a tela:
2o Procedimento: Para programar o primeiro botão, selecionar o de número
00; No campo Imagem, informar o arquivo tipo .bmp que será apresentado
no botão; No campo Menu, digitar breve descrição da função do botão
3o Procedimento: No campo Métodos e Propriedades selecionar:
- o Método: Mostrar Tema Extendido e pressionar o botão Inserir no Código;
- o Método: Janela por Chave e pressionar o botão Inserir no Código;
Com estas entradas, a tela apresentará a seguinte configuração:
- 147 -- 148
4o Procedimento:
-Substituir a palavra “chave” por “%ContornoMunicípios”;
- Alterar o valor do argumento
imediato para False.
Isto indicará que o tema será carregado mas não será apresentado;
- Alterar a cor e o preenchimento para RGB(0,125,125) e RGB(0,0,0);
- Para se efetuar o zoom, substituir a palavra “
chave” por “SP”;
5o Procedimento: Confirmar com o botão OK;
Teste Intermediário: Verificar então que no bloco de botões
personalizados, o primeiro botão deverá apresentar uma imagem.
Pressionar este botão e verificar que será efetuado zoom no Estado de São
Paulo, e apresentados os polígonos dos municípios. Caso não esteja
operando conforme previsto, retornar aos procedimentos anteriores.
4o Procedimento:
-Substituir a palavra “chave” por “%ContornoMunicípios”;
- Alterar o valor do argumento
imediato para False.
Isto indicará que o tema será carregado mas não será apresentado;
- Alterar a cor e o preenchimento para RGB(0,125,125) e RGB(0,0,0);
- Para se efetuar o zoom, substituir a palavra “
chave” por “SP”;
5o Procedimento: Confirmar com o botão OK;
Teste Intermediário: Verificar então que no bloco de botões
personalizados, o primeiro botão deverá apresentar uma imagem.
Pressionar este botão e verificar que será efetuado zoom no Estado de São
Paulo, e apresentados os polígonos dos municípios. Caso não esteja
operando conforme previsto, retornar aos procedimentos anteriores.
Exercício 09 - Configurando a Inicialização de Um Mapa
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para. Programar este mapa para que ao
ser aberto ele mostre as divisas estaduais e efetue um zoom
nos 3 estados do sul.
Importante: Desativar a inicialização do dbMapaExpress configurada no Exercício 7.
(Dica: programar no evento Ao Abrir, o método Janela Por Chave, indicando que o zoom
deverá ser efetuado sobre um arquivo tipo .key com os códigos dos estados do sul)
PROCEDIMENTOS
1o Procedimento: Antes de iniciar este exercício, desativar a configuração
de inicialização do dbMapaExpress. Para tanto através do comando
Configurar, tela abaixo:
selecionar cada um dos mapas e pressionar o botão Excluir.
Não havendo mais nenhum mapa indicado na inicialização do
dbMapaExpress, terminar a operação com o botão OK, e encerrar a
utilização do dbMapaExpress.
2o Procedimento: Re-inicializar o dbMapaExpress e iniciar o mapa
.
- 149
-
- 150
3o Procedimento: Através do comando ToolBox, selecionar a guia Eventos do
Mapa. Selecionar o evento Ao Abrir, o método Mostrar Nível e pressionar o
botão Inserir no Código. A tela terá a seguinte aparência:
4o Procedimento: Alterar a palavra “descrição” por “ContornoEstadual”,
texto este que é a descrição do nível de informação que contém as divisas
estaduais.
Alterar ainda o argumento imediato para False, o que significa que os
elementos gráficos do nível de informação em questão serão apresentados
somente quando houver alguma atualização da tela.
5o Procedimento: Para se efetuar zoom nos 3 estados do sul, inicialmente
criar um arquivo com o Bloco de Notas, o qual contenha as siglas RS, SC e
PR, atribuindo uma sigla por linha. Salvar este arquivo com o nome
SUL.KEY.
6o Procedimento Na seqüência selecionar o método Janela por Chave e Inserir
no Código. A tela de programação terá então a seguinte aparência:
Alterar a palavra “chave” por “@c:\exercícios 09\sul.key” e confirmar no
botão OK. Fechar a janela do mapa.
Teste Intermediário: Re-abrir este mapa e constatar que serão apresentados
os polígonos dos 3 estados do Sul, em zoom. Caso não esteja operando
conforme previsto, retornar aos procedimentos anteriores.
3o Procedimento: Através do comando ToolBox, selecionar a guia Eventos do
Mapa. Selecionar o evento Ao Abrir, o método Mostrar Nível e pressionar o
botão Inserir no Código. A tela terá a seguinte aparência:
4o Procedimento: Alterar a palavra “descrição” por “ContornoEstadual”,
texto este que é a descrição do nível de informação que contém as divisas
estaduais.
Alterar ainda o argumento imediato para False, o que significa que os
elementos gráficos do nível de informação em questão serão apresentados
somente quando houver alguma atualização da tela.
5o Procedimento: Para se efetuar zoom nos 3 estados do sul, inicialmente
criar um arquivo com o Bloco de Notas, o qual contenha as siglas RS, SC e
PR, atribuindo uma sigla por linha. Salvar este arquivo com o nome
SUL.KEY.
6o Procedimento Na seqüência selecionar o método Janela por Chave e Inserir
no Código. A tela de programação terá então a seguinte aparência:
Alterar a palavra “chave” por “@c:\exercícios 09\sul.key” e confirmar no
botão OK. Fechar a janela do mapa.
Teste Intermediário: Re-abrir este mapa e constatar que serão apresentados
os polígonos dos 3 estados do Sul, em zoom. Caso não esteja operando
conforme previsto, retornar aos procedimentos anteriores.
- 151 -- 152
5o Procedimento: Alterar o modo de operação do dbMapaExpress para o
modo Seguir Mouse. Para tanto utilizar o comando Selecionar opção Seguir
Mouse. Neste modo de operação, apontar o mouse em algum ponto de
interesse e clicar. Será apresentada mensagem com a seguinte aparência
Exercício 10 - Apresentando Coordenadas
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para. Criar para este mapa, recurso que
mostre as coordenadas de um ponto clicado.
(Dica: evento clicou mouse, propriedades X e Y do clique do mouse)
1o Procedimento: Iniciar o dbMapaExpress; abrir o mapa
; e ativar, ao menos, o nível de informação com o
contornos dos estados;
2o Procedimento: Através do comando ToolBox, selecionar a guia Eventos
do Mapa;
3o Procedimento: Selecionar o evento Clicou Mouse , a Propriedade: X do
Clique do Mouse e pressionar o botão Inserir no Código. Selecionar a
Propriedade: Y do Clique do Mouse e pressionar o botão Inserir no Código.
4o Procedimento: Programar através do comando msgbox do VBScript,
mensagem que apresente as coordenadas, conforme segue:
Confirmar no botão OK.
6o Procedimento: com a seguinte sintaxe para o comando msgbox
msgbox “X: “ & int(mcx) & “ Y: “ & int(mcy)
a mensagem será apresentada com a seguinte aparência:
- 153 -- 154
Exercício 11 - Gravando Coordenadas
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para.
Criar para este mapa, recurso que permita gravar num
arquivo texto as coordenadas de pontos clicados. Ao
terminar, mostrar uma polilinha formada por estes pontos.
(Dica: programar botões para informar nome do arquivo e para mostrar a polilinha. Utilizar
Evento clicou mouse, propriedades X e Y do clique do mouse, Método:Gravar Arquivo
Texto e Método:Mostrar Tema Extendido )
PLANEJAMENTO
Antes de se iniciar este exercício, importante que se defina de forma clara
o funcionamento a ser implementado ao dbMapaExpress quando operar
este mapa.
Requisitos:
a. Ao iniciar o mapa em questão, deverão ser apresentados os polígonos
dos Estados;
b. Deverá ter recurso que permita o usuário da solução informar o
arquivo a ser gravado;
c. Deverá ter recurso que permita o usuário encerrar a indicação dos
pontos de interesse;
d. Ao usuário encerrar a indicação dos pontos de interesse que seja
apresentada uma polilinha formada pelos pontos informados.
Para se atender o requisito “a”, programar no evento Ao Abrir a ativação
do nível de informação que armazena os polígonos dos estados.
Para se atender o requisito “b”, programar um botão do bloco de botões,
de modo que quando for pressionado surja diálogo que permita o usuário
digitar o nome do arquivo a ser criado.
Levando em conta que para se obter as coordenadas de pontos clicados, o
dbMapaExpress deva estar no modo de operação Seguir Mouse, fazer
com que logo após a confirmação do nome do arquivo a ser gravado, o
dbMapaExpress assuma esse modo de operação.
Além disso, programar no evento Clicou Mouse a recuperação das
coordenadas dos pontos clicados bem como a gravação de cada um.
Para se atender os requisitos “c” e “d”, programar outro botão do bloco
de botões, de modo que ao ser pressionado, seja encerrada a gravação dos
pontos de interesse e que seja apresentada a polilinha.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress; abrir o mapa
;
2o Procedimento: Através do comando ToolBox, selecionar a guia Eventos
do Mapa, selecionar o evento Ao Abrir e o Método: Mostrar Nivel. Ajustando
a descrição do nível de informação para a denominação do nível que
armazena os polígonos de estados, a tela terá a seguinte aparência:
- 155 -- 156
Observar que nesse evento (Ao Abrir) encontra-se definida a variável
global Name_Arquivo, a qual será utilizada em outros eventos e/ou
botões.
Terminada a programação deste evento (Ao Abrir) confirmar no botão OK
e fechar a janela que esteja com o mapa em questão.
Teste Intermediário: Testar a abertura deste mapa verificando se o nível
de informação com os polígonos dos estados estão sendo mostrados
automaticamente. Caso isso não esteja ocorrendo, revisar as atividades
anteriores.
3o Procedimento: Através do botão Programar Botões:
- selecionar o Botão 00 (zero);
- selecionar um arquivo <.bmp> para o campo
Imagem
- digitar um breve texto explicativo para o campo
Menu;
- utilizar o comando
InputBox (VBScript) para a criação de recurso
de digitação do nome do arquivo a ser criado com as coordenadas. A tela deverá ter a aparência conforme segue:
4o Procedimento: selecionar o Método: Gravar Arquivo Texto para criar o
arquivo. A Tela terá a seguinte aparência:
Levando em conta que o objetivo da programação é tão somente a criação
do arquivo, promover as seguintes alterações:
- na função OpenTextFile, alterar arquivo para Name_Arquivo;
- eliminar as linhas:
arquivo = “caminho”
linha = “texto”
f.WriteLine linha
Com estas alterações a programação ficará com a seguinte aparência:
Observar que nesse evento (Ao Abrir) encontra-se definida a variável
global Name_Arquivo, a qual será utilizada em outros eventos e/ou
botões.
Terminada a programação deste evento (Ao Abrir) confirmar no botão OK
e fechar a janela que esteja com o mapa em questão.
Teste Intermediário: Testar a abertura deste mapa verificando se o nível
de informação com os polígonos dos estados estão sendo mostrados
automaticamente. Caso isso não esteja ocorrendo, revisar as atividades
anteriores.
3o Procedimento: Através do botão Programar Botões:
- selecionar o Botão 00 (zero);
- selecionar um arquivo <.bmp> para o campo
Imagem
- digitar um breve texto explicativo para o campo
Menu;
- utilizar o comando
InputBox (VBScript) para a criação de recurso
de digitação do nome do arquivo a ser criado com as coordenadas. A tela deverá ter a aparência conforme segue:
4o Procedimento: selecionar o Método: Gravar Arquivo Texto para criar o
arquivo. A Tela terá a seguinte aparência:
Levando em conta que o objetivo da programação é tão somente a criação
do arquivo, promover as seguintes alterações:
- na função OpenTextFile, alterar arquivo para Name_Arquivo;
- eliminar as linhas:
arquivo = “caminho”
linha = “texto”
f.WriteLine linha
Com estas alterações a programação ficará com a seguinte aparência:
- 157 -- 158
Para que o dbMapaExpress entre no modo de operação seguir mouse
selecionar o Método: Seguir Mouse, inserindo-o no código.
A programação ficará então conforme segue:
Com o botão OK, encerra-se a programação do botão 00
Teste Intermediário: para verificar se a programação efetuada está
correta e funcional:
- Navegar sobre o botão programado verificando o texto explicativo;
- Pressionar o botão programado, verificando se a tela para entrada do
nome do arquivo está operando convenientemente;
- Após digitar o nome do arquivo verificar se:
- o arquivo foi efetivamente criado; - o dbMapaExpress entrou em modo de operação Seguir Mouse;
Se não forem atentidas as expectativas, refazer as atividades anteriores.
5o Procedimento: para gravar os pontos no arquivo informado,
programar no Evento: Clicou Mouse, a recuperação das coordenadas dos
pontos clicados e as suas gravações.
Para tanto, através do comando Toolbox, opção Editar , guia Eventos,
selecionar o Evento Clicou Mouse; as Propriedades X e Y do Clique do Mouse e
as inserir no código
Após, selecionar o Método: Gravar Arquivo Texto, efetuando as alterações
relativas ao nome do arquivo, do modo e do valor a ser gravado
Assim, a programação terá a seguinte aparência:
Observar que para a gravação das coordenadas X e Y, estão sendo
considerados os valores inteiros delas, e que está sendo inserida uma
vírgula como separador.
A utilização da vírgula como separador possibilita que os registros do
arquivo poderão ser entendidos como coordenadas de uma polilinha
virtual (arquivo <.plv>).
Para que o dbMapaExpress entre no modo de operação seguir mouse
selecionar o Método: Seguir Mouse, inserindo-o no código.
A programação ficará então conforme segue:
Com o botão OK, encerra-se a programação do botão 00
Teste Intermediário: para verificar se a programação efetuada está
correta e funcional:
- Navegar sobre o botão programado verificando o texto explicativo;
- Pressionar o botão programado, verificando se a tela para entrada do
nome do arquivo está operando convenientemente;
- Após digitar o nome do arquivo verificar se:
- o arquivo foi efetivamente criado; - o dbMapaExpress entrou em modo de operação Seguir Mouse;
Se não forem atentidas as expectativas, refazer as atividades anteriores.
5o Procedimento: para gravar os pontos no arquivo informado,
programar no Evento: Clicou Mouse, a recuperação das coordenadas dos
pontos clicados e as suas gravações.
Para tanto, através do comando Toolbox, opção Editar , guia Eventos,
selecionar o Evento Clicou Mouse; as Propriedades X e Y do Clique do Mouse e
as inserir no código
Após, selecionar o Método: Gravar Arquivo Texto, efetuando as alterações
relativas ao nome do arquivo, do modo e do valor a ser gravado
Assim, a programação terá a seguinte aparência:
Observar que para a gravação das coordenadas X e Y, estão sendo
considerados os valores inteiros delas, e que está sendo inserida uma
vírgula como separador.
A utilização da vírgula como separador possibilita que os registros do
arquivo poderão ser entendidos como coordenadas de uma polilinha
virtual (arquivo <.plv>).
- 159 -- 160
6o Procedimento: para terminar a gravação dos pontos, programar para
um outro botão o final do modo de operação seguir mouse, bem como
um tema que apresente uma polilinha. Para tanto através do botão
Programar Botões:
-selecionar o Botão 01 (hum);
-selecionar um arquivo <.bmp> para o campo Imagem;
-digitar um breve texto explicativo para o campo Menu;
-selecionar o Método: Seguir Mouse e inserir no código;
-alterar o valor do argumento Seguir para False;
-selecionar o Método: Mostrar Tema Extendido e inserir no código;
Com as respectivas alterações que devem ser implementadas no código
sugerido, a tela ficará com a seguinte aparência:
Observar que ao campo chave foi atribuído o nome do arquivo criado, o
qual deve neste caso ser precedido do sinal &.
6o Procedimento: para terminar a gravação dos pontos, programar para
um outro botão o final do modo de operação seguir mouse, bem como
um tema que apresente uma polilinha. Para tanto através do botão
Programar Botões:
-selecionar o Botão 01 (hum);
-selecionar um arquivo <.bmp> para o campo Imagem;
-digitar um breve texto explicativo para o campo Menu;
-selecionar o Método: Seguir Mouse e inserir no código;
-alterar o valor do argumento Seguir para False;
-selecionar o Método: Mostrar Tema Extendido e inserir no código;
Com as respectivas alterações que devem ser implementadas no código
sugerido, a tela ficará com a seguinte aparência:
Observar que ao campo chave foi atribuído o nome do arquivo criado, o
qual deve neste caso ser precedido do sinal &.
- 161
-
Exercício 12 - Gravando Códigos de Elementos Gráficos
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para.
Gravar para este mapa, num arquivo texto os códigos de
elementos gráficos selecionados interativamente no mapa.
(Dica: evento Mudou Marcada – método Gravar Arquivo Texto; propriedade Entidade
Marcada).
Evento clicou mouse, propriedades X e Y do clique do mouse, Método:Gravar Arquivo
Texto e Método:Mostrar Tema Extendido )
PLANEJAMENTO
Antes de se iniciar este exercício, importante que se defina de forma clara
o funcionamento a ser implementado ao dbMapaExpress quando operar
este mapa.
Requisitos:
a. Ao iniciar o mapa em questão, deverão ser apresentados os polígonos
dos Estados;
b. Deverá ter recurso que permita o usuário da solução informar o
arquivo a ser gravado;
c. Deverá ter recurso que permita o usuário encerrar a indicação dos
elementos de interesse;
Para se atender o requisito “a”, programar no evento Ao Abrir a ativação
do nível de informação que armazena os polígonos dos estados.
Para se atender o requisito “b”, programar um botão do bloco de botões,
de modo que quando for pressionado surja diálogo que permita o usuário
digitar o nome do arquivo a ser criado.
- 162
Levando em conta que para se obter os códigos dos elementos
selecionados, o dbMapaExpress deva estar no modo de operação
Selecionar Entidade, fazer com que logo após a confirmação do nome do
arquivo a ser gravado, o dbMapaExpress assuma esse modo de operação.
Além disso, programar no evento Mudou Marcada a recuperação dos
códigos dos elementos marcados, bem como a gravação de cada um.
Para se atender o requisito “c”, programar outro botão do bloco de
botões, de modo que ao ser pressionado, seja encerrada a gravação dos
códigos dos elementos selecionados, retornando o modo de operação
para o modo navegação.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress; abrir o mapa
;
2o Procedimento: Através do comando ToolBox, selecionar a guia Eventos
do Mapa, selecionar o evento Ao Abrir e o Método: Mostrar Nivel. Ajustando
a descrição do nível de informação para a denominação do nível que
armazena os polígonos de estados, a tela terá a seguinte aparência:
observar que nesse evento (Ao Abrir) encontra-se definida a variável
global Name_Arquivo, a qual será utilizada em outros eventos e/ou
botões.
Terminada a programação deste evento (Ao Abrir) confirmar no botão
OK e fechar a janela que esteja com o mapa em questão. Testar a abertura
deste mapa verificando se o nível de informação com os polígonos dos
estados estão sendo mostrados automaticamente. Caso isso não esteja
ocorrendo, revisar as atividades anteriores
3o Procedimento: Através do botão Programar Botões:
-selecionar o Botão 00 (zero);
-selecionar um arquivo <.bmp> para o campo Imagem
-digitar um breve texto explicativo para o campo Menu;
-utilizar o comando InputBox (VBScript) para a criação de recurso
de digitação do nome do arquivo a ser criado o qual receberá os
códigos dos elementos gráficos selecionados. A tela deverá ter a aparência conforme segue:
Levando em conta que para se obter os códigos dos elementos
selecionados, o dbMapaExpress deva estar no modo de operação
Selecionar Entidade, fazer com que logo após a confirmação do nome do
arquivo a ser gravado, o dbMapaExpress assuma esse modo de operação.
Além disso, programar no evento Mudou Marcada a recuperação dos
códigos dos elementos marcados, bem como a gravação de cada um.
Para se atender o requisito “c”, programar outro botão do bloco de
botões, de modo que ao ser pressionado, seja encerrada a gravação dos
códigos dos elementos selecionados, retornando o modo de operação
para o modo navegação.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress; abrir o mapa
;
2o Procedimento: Através do comando ToolBox, selecionar a guia Eventos
do Mapa, selecionar o evento Ao Abrir e o Método: Mostrar Nivel. Ajustando
a descrição do nível de informação para a denominação do nível que
armazena os polígonos de estados, a tela terá a seguinte aparência:
observar que nesse evento (Ao Abrir) encontra-se definida a variável
global Name_Arquivo, a qual será utilizada em outros eventos e/ou
botões.
Terminada a programação deste evento (Ao Abrir) confirmar no botão
OK e fechar a janela que esteja com o mapa em questão. Testar a abertura
deste mapa verificando se o nível de informação com os polígonos dos
estados estão sendo mostrados automaticamente. Caso isso não esteja
ocorrendo, revisar as atividades anteriores
3o Procedimento: Através do botão Programar Botões:
-selecionar o Botão 00 (zero);
-selecionar um arquivo <.bmp> para o campo Imagem
-digitar um breve texto explicativo para o campo Menu;
-utilizar o comando InputBox (VBScript) para a criação de recurso
de digitação do nome do arquivo a ser criado o qual receberá os
códigos dos elementos gráficos selecionados. A tela deverá ter a aparência conforme segue:
- 163 -- 164
4o Procedimento: selecionar o Método: Gravar Arquivo Texto para criar o
arquivo. A Tela terá a seguinte aparência:
Levando em conta que o objetivo da programação é tão somente a criação
do arquivo, promover as seguintes alterações:
- na função OpenTextFile, alterar arquivo para Name_Arquivo;
- eliminar as linhas:
arquivo = “caminho”
linha = “texto”
f.WriteLine linha
Com estas alterações a programação ficará com a seguinte aparência:
Para que o dbMapaExpress entre no modo de operação Selecionar
Entidade selecionar o Método: Selecionar Entidade, inserindo-o no código.
A programação ficará então conforme segue:
Com o botão OK, encerra-se a programação do botão 00.
Teste Intermediário: para verificar se a programação efetuada está
correta e funcional:
- Navegar sobre o botão programado verificando o texto explicativo;
- Pressionar o botão programado, verificando se a tela para entrada do
nome do arquivo está operando convenientemente;
- Após digitar o nome do arquivo verificar se:
- o arquivo foi efetivamente criado;
- o dbMapaExpress está no modo Selecionar Entidade.
Se não forem atentidas as expectativas, refazer as atividades anteriores.
4o Procedimento: selecionar o Método: Gravar Arquivo Texto para criar o
arquivo. A Tela terá a seguinte aparência:
Levando em conta que o objetivo da programação é tão somente a criação
do arquivo, promover as seguintes alterações:
- na função OpenTextFile, alterar arquivo para Name_Arquivo;
- eliminar as linhas:
arquivo = “caminho”
linha = “texto”
f.WriteLine linha
Com estas alterações a programação ficará com a seguinte aparência:
Para que o dbMapaExpress entre no modo de operação Selecionar
Entidade selecionar o Método: Selecionar Entidade, inserindo-o no código.
A programação ficará então conforme segue:
Com o botão OK, encerra-se a programação do botão 00.
Teste Intermediário: para verificar se a programação efetuada está
correta e funcional:
- Navegar sobre o botão programado verificando o texto explicativo;
- Pressionar o botão programado, verificando se a tela para entrada do
nome do arquivo está operando convenientemente;
- Após digitar o nome do arquivo verificar se:
- o arquivo foi efetivamente criado;
- o dbMapaExpress está no modo Selecionar Entidade.
Se não forem atentidas as expectativas, refazer as atividades anteriores.
- 165 -- 166
5o Procedimento: para gravar os códigos dos elementos selecionados no
arquivo informado, programar no Evento: Mudou Marcada, a recuperação
dos códigos dos elementos e as suas gravações.
Para tanto, através do comando Toolbox, opção Editar , guia Eventos,
selecionar o Evento Mudou Marcada; a Propriedade: Entidade Marcada e as
inserir no código
Após, selecionar o Método: Gravar Arquivo Texto, efetuando as alterações
relativas ao nome do arquivo, do modo e do valor a ser gravado. Assim a
programação terá a seguinte aparência:
Confirmar a programação no botão OK.
6o Procedimento: para terminar a gravação dos elementos gráficos
selecionados, programar para um outro botão o fim do modo de operação
Selecionar Entidade. Para tanto através do botão Programar Botões:
-selecionar o Botão 01 (hum);
-selecionar um arquivo <.bmp> para o campo Imagem;
-digitar um breve texto explicativo para o campo Menu;
-selecionar o Método: Selecionar Entidade e inserir no código;
-alterar o valor do argumento selecionar para False;
-selecionar o Método: Marcar Entidade e inserir no código;
-alterar o valor do argumento marcar para False.
Com as respectivas alterações que devem ser implementadas no código
sugerido, a tela ficará com a seguinte aparência:
Confirmar no botão OK.
5o Procedimento: para gravar os códigos dos elementos selecionados no
arquivo informado, programar no Evento: Mudou Marcada, a recuperação
dos códigos dos elementos e as suas gravações.
Para tanto, através do comando Toolbox, opção Editar , guia Eventos,
selecionar o Evento Mudou Marcada; a Propriedade: Entidade Marcada e as
inserir no código
Após, selecionar o Método: Gravar Arquivo Texto, efetuando as alterações
relativas ao nome do arquivo, do modo e do valor a ser gravado. Assim a
programação terá a seguinte aparência:
Confirmar a programação no botão OK.
6o Procedimento: para terminar a gravação dos elementos gráficos
selecionados, programar para um outro botão o fim do modo de operação
Selecionar Entidade. Para tanto através do botão Programar Botões:
-selecionar o Botão 01 (hum);
-selecionar um arquivo <.bmp> para o campo Imagem;
-digitar um breve texto explicativo para o campo Menu;
-selecionar o Método: Selecionar Entidade e inserir no código;
-alterar o valor do argumento selecionar para False;
-selecionar o Método: Marcar Entidade e inserir no código;
-alterar o valor do argumento marcar para False.
Com as respectivas alterações que devem ser implementadas no código
sugerido, a tela ficará com a seguinte aparência:
Confirmar no botão OK.
- 167 -- 168
Exercício 13 - Consultando Continente
Utilizando o mapa do exercício anterior, implementar
recurso que informe a partir de um clique do mouse no
mapa, o código do Estado e o código do Município que são
os “continentes” do ponto clicado.
(Dica: evento Clicou Mouse – método Procurar Continente. Na pasta Exercicio12 consta o
mapadevidamente configurado. Para operar, indicar modo de
operação Seguir Mouse, e clicar um ponto de interesse)
PLANEJAMENTO
Programar no Evento: Clicou Mouse,. a recuperação das coordenadas
clicadas através das Propriedades X e Y do clique do mouse e o Método:
Procurar Continente.
PROCEDIMENTOS
1o Procedimento: Abrir o mapa;
2o Procedimento: Através do comando ToolBox, selecionar a guia Eventos
do Mapa, e o evento Clicou Mouse. Na seqüência recuperar as coordenadas
através da seleção das propriedades X do clique do mouse e Y do clique do
mouse;
3o Procedimento: Selecionar o Método: Procurar Continente e inserir no
código. Atribuir ao argumento chave as coordenadas do ponto clicado,
precedido do sinal #.
4o Procedimento: Atribuir ao argumento nível a descrição do nível de
informação que armazena os polígonos dos estados (ContornoEstadual).
5o Procedimento: utilizar o comando msgbox (VBScript) para mostrar o
código do Estado que abrange (“continente”) o ponto clicado.
6o Procedimento: repetir o 4o e 5o procedimentos, ajustando a busca para
os polígonos de municípios (ContornoMunicípios).
A tela com a programação deverá ter a seguinte aparência:
Confirmar a programação do evento pressionando o botão OK.
Teste: para verificar se a programação efetuada está correta e funcional:
-Ativar o modo Seguir Mouse através do comando Selecionar;
-Deslocar o cursor sobre o mapa e clicar o mouse. Verificar se o ponto
clicado corresponde a um ponto contido no Estado apontado;
-Se não forem atentidas as expectativas, refazer as atividades
anteriores.
- 169 -- 170
Exercício 14 - Recuperando Contidos
Utilizando o mapa do exercício 12, implementar recurso que
relacione num arquivo texto, todos os códigos de sedes de
municípios existentes no Estado do Paraná;
(Dica: programar num dos botões disponíveis a utilização do método Procurar Contidos)
PLANEJAMENTO
Programar o método Procurar Contidos para o botão 11 (último botão do
bloco de botões personalizáveis) do mapa em questão.
PROCEDIMENTOS
1o Procedimento: abrir o mapacom o dbMapaExpress;
2o Procedimento: Através do botão Programar Botões, selecionar o botão
11,
selecionar um arquivo <.bmp> para o campo Imagem e digitar um
breve texto explicativo para o campo Menu.
Na seqüência selecionar o método Procurar Contidos e pressionar o botão
Inserir no Código;
3o Procedimento: ajustar valores dos argumentos:
-
Ao argumento chave atribuir o texto PR, que é o código do Estado do
Paraná;
-
Ao argumento nivel atribuir a descrição do nível de informação das
sedes dos municípios – SimbMunicípios;
-
Ao argumento arquivo atribuir o nome do arquivo que receberá os
códigos das sedes municipais. Informar o caminho completo do
arquivo.
-Ao argumento raio atribuir o valor 0 (zero), o que indica que será
utilizado o polígono com código PR como limite. Caso seja fornecido
algum valor para este argumento, a pesquisa será efetuada tomando
por base um círculo com o raio informado, cujo centro será o centro
do polígono PR.
Com essas alterações que devem ser implementadas no código sugerido,
a tela ficará com a seguinte aparência:
Confirmar a programação do botão pressionando o botão OK.
Teste: para verificar se a programação efetuada está correta e funcional:
-Pressionar o ultimo botão;
-Verificar através do Windows Explorer se o arquivo foi criado abrindo-
o com o Bloco de Notas.
Se não forem atentidas as expectativas, refazer as atividades anteriores.
- 171
-
- 172
Exercício 15 - Combinando Recursos (I)
Utilizando o mapa do exercício 12, ativar os polígonos de
municípios, e com a indicação interativa de um círculo,
realçar os municípios atingidos.
(Dica: Comando Mostrar Tema - evento Selecionou Círculo - propriedades X do Centro do
Círculo; Y do Centro do Círculo; Raio do Círculo - métodos Procurar Contidos; Atualizar
Mapa)
PLANEJAMENTO
Programar para o evento Selecionou Círculo a utilização do método
Procurar Contidos, que no caso serão os polígonos atingidos pelo círculo.
Considerar como polígono atingido, aquele que contiver pelo menos 5%
de sua área dentro do círculo informado.
Para mostrar os municípios atingidos deverá ser utilizado um tema, o
qual deverá ser previamente criado e “carregado” na abertura do mapa.
Ao se “fechar” o mapa, o arquivo <.key> utilizado na definição do tema
e que armazena os códigos dos polígonos (municípios) atingidos pelo
círculo, deverá ser “zerado”, sob pena de na re-abertura do mapa, ser
apresentado o resultado da ultima pesquisa de municípios atingidos.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress, abrir o mapa
e ativar os polígonos de municípios
(ContornoMunicípios);
2o Procedimento:. Com o bloco de notas criar um arquivo texto com o
nome dee para efeito de teste, criar neste arquivo uma
única linha com a sigla do estado de São Paulo (SP).
3o Procedimento: Criar um tema que apresenta os dados do arquivo
, colorizando-os p.ex de verde, através do comando Temas.
(Procedimento similar encontra-se detalhado no Passo 5 do Exercício 05)
4o Procedimento: Salvar este tema com o nome de, através
do comando Temas botão Salvar;
5o Procedimento: programar para o evento Ao Abrir a carga do arquivo de
temas, criado no procedimento anterior. Para tanto selecionar o Método:
Carregar Temas, ajustando o argumento caminho para o nome do arquivo
de temas. Com estas alterações, a programação do Evento Ao Abrir,
deverá estar com a seguinte aparência:
Confirmar a programação através do botão OK.
Teste Intermediário: para verificar se a programação efetuada está
correta e funcional, fechar a janela do mapa. Re-abrir e constatar que o
Estado de São Paulo seja mostrado com a cor atribuída ao tema. Se isto
não ocorrer, refazer as atividades anteriores.
6o Procedimento: Através do comando ToolBox, selecionar a guia Eventos
do Mapa, e o evento Selecionou Círculo. Na seqüência recuperar os dados
do círculo informado, através das propriedades Centro X do círculo, Centro
Y do Círculo e Raio do Círculo, selecionando cada um deles e pressionando
o botão Inserir no Código.
7o Procedimento: Selecionar o Método: Procurar Contidos e inserir no
código. Atribuir ao argumento chave as coordenadas do centro do círculo,
precedido do sinal # e ao argumento nível a descrição do nível de
informação dos municípios (ContornoMunicípios).
- 173 -- 174
9o Procedimento: atribuir ao argumento arquivo o; ao
argumento percentual informar o valor 5; e eliminar a linha que trata do
valor do raio, visto este valor ser uma propriedade do círculo, já
programado no 6o Procedimento.
10o Procedimento: Selecionar o Método: Atualizar Mapa e inserir no
código. Este método redesenha o mapa na escala corrente. A
programação final ficará com a seguinte aparência:
Teste: para verificar se a programação efetuada está correta e funcional,
utilizar o comando Selecionar opção Círculo. Com o mouse indicar um
círculo de interesse sobre o mapa e constatar que os municípios atingidos
serão realçados.
Caso os municípios não sejam realçados, revisar e/ou refazer as
atividades anteriores.
9o Procedimento: atribuir ao argumento arquivo o; ao
argumento percentual informar o valor 5; e eliminar a linha que trata do
valor do raio, visto este valor ser uma propriedade do círculo, já
programado no 6o Procedimento.
10o Procedimento: Selecionar o Método: Atualizar Mapa e inserir no
código. Este método redesenha o mapa na escala corrente. A
programação final ficará com a seguinte aparência:
Teste: para verificar se a programação efetuada está correta e funcional,
utilizar o comando Selecionar opção Círculo. Com o mouse indicar um
círculo de interesse sobre o mapa e constatar que os municípios atingidos
serão realçados.
Caso os municípios não sejam realçados, revisar e/ou refazer as
atividades anteriores.
- 175
-
Exercício 16 - Combinando Recursos (II)
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para. Criar para este mapa recurso para
criação de polígono e para realce das sedes de municípios,
que estiverem nele contido.
PLANEJAMENTO
A criação do polígono prevista neste exemplo deverá ser efetuada com
cliques do mouse sobre o mapa. Para o fechamento do polígono, deverá
existir recurso (botão) que faça o ultimo ponto ter as mesmas
coordenadas do primeiro ponto.
As coordenadas do polígono deverão ser armazenadas num arquivo texto
do tipo <.plv> (polígono virtual), devendo o nome deste arquivo ser
informado pelo operador.
Para mostrar as sedes de municípios atingidos deverá ser utilizado um
tema, o qual deverá ser previamente criado e “carregado” na abertura do
mapa.
Para realçar as sedes dos municípios utilizar uma representação volátil do
tipo círculo de 5 pixels.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress, abrir o mapa
e ativar os polígonos e sedes de municípios;
2o Procedimento: programar para o evento Ao Abrir a criação de um
arquivo temporário (Método: Gravar Arquivo Texto) e a carga de um tema
para realçar as sedes de municípios (Método: Mostrar Tema Círculo).
Esta programação deverá ter a seguinte aparência:
- 176
Comentários: ao evento Ao Abrir, observar ainda, que foram inseridos: o
Método Organizar Janelas visando maximizar a janela do mapa; o Método
Redesenhar Mapa visando ajustar o mapa a nova janela; o Método Mostrar
Nivel para mostrar os polígonos dos estados; as variáveis globais
NomeArquivo, FlagArquivo, FlagOperação, PriLinha, QtdPontos.
3o Procedimento: programar para o primeiro botão a digitação do nome
do arquivo para as coordenadas do polígono; o Método: Gravar Arquivo
Texto; o Método: Seguir Mouse; Carregar tema para mostrar o polígono
volátil.
Esta programação deverá ter a seguinte aparência:
4o Procedimento: programar para o Evento: Clicou Mouse, a gravação das
coordenadas do ponto clicado. Para tanto utilizar as Propriedades X do
Clique do Mouse e Y do Clique do Mouse; e o Método: Gravar Arquivo Texto; e
aplicado um contador de pontos clicados (variável qtdpontos) e salva as
coordenadas do primeiro ponto numa variável auxiliar (PriLinha).
Esta programação terá então a seguinte aparência:
Comentários: ao evento Ao Abrir, observar ainda, que foram inseridos: o
Método Organizar Janelas visando maximizar a janela do mapa; o Método
Redesenhar Mapa visando ajustar o mapa a nova janela; o Método Mostrar
Nivel para mostrar os polígonos dos estados; as variáveis globais
NomeArquivo, FlagArquivo, FlagOperação, PriLinha, QtdPontos.
3o Procedimento: programar para o primeiro botão a digitação do nome
do arquivo para as coordenadas do polígono; o Método: Gravar Arquivo
Texto; o Método: Seguir Mouse; Carregar tema para mostrar o polígono
volátil.
Esta programação deverá ter a seguinte aparência:
4o Procedimento: programar para o Evento: Clicou Mouse, a gravação das
coordenadas do ponto clicado. Para tanto utilizar as Propriedades X do
Clique do Mouse e Y do Clique do Mouse; e o Método: Gravar Arquivo Texto; e
aplicado um contador de pontos clicados (variável qtdpontos) e salva as
coordenadas do primeiro ponto numa variável auxiliar (PriLinha).
Esta programação terá então a seguinte aparência:
- 177 -- 178
5o Procedimento: programar para o terceiro botão o fechamento do
polígono, gravando as coordenadas do primeiro ponto que foram
armazenadas na variável auxiliar PriLinha, através do Método: Gravar
Arquivo Texto;
6o Procedimento: ainda para este botão, programar através do Método:
Procurar Contidos a pesquisa das sedes municipais contidas no polígono
indicado pelo operador, observando que o resultado da pesquisa será
inserido no arquivo temporário criado no 2o Procedimento.
7o Procedimento: “zerar” as variáveis utilizadas e desativar o modo de
operação Seguir Mouse.
Esta programação terá então a seguinte aparência:
5o Procedimento: programar para o terceiro botão o fechamento do
polígono, gravando as coordenadas do primeiro ponto que foram
armazenadas na variável auxiliar PriLinha, através do Método: Gravar
Arquivo Texto;
6o Procedimento: ainda para este botão, programar através do Método:
Procurar Contidos a pesquisa das sedes municipais contidas no polígono
indicado pelo operador, observando que o resultado da pesquisa será
inserido no arquivo temporário criado no 2o Procedimento.
7o Procedimento: “zerar” as variáveis utilizadas e desativar o modo de
operação Seguir Mouse.
Esta programação terá então a seguinte aparência:
Teste: para verificar se a programação efetuada está correta e funcional:
pressionar o primeiro botão; informar um nome para o arquivo de
coordenadas; clicar pontos definidores da área de interesse; terminar a
operação pressionando o terceiro botão. Deverá mostrar as sedes dos
municípios contidos.
Caso as sedes dos municípios não sejam realçadas, revisar e/ou refazer as
atividades anteriores.
Exercício 17 - Combinando Recursos (III)
- 179 -- 180 -
Criar para o mapa do exercício anterior (),
recurso para que o operador informe a sigla de um Estado e
que o dbMapa Express informe a quantidade de cidades
existentes naquele estado.
(Dica: Verificar o botão 4 no mapaconstante na pasta Exercício 16)
PLANEJAMENTO
Programar recurso (botão) que pemita o operador digitar a sigla de um
estado. Na seqüência procurar as sedes de municípios (símbolos
armazenados no nível SimbMunicípios) através do Método: Procurar
Contidos. Relacionar os códigos das sedes num arquivo temporário
Para totalizar a quantidade de sedes gravadas neste arquivo temporário,
estabelecendo um contador para cada registro lido.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress, abrir o mapa
e ativar os polígonos e sedes de municípios;
2o Procedimento: Através do botão Programar Botões:
-
selecionar o Botão 03 (tres);
-
selecionar um arquivo <.bmp> para o campo Imagem;
-
digitar um breve texto explicativo para o campo Menu;
-
utilizar o comando InputBox (VBScript) para a criação de recurso de
digitação da sigla do estado de interesse.
3o Procedimento: selecionar o Método: Procurar Contidos e inserir no
código. Na seqüência ajustar os argumentos:
-
Ao argumento chave atribuir o texto digitado pelo operador;
- 181
-
-
Ao argumento nivel atribuir a descrição do nível de informação das
sedes dos municípios – SimbMunicípios;
-
Ao argumento arquivo atribuir o nome do arquivo temporário que
receberá os códigos das sedes municipais. Informar o caminho
completo do arquivo.
-
Ao argumento raio atribuir o valor 0 (zero), o que indica que será
utilizado o polígono com a sigla fornecida, como limite. Caso seja
fornecido algum valor para este argumento, a pesquisa será efetuada
tomando por base um círculo com o raio informado, cujo centro será
o centro do polígono com a sigla fornecida.
4o Procedimento: selecionar o Método: Ler Arquivo Texto, ajustando o
nome do arquivo para a denominação atribuída no procedimento
anterior. Estabelecer um contador (variável qtd) o qual deve ser
implementado na leitura de cada registro do arquivo.
5o Procedimento: utilizar o comando msgbox (do VBScript) para
apresentar o valor atingido pelo contador qtd.
Teste: para verificar se a programação efetuada está correta e funcional:
pressionar o quarto botão; informar a sigla de um dos estados. (Observar
que essa digitação deverá ser uma sigla válida, pois a programação
atribuída a esse mapa não trata digitações inválidas). Caso não seja
apresentada a quantidade de sedes, revisar e/ou refazer as atividades
anteriores.
Esta programação terá então a seguinte aparência:
- 182
Exercício 18 - Fazendo uma janela, índice de outra
Copiar duas vezes para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>,
renomeando-os parae < meubrasilB.max>.
Com esses 2 mapas, disparar o dbMapaExpress de modo que
sejam abertas duas janelas, uma com o mapa
e outra com o mapa ,
fazendo que a dimensão da janela de um mapa, seja
mostrado na forma de um retângulo, sobre a outra janela.
(Dica: recupere as coordenadas da janela e grave um polígono virtual e ative-o na outra
janela) (Verificar na pasta Exercício 18)
PLANEJAMENTO
Ao abrir o mapa A, programar para que seja aberto automaticamente o
mapa B. Organizar as janelas na vertical e efetuar zoom em algum estado
do mapa B. Recuperar as coordenadas da janela desse mapa (mapa B),
gravá-las num arquivo tipo polilinha volátil (.plv) e mostra-lo no mapa A.
Programar ainda para o mapa B, sempre que houver alguma alteração da
visualização corrente, a re-gravação das coordenadas da janela no
arquivo da polilinha volátil, com a conseqüente atualização do mapa A.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress, abrir o mapa
e através do comando Toolbox opção Editar, selecionar
na guia Eventos o Evento Ao Abrir;
2o Procedimento: selecionar o Método: Abrir Mapa e inserir no código.
Ajustar o argumento mapa para o caminho completo para o mapa B.
- 183 -- 184
3o Procedimento: selecionar o Método: Organizar Janelas e atribuir ao
argumento tipo o valor 2, o qual corresponde a disposição vertical das
janelas correntes.
4o Procedimento: selecionar por 2 vezes o Método: Redesenhar Mapa,
ajustando os argumentos para mapaA e mapaB. Este método garante que o
limite do mapa é ajustado a janela corrente, apesar de não haver ainda
nenhum elemento gráfico apresentado.
Até este ponto, a programação do Evento Ao Abrir deverá ter a seguinte
aparência:
5o Procedimento: Na seqüência, preparar para serem mostrados na
próxima atualização da janela do mapa A, os níveis de informação com os
polígonos dos estados (ContornoEstadual) e suas siglas (SiglasEstados).
Para tanto utilizar por 2 vezes o Método: Mostrar Nivel, ajustando o
argumento mapa para mapaA, e ao argumento nivel atribuir os textos com
as respectivas denominações.
Para o argumento imediato atribuir o valor False, significando que os
níveis estarão indicados para serem ativados na próxima atualização da
janela.
6o Procedimento: Ainda ao Evento Ao Abrir do mapa A, programar um
zoom para o mapa B, especificamente no estado de Goiás. Para tanto,
selecionar o Método: Janela Por Chave, atribuindo mapaB ao argumento
mapa e o texto GO (sigla de Goiás) para o argumento chave. (Como ainda
não há nenhum nível ativo para o mapa B, este zoom não mostrará
nenhum elemento gráfico, mas fará com que a janela do mapaB esteja
com os limites do estado de Goiás)
Esta parte da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
3o Procedimento: selecionar o Método: Organizar Janelas e atribuir ao
argumento tipo o valor 2, o qual corresponde a disposição vertical das
janelas correntes.
4o Procedimento: selecionar por 2 vezes o Método: Redesenhar Mapa,
ajustando os argumentos para mapaA e mapaB. Este método garante que o
limite do mapa é ajustado a janela corrente, apesar de não haver ainda
nenhum elemento gráfico apresentado.
Até este ponto, a programação do Evento Ao Abrir deverá ter a seguinte
aparência:
5o Procedimento: Na seqüência, preparar para serem mostrados na
próxima atualização da janela do mapa A, os níveis de informação com os
polígonos dos estados (ContornoEstadual) e suas siglas (SiglasEstados).
Para tanto utilizar por 2 vezes o Método: Mostrar Nivel, ajustando o
argumento mapa para mapaA, e ao argumento nivel atribuir os textos com
as respectivas denominações.
Para o argumento imediato atribuir o valor False, significando que os
níveis estarão indicados para serem ativados na próxima atualização da
janela.
6o Procedimento: Ainda ao Evento Ao Abrir do mapa A, programar um
zoom para o mapa B, especificamente no estado de Goiás. Para tanto,
selecionar o Método: Janela Por Chave, atribuindo mapaB ao argumento
mapa e o texto GO (sigla de Goiás) para o argumento chave. (Como ainda
não há nenhum nível ativo para o mapa B, este zoom não mostrará
nenhum elemento gráfico, mas fará com que a janela do mapaB esteja
com os limites do estado de Goiás)
Esta parte da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
- 185 -- 186
7o Procedimento: Na seqüência preparar para serem mostrados na
próxima atualização da janela do mapa B, os níveis de informação com os
polígonos dos estados (ContornoEstadual) e suas siglas (SiglasEstados).
Para tanto utilizar por 2 vezes o Método: Mostrar Nivel, ajustando o
argumento mapa para mapaB, e ao argumento nivel atribuir os textos com
as respectivas denominações.
Para o argumento imediato atribuir o valor False, significando que os
níveis estarão indicados para serem ativados na próxima atualização da
janela.
8o Procedimento: Na seqüência recuperar as coordenadas limites da
janela do mapaB. Para tanto, inserir no código, as propriedades: Menor X
da Janela, Menor Y da Janela, Maior X da Janela e Maior Y da Janela.
Esta parte da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
9o Procedimento: Na seqüência criar um arquivo do tipo polilinha virtual
(.plv) com as coordenadas recuperadas. Para tanto, utilizar o Método:
Gravar Arquivo Texto, gravando 5 registros, com as coordenadas
recuperadas.
Para que uma polilinha virtual seja considerada um polígono (área
fechada), as coordenadas do último registro deverão ser iguais ao do
primeiro registro.
Atribuir ao argumento arquivo um nome de arquivo texto, o qual
armazenará as coordenadas (janela.plv). Ao argumento linha, atribuir as
coodenadas e efetuar 5 gravações (f.WriteLine)
Esta parte da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
10o Procedimento: Para mostrar esse polígono virtual no mapa A, utilizar
o recurso de tema. Especificamente selecionar o Método: Mostrar Tema
Extendido atribuindo ao argumento chave o arquivo do polígono virtual
(janela.plv), ajustando os argumentos cor e preenchimento conforme
interesses.
11o Procedimento: Para finalizar a programação do Evento Ao Abrir
inserir no código o Método: Atualiza Mapa, atribuindo mapaB como
argumento. Este método gerará no mapa B um Evento Mudou Janela.
Esta finalização da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
7o Procedimento: Na seqüência preparar para serem mostrados na
próxima atualização da janela do mapa B, os níveis de informação com os
polígonos dos estados (ContornoEstadual) e suas siglas (SiglasEstados).
Para tanto utilizar por 2 vezes o Método: Mostrar Nivel, ajustando o
argumento mapa para mapaB, e ao argumento nivel atribuir os textos com
as respectivas denominações.
Para o argumento imediato atribuir o valor False, significando que os
níveis estarão indicados para serem ativados na próxima atualização da
janela.
8o Procedimento: Na seqüência recuperar as coordenadas limites da
janela do mapaB. Para tanto, inserir no código, as propriedades: Menor X
da Janela, Menor Y da Janela, Maior X da Janela e Maior Y da Janela.
Esta parte da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
9o Procedimento: Na seqüência criar um arquivo do tipo polilinha virtual
(.plv) com as coordenadas recuperadas. Para tanto, utilizar o Método:
Gravar Arquivo Texto, gravando 5 registros, com as coordenadas
recuperadas.
Para que uma polilinha virtual seja considerada um polígono (área
fechada), as coordenadas do último registro deverão ser iguais ao do
primeiro registro.
Atribuir ao argumento arquivo um nome de arquivo texto, o qual
armazenará as coordenadas (janela.plv). Ao argumento linha, atribuir as
coodenadas e efetuar 5 gravações (f.WriteLine)
Esta parte da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
10o Procedimento: Para mostrar esse polígono virtual no mapa A, utilizar
o recurso de tema. Especificamente selecionar o Método: Mostrar Tema
Extendido atribuindo ao argumento chave o arquivo do polígono virtual
(janela.plv), ajustando os argumentos cor e preenchimento conforme
interesses.
11o Procedimento: Para finalizar a programação do Evento Ao Abrir
inserir no código o Método: Atualiza Mapa, atribuindo mapaB como
argumento. Este método gerará no mapa B um Evento Mudou Janela.
Esta finalização da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
- 187 -- 188
12o Procedimento: Programar para o mapa B, para o Evento Mudou
Janela, a recuperação das coordenadas do limite da janela, a re-gravação
do polígono virtual (janela.plv) e a atualização do mapa A.
Para tanto, utilizar o Método: Gravar Arquivo Texto, gravando 5 registros,
com as coordenadas recuperadas.
Para que a polilinha virtual seja considerada um polígono, (área fechada)
as coordenadas do último registro deverão ser iguais ao do primeiro
registro.
Atribuir ao argumento arquivo o nome do arquivo texto informado no 10o
Procedimento (janela.plv). Ao argumento linha, atribuir as coodenadas e
efetuar 5 gravações (f.WriteLine). Esta parte da programação, ficará então
com a seguinte aparência:
Teste: para verificar se a programação efetuada está correta e funcional,
reiniciar o dbMapa Express, iniciando como primeira janela o mapa
. Com isso, deverá ser mostrado automaticamente o
mapa, efetuado zoom no estado de Goiás e mostrado
sobre oum retângulo em azul, equivalente a área de
visualização do mapa B.
Efetue novos zooms e deslocamentos no mapa B e verifique a mudança
do retângulo sobre o mapa A.
12o Procedimento: Programar para o mapa B, para o Evento Mudou
Janela, a recuperação das coordenadas do limite da janela, a re-gravação
do polígono virtual (janela.plv) e a atualização do mapa A.
Para tanto, utilizar o Método: Gravar Arquivo Texto, gravando 5 registros,
com as coordenadas recuperadas.
Para que a polilinha virtual seja considerada um polígono, (área fechada)
as coordenadas do último registro deverão ser iguais ao do primeiro
registro.
Atribuir ao argumento arquivo o nome do arquivo texto informado no 10o
Procedimento (janela.plv). Ao argumento linha, atribuir as coodenadas e
efetuar 5 gravações (f.WriteLine). Esta parte da programação, ficará então
com a seguinte aparência:
Teste: para verificar se a programação efetuada está correta e funcional,
reiniciar o dbMapa Express, iniciando como primeira janela o mapa
. Com isso, deverá ser mostrado automaticamente o
mapa, efetuado zoom no estado de Goiás e mostrado
sobre oum retângulo em azul, equivalente a área de
visualização do mapa B.
Efetue novos zooms e deslocamentos no mapa B e verifique a mudança
do retângulo sobre o mapa A.
- 189 -- 190
Exercício 19 - Interagindo com MS-Access
Para entender a interação entre o MS-Access e o dbMapa
Express, proceder conforme segue:
1.
Certificar-se de que o MS-Access está devidamente
instalado no computador;
2.
Abrir o banco de dadosconstante da pasta
<\dbmapaexpress\brasil>e familiarizar-se com as
tabelas e dados existentes;
3.
Finalizar o MS-Access;
4.
Iniciar o dbMapa Express com o mapa
constante na pasta;
5.
Informar a sigla de um Estado (em letras maiúsculas);
6.
Selecionar o polígono de um município;
7.
Pressionar o primeiro botão do bloco de botões
personalizáveis e visualize no MS-Access os dados
cadastrais do município selecionado;
8.
Alternar para o modo Seleção de Área (comando Selecionar
opção Área) e visualize no MS-Access a relação dos
municípios atingidos pela área selecionada;
9.
Alternar para o modo Seleção de Círculo (comando Selecionar
opção Círculo) e visualize no MS-Access a relação de
municípios atingidos pelo círculo selecionado;
10. Para realçar os municípios no mapa, pressionar o botão
Mapa na tela do MS-Access;
Tendo efetuado todas estas operações, navegar nos scripts e
programação dos eventos e botões do dbMapa Express e da
- 191
-
aplicação desenvolvida no MS-Access e identificar o arranjo e
chamadas das funções que atendem as operações efetuadas.
Identificar notadamente no MS-Access o módulo
RecuperarChave o qual contém as funções RecuperaChave e
ProcessarContidos, funções estas que são requisitadas pelo
dbMapa Express.
- 192
Tratam-se de arquivos que armazenam formatos
de símbolos. Podem existir até 100 arquivos (NN
variam de 00 a 99) deste tipo e cada arquivo pode
armazenar até 1023 diferentes símbolos.
Tipo
Tratam-se de arquivos que armazenam formatos
de caracteres. Podem existir até 100 arquivos (NN
variam de 00 a 99) deste tipo e cada arquivo pode
armazenar até 255 diferentes caracteres.
Extensão <.PRJ>:
O arquivo de projeto, extensão <.PRJ>, armazena
informações relativas aos códigos de uso de
símbolos, caracteres, traços, hachuras, folhas,
bem como parâmetros para plotagens e
exportações.
- 72 -
Estrutura de Arquivos do dbMapa
Extensão <.MAX>:
Trata-se do arquivo que armazena as
coordenadas e parâmetros de um mapa digital.
IMPORTANTE: É importante realçar a diferença conceitual
entre arquivos <.MAX> e os <.CAD>. Em arquivos <.MAX>
constam todas as informações pertinentes ao mapa digital,
ou seja, os códigos de uso, formatos de símbolos e de
caracteres são internos ao arquivo e não utilizam arquivos
<.PRJ> ou mesmo os conjuntos
Extensões <.NDE>
São os índices associados aos arquivos <.MAX>.
Extensão <.UDB>:
Trata-se do arquivo que, associado ao arquivo
<.MAX>, armazena parâmetros de configuração
do mapa, tais como os valores de cores, escalas,
para cada nível de informação, etc.
Extensão <.KEY>:
Tratam-se de arquivos texto, que armazenam
chaves de acesso de elementos gráficos que serão
utilizados como âncoras para geração
representações voláteis8, alcançando-se assim a
geração de mapas temáticos.
8 A expressão representação volátil refere-se ao recurso apresentado pelo dbMapa
que permite mostrar símbolos, círculos, cores e outras representações gráficas, sem
que sejam elementos gráficos efetivamente contidos nos arquivos dos mapas
digitais.
- 73 -
Extensão <.TMG>:
As diversas representações temáticas efetuadas
sobre um mapa digital, são armazenadas em
arquivos denominados de temas, os quais
apresentam a extensão <.TMG>.
Extensão <.PLV>:
Tratam-se de arquivos texto, que armazenam
pares de coordenadas que definem uma polilinha
virtual (ou polígono), utilizada para
representações voláteis. O formato destes arquivos
deve ser: x,y
- - -OOO - - -
- 74
dbMAPA EXPRESS – CONVERSÃO DE MAPAS
Devido a estrutura de arquivos do dbMapa ser diferente do
MaxiCAD32, torna-se necessário um processo de
transformação de arquivos <.CAD> para <.Max>. Isso é
alcançado através do comando ARQUIVOS opção EXPORTAÇÃO
disponível no MaxiCAD32.
No entanto deve-se previamente configurar as diferenças entre
os formatos <.CAD> e <.MAX>, pois enquanto o primeiro atua
com conjuntos de símbolos e caracteres (arquivos maxi??.sim e
max??.chr), o dbMapa atua com fontes TrueType e além disso
reconhece apenas uma parte dos códigos de uso informados
nos arquivos de Projeto (<.PRJ>).
PARAMETRIZAÇÃO DE CARACTERES: No MaxiCAD32, ou seja, em
arquivos <.CAD>, os códigos de uso de caracteres variam de 0
a 999 e os conjuntos com os formatos de caracteres estão em
arquivos do tipo
Quanto a Códigos de Uso: No dbMapa, ou seja, em
arquivos <.MAX>, os códigos de uso de caracteres
variam de 0 a 99. O processo de exportação considera
somente esta faixa de códigos existentes no arquivo de
projeto <.PRJ>.
Portanto, caso o arquivo <.CAD> utilize códigos de uso
acima do número 99, ajustar os códigos para a faixa
aceitável, ou então através do botão CONFIGURAR
CARACTERES MAXICAD32 PARA FORMATO MAX (disponível
no comando ARQUIVOS opção CONFIGURAÇÃO opção EXPORTAÇÃO
MAX) informar a correlação que deverá ser considerada.
- 75 -
Quanto ao fonte TrueType a ser considerado: A
exportação de textos de um arquivo <.CAD> para
<.MAX> leva em conta que:
1.
Se ao código de uso do texto estiver atribuído um
fonte TrueType, este fonte será repassado ao
texto em questão no arquivo <.MAX>;
2.
Os códigos de uso que não estiverem vinculados
a fontes TrueType serão exportados para o
arquivo <.MAX> de acordo com o fonte
TrueType especificado na seção FONTES (comando
ARQUIVO, opção CONFIGURAÇÃO, opção PROJETO).
Se nesta seção FONTES não houver nenhuma
indicação de fonte TrueType, o processo de
exportação considerará o fonte Arial como o
padrão.
PARAMETRIZAÇÃO DE SÍMBOLOS: importante que se tenha de
forma clara as diferenças existentes entre o dbMapa e o
MaxiCAD32 na forma de atuar com os símbolos. Em arquivos
<.CAD>, os códigos de uso de símbolos variam de 0 a 999 e os
conjuntos com os formatos de símbolos estão em arquivos do
tipo
vetoriais.
Quanto a Códigos de Uso: No dbMapa, ou seja, em
arquivos <.MAX>, os códigos de uso de símbolos
variam de 0 a 99. O processo de exportação considera
somente esta faixa de códigos existentes no arquivo de
projeto <.PRJ>.
- 76 -
Portanto, caso o arquivo <.CAD> utilize códigos de uso
acima do número 99, ajustar os códigos para a faixa
aceitável, ou então através do botão CONFIGURAR
SÍMBOLOS MAXICAD32 PARA FORMATO MAX (disponível no
comando ARQUIVOS opção CONFIGURAÇÃO opção EXPORTAÇÃO
MAX) informar a correlação que deverá ser considerada.
Quanto ao fonte TrueType a ser considerado: A
exportação de símbolos de um arquivo <.CAD> para
<.MAX> leva em conta que:
1.
se ao código de uso do símbolo estiver atribuído
um fonte TrueType, este fonte será considerado
no arquivo <.MAX>.;
2.
os códigos de uso que não estiverem vinculados a
fontes TrueType, serão exportados para o
arquivo <.MAX> de acordo com o fonte
TrueType especificado na seção FONTES (comando
ARQUIVO, opção CONFIGURAÇÃO, opção PROJETO).
Se nesta seção FONTES não houver nenhuma
indicação de fonte TrueType, o processo de
exportação considerará o fonte Wingdings como
padrão.
Quanto ao código do símbolo no conjunto: O dbMapa
considera símbolos contidos em fontes TrueType, e que
estejam entre os valores 33 a 255. Assim, os símbolos
que porventura estiverem codificados nos conjuntos
considerados.
- 77 -
CONFIGURANDO SIMBOLOS VETORIAIS PARA FONTES TRUE TYPE:
Enquanto em símbolos vetoriais, a origem é definida pelo
usuário, em fontes TrueType o ponto de ancoragem é sempre
no centro da célula. Tal diferença obriga cuidados em 2
aspectos:
Primeiro Cuidado:
No momento da criação de um símbolo num conjunto
True Type (o que é alcançado com editores gráficos tipo Corel Draw
e outros) é importante levar em conta que o ponto de
ancoragem será obrigatoriamente no centro da célula. Ou
seja, dependendo do formato do símbolo e do local que
deve ser entendido como o seu ponto de ancoragem, o
símbolo deverá apresentar-se deslocado na célula
definidora do conjunto TrueType.
Exemplo 1: se o símbolo for uma seta em que seu
ponto âncora deve ser a ponta da seta, o desenho do
símbolo deverá ser como na figura ao lado:
Exemplo 2: se o símbolo for uma figura regular
(quadrado, hexágono, círculo,...) e que o seu ponto
âncora seja seu centro, então sim o desenho do símbolo
poderá ocupar toda a célula.
Segundo Cuidado:
Devido a dimensão definida aos símbolos referir-se a
dimensão da célula, levar em conta que caso o símbolo
apresente-se deslocado na célula, o valor da dimensão
que se pretende dar ao símbolo deverá ser ajustado na
mesma proporção das dimensões que o símbolo tem em
relação a célula.
- 78 -
dbMAPA EXPRESS – UMA VISÃO GERAL
O dbMapa Express apresenta-se ao usuário conforme a
aparência abaixo:
Bloco de botões
para navegação
Bloco de botões personalizáveis.
Janelas para
mapas
Linha de Status
Menu de Comandos:
Janela / Níveis / Temas / Selecionar / Toolbox / Configurar / Sair
- 79
-
COMANDO JANELA: Este comando destina-se ao manuseio das
janelas que recebem os mapas digitais.
Nova: possibilita a criação de uma nova janela, observando que
cada janela estará vinculada a um mapa (arquivo <.MAX>). Ao
abrir uma nova janela, o dbMapaExpress estará pronto a operar
opções de navegação (zooms, deslocamentos laterais, etc) sobre
este mapa. A opção padrão é a de Janela Visual a qual apresenta-se
na forma de um cursor-retângulo. Para selecionar outras opções de
navegação utilizar o botão direito do mouse, o qual apresentará as
diversas opções, inclusive apontando qual está selecionada.
•
Janela Visual – permite o usuário definir área de interesse
•
Novo Centro – mantem a escala de visualização mas
permite o usuário definir um novo centro de sua
visualização;
•
Menos Janela – diminue a visão do mapa mas mostra em
mais detalhes
•
Mais Janela – amplia a visão do mapa, mas perde-se
detalhes;
•
Janela Por Escala – permite definir numericamente a escala
de visualização
•
Redesenho – apresenta o mapa em visão geral.
Fechar: encerra a janela que está com o foco da operação.
Organizar: opção destinada a visualização de várias janelas
simultaneamente. Permite organizar as janelas verticalmente,
horizontalmente e em cascata. Estes mesmos recursos podem ser
alcançados através dos botões:
Lista: opção que apresenta a relação dos mapas que estão
atribuídos a cada janela, inclusive com a arvore de diretórios.
Sincronizar: através do botão
efetua-se a sincronização entre
janelas, o que significa que qualquer operação de navegação numa
janela implica num ajuste da visualização da outra janela. Para que
a sincronização opere, é necessário que as coordenadas dos mapas
em cada janela apresentem correspondência.
- 80 -
COMANDO NÍVEIS: Este comando além de permitir a ativação e
desativação dos níveis de informação de um mapa digital,
proporciona recursos para configurações dos elementos
gráficos contidos nesses níveis bem como permite a
parametrização para ativação e desativação de acordo com a
escala de visualização. O detalhamento dos recursos
disponíveis a este comando encontram-se detalhados no
capítulo dbMAPA EXPRESS – PREPARAÇÃO DE MAPAS.
COMANDO TEMAS: Refere-se ao conjunto de recursos que
permite apresentar sobre um mapa digital diferentes
representações de um mesmo ou de vários temas sem que
esses estejam efetivamente contidos no mapa em questão.
Ou seja, os temas não fazem parte do mapa digital, mas são
gerados no momento da apresentação e podem ser entendidos
como um elemento volátil indicado através de dados textuais
externos (por digitação ou arquivos de transição).
O detalhamento dos recursos disponíveis a este comando
encontram-se detalhados no capítulo dbMAPA EXPRESS –
PREPARAÇÃO DE MAPAS.
COMANDO SELECIONAR:
Modos de operação podem ser entendidos como as diferentes
funcionalidades que são alcançadas como o movimento e clique do
mouse. O modo de operação padrão é o modo navegação, ou seja,
aquele que permite efetuar-se zooms e deslocamentos. Os demais
modos são: modo seleção (de entidade, de área ou de círculo) e
modo seguir mouse.
As opções do Comando Selecionar são:
- 81 -
Entidade: com esta opção altera-se a utilização do dbMapaExpress do
modo navegação para o modo seleção, significando a disponibilização
de recurso que permite apontar um elemento gráfico com o clicar
do mouse, ficando ele (o elemento gráfico) disponível para ser
utilizado por algum outro processo.
A simples seleção de um elemento gráfico já mostra na linha de
status, o código (chave de acesso) correspondente. Se este código
for precedido com o sinal $, significa que o código atribuído ao
elemento gráfico foi gerado automaticamente pelo dbMapaExpress.
Desmarcar: libera a entidade marcada, e retorna para o modo navegação.
Área: possibilita a definição de uma área retangular e a geração do
evento Selecionou Área, possibilitando através do VBScript a
programação de outras funcionalidades, tais como definição de
elementos contidos, cálculo de área, etc.
Círculo: possibilita a definição de uma área retangular e a geração do
evento Selecionou Círculo, possibilitando através do VBScript a
programação de outras funcionalidades, tais como definição de
elementos contidos, cálculo de área, etc..
Seguir Mouse: o modo seguir mouse destina-se as funcionalidades de
obtenção de coordenadas. Estas funcionalidades, escritas em
VBScript, normalmente utilizam os eventos Moveu Mouse ou Clicou
Mouse.
COMANDO TOOLBOX: Refere-se ao conjunto de recursos que
permite atuar com os botões personalizáveis. São eles:
Editar: com esta opção o usuário do dbMapaExpress alcança recursos
para programação de cada botão, bem como a programação do
processo que deve ser executado a partir dos eventos ocorridos na
janela que contem o mapa digital.
O detalhamento dos recursos de programação encontra-se no
capítulo PROGRAMANDO COM O DBMAPAEXPRESS
Visível: com esta opção inibe-se ou ativa-se a apresentação do
toolbox de navegação e do bloco de botões personalizáveis.
- 82 -
COMANDO CONFIGURAR: Proporciona recursos para
configuração da área de trabalho do dbMapa, dos mapas que
deverão ser automaticamente disparados, da organização das
janelas e outras. Para tanto este comando apresenta a seguinte
tela:
Configuração
das Janelas.
Permite adicionar
mapa na relação.
Relação dos Mapas
que serão disparados.
O duplo-clic pemite a
edição da configuração.
Botão para indicar o arquivo
que deverá ser atribuído ao mapa.
- 83 -- 84 -
dbMAPA EXPRESS – PREPARAÇÃO DE MAPAS
Os mapas digitais, quando ainda em formatos <.CAD> e
mesmo quando recém convertidos para formatos <.MAX>,
apresentam aparência essencialmente técnica, inadequada para
utilização em sistemas de informação. Para tanto, devem ser
preparados de forma a se tornarem mais agradáveis, através
da apresentação de espessuras, preenchimentos, visualizações
compatíveis a diversas escalas, colorizações, seqüência da
apresentação dos níveis e outras.
Essa preparação consta então de procedimentos de produção
efetuados com o MaxiCAD32 e de parametrizações indicadas
com o dbMapaExpress.
No aspecto do MaxiCAD32 os mais importantes são, a
densificação de textos e a ordenação dos níveis de informação,
atividades estas que não são objetos deste livro. Já com o
dbMapaExpress indicam-se cores, preenchimentos e ajusta-se a
ordenação da apresentação dos elementos gráficos com base
nas escalas de visualização.
Para tanto, os comandos NÍVEIS e TEMAS apresentam recursos
que devidamente combinados são capazes de proporcionar
visualizações agradáveis e de fácil entendimento de qualquer
região e em qualquer escala .
- 85
-
PREPARAÇÃO DOS NÍVEIS DE INFORMAÇÃO: O dbMapaExpress
apresenta os níveis de informação conforme a seqüência em
que eles encontram-se no mapa digital. A ativação e a
parametrização dos níveis de informação é alcançada através
de tela com a seguinte aparência:
Permite a edição da
Indica que o nível de
Indica a cor do traço e do
preenchimento, quando for o caso.
Indica a ativação do
nível de informação.
configuração do
informação será ativa-
Nível de Informação.
do conforme escalas
de visualização.
Número do Nível
Descrição do Nível
de Informação
de Informação.
utilizado somente
pelo MaxiCAD32.
Indica que os
elementos gráficos do
nível de informação em
questão serão ativados
quando a escala de
visualização estiver
Permite a seleção
entre os valores
de cores para o
informados.
traço e para
o
preenchimento,
quando existirem
Para desativar a
polígonos.
visualização por
A seleção do
escala, informar 0
PRETO significa
(zero) em ambos
sem cor.
os campos.
- 86 -
Indica a ativação do
nível de informação. nível de informação.
Indica o tipo de representação
temática, inclusive com a cor
Permite a edição da
definição de um
tema selecionado.
Permite salvar todos
os temas ativos num
arquivo <.TMG>
Permite abrir um
arquivo <.TMG> que
contém temas.
Permite a definição
de um novo tema.
PREPARAÇÃO DE TEMAS: O dbMapaExpress apresenta os temas
conforme a seqüência em que eles foram definidos. A ativação
e a parametrização dos temas é alcançada através de tela com a
seguinte aparência:
- 87
-
As definições dos Temas são efetuadas através de tela com a
seguinte aparência:
Campo Chave: campo para ser informado o código do
elemento gráfico (chave de acesso) a ser mostrado ou utilizado
como âncora para a representação volátil. Outras opções:
Arquivo: para se apresentar vários elementos gráficos, ou mesmo
utilizá-los como âncoras para representações voláteis, relacionar os
códigos num arquivo <.KEY> e informar seu nome neste campo,
precedido do sinal @.
Nível: para se utilizar os elementos gráficos de um nível de
informação como âncoras para representações voláteis, informar
neste campo a descrição do Nível de Informação, precedido do
sinal %.
- 88
Coordenadas: para se utilizar um par de coordenadas como âncora
para uma representação volátil, informar o par de coordenadas,
precedida do sinal #
.
O formato para esta entrada deverá ser #xxxxxxx.xxxByyyyyyyy.yy
observando que B trata-se de um espaço em branco, e que não
existe obrigatoriedade quanto a quantidade de decimais.
Polígono Virtual: para se apresentar uma polilinha cujas
coordenadas estejam armazenadas num arquivo tipo <.PLV>
,
informar neste campo o nome do arquivo precedido do sinal &
.
Quando trata-se de um polígono, as coordenadas do ultimo ponto
devem ser idênticas a do primeiro ponto.
Campo Descrição: campo para ser informada a descrição do
tema.
Caixa de Seleção Volátil: ao indicar-se esta caixa, significa que
o elemento gráfico indicado no campo Chave será utilizado
como âncora para representação volátil, caso contrário o
elemento gráfico será apresentado conforme suas próprias
definições. Sua ativação faz surgir as Guias para Representação
Volátil (chave, símbolo, círculo, texto, ligação, pizza e imagem).
Caixa de Seleção Preferencial: ao indicar-se esta caixa significa
que o tema será apresentado com prioridade, ou seja, antes de
mostrar os níveis de informação.
Ordem de apresentação: a apresentação de um elemento pode se
sobrepor a outros elementos já mostrados, por isso a importância
da ordem de apresentação ser cuidadosamente preparada. O
dbMapaExpress assume a seguinte seqüência de apresentação:
1. Temas indicados como preferenciais
2. Níveis de informação
3. Temas sem a indicação de preferenciais
- 89 -
Campo Escalas: campo para serem informadas escalas em que
o tema deverá ser apresentado. Significa que o tema será
apresentado somente quando as visualizações estiverem
dentro das escalas (mínima e máxima) fornecidas.
Guias Para Representação Volátil
As guias, disponibilizadas a partir da ativação da caixa de
seleção volátil, permitem o usuário definir interativamente a
representação temática volátil pretendida.
Guia Chave: permite
configuração da cor,
espessura e unidade do
traço a ser utilizado, bem
como a cor e tipo do
preenchimento se
o
elemento gráfico for
polígono.
Guia Símbolo: permite
configuração da cor, da
dimensão, do ângulo de
aplicação, da seleção do
do fonte TrueType e do
caractere nele contido.
Guia Círculo: permite
configuração da cor da
borda e do preenchimento
do círculo a ser
mostrado, bem como da
dimensão e da unidade
desta dimensão.
- 90 -
Guia Texto: permite a
configuração da cor, a
seleção do fonte True
Type, a digitação do
texto, e indicação da
dimensão dos caracteres.
Guia Ligação: com esta
guia define-se uma linha
que inicia no elemento
gráfico fornecido no
campo Chave e finaliza
no elemento gráfico cujo
código estiver informado
no cógido elemento.
Guia Pizza: permite
definir a dimensão da
pizza, a quantidade de
fatias e percentual de
cada uma, bem como
suas cores.
Guia Imagem: permite
informar o arquivo de
imagem <.BMP> que
será atribuído ao
elemento gráfico informado
no campo Chave.
Exemplo para Praticar: Com o objetivo de facilitar o
entendimento acerca destas configurações, abra uma nova
janela no dbMapaExpress com o mapa
no comando TEMAS abrir o arquivo
isso sua visualização, após ajuste do zoom, será como segue,
e será possível através do comando TEMAS, editar cada uma
das definições e verificar as alterações produzidas na
visualização do mapa.
- 91
-
- 92
PROGRAMANDO COM O dbMAPAEXPRESS
Os mapas digitais abertos com o dbMapaExpress podem ser
vinculados a outros processos, tanto na forma de objeto cliente
como objeto servidor.
Para tanto, a cada mapa vinculado a uma das janelas pode-se
estabelecer um conjunto próprio de botões personalizados,
bem como é possível programar para cada mapa, diferentes
processos a partir de procedimentos efetuados
interativamente.
Para facilitar a programação, o dbMapaExpress disponibiliza,
através do comando TOOLBOX opção EDITAR, uma interface
com recursos para edição do Script, e para a programação de
cada um dos botões personalizáveis.
Apesar desta interface facilitar sobremaneira a programação de
processos e dos botões personalizáveis, o usuário do
dbMapaExpress terá maior facilidade para o desenvolvimento
de soluções mais complexas, tanto quanto maior for seu
conhecimento em lógica de programação e na linguagem
VBScript9 e nos princípios de programação orientada a objetos.
Neste aspecto, importante destacar os EVENTOS, MÉTODOS e
PROPRIEDADES reconhecidos pelo dbMapaExpress, os quais
receberam denominações que sugerem suas funcionalidades e
que quando convenientemente combinados são capazes de
propiciar visualizações e navegações apropriadas.
9 Instruções acerca do VBScript podem ser consultadas no endereço:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vbscripttoc.asp
- 93 -
EVENTOS
Quando se efetua algum procedimento sobre o mapa digital, o
dbMapaExpress gera eventos, os quais receberam
denominações sugestivas com a operação efetuada sobre o
mapa. Estes eventos destinam-se a programar as ações
(métodos) que deverão ser tomadas como uma resposta à
operação efetuada. Os eventos gerados são:
•
evento Ao Abrir: este evento é gerado quando seleciona-se um
mapa digital para uma nova janela;
•
evento Ao Fechar este evento é gerado quando fecha-se uma
janela na qual consta selecionado um
mapa digital;
•
evento Moveu Mouse: este evento é gerado com o movimento do
mouse quando o modo de operação
for o Seguir Mouse (modo este obtido
através do comando SELECIONAR ou
mesmo com a inserção do método
Seguir Mouse);
•
evento Clicou Mouse: este evento é gerado com o clic do mouse
quando o modo de operação for o
Seguir Mouse (modo este obtido
através do comando SELECIONAR ou
mesmo com a inserção do método
Seguir Mouse);
•
evento Mudou Marcada: este evento é gerado quando seleciona-se
um elemento gráfico do mapa,
quando o modo de operação for o
Seleção de Entidade (modo este obtido
através do comando SELECIONAR
opção ENTIDADE);
- 94 -
•
evento Selecionou Área: este evento é gerado quando define-se um
retângulo sobre o mapa digital. Este
procedimento somente é possível
quando o modo de operação for o
Seleção de Área (modo este obtido
através do comando SELECIONAR
opção ÁREA).
•
evento Selecionou Círculo este evento é gerado quando define-se
um círculo sobre o mapa digital. Este
procedimento somente é possível
quando o modo de operação for o
Seleção de Círculo (modo este obtido
através do comando SELECIONAR
opção CÍRCULO).
•
evento Mudou Janela: este evento é gerado sempre que for
solicitado algum zoom ou alterada a
dimensão da janela do mapa, ou
mesmo sempre que efetuado um
redesenho
- 95
-
MÉTODOS
Os métodos são operações efetuadas sobre os mapas seja por
ação do usuário, seja como uma reação a algum dos eventos.
Esses métodos, ao serem selecionados e inseridos no script do
evento (ou do botão personalizado) mostram um código fonte
com comentários que indicam as complementações e
parâmetros que o usuário deverá efetuar e informar, bem como
permite a inclusão de todas as funções, operadores e condições
disponíveis na linguagem VBScript. Os métodos disponíveis
são:
•
método Abrir Mapa
sintaxe:
L = Script_OOP.AbrirMapaExpress(mapa,somente_leitura,senha,udbpath)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital a ser aberto.
P.ex.: = "c:\mapas\demo.max”
•
somente_leitura: atribuir a este argumento a palavra False ou True conforme o
arquivo deva ser aberto respectivamente para edição ou leitura. P.ex.:
somente_leitura = False
•
senha: caso o mapa tenha sido preparado com alguma proteção, a este campo
deve-se atribuir a senha desta proteção, observando que ela deve estar entre
aspas. P.ex.: senha=””
•
udbpath: caso o arquivo <.UDB> esteja armazenado em pasta diferente da
pasta do arquivo <.MAX> informar o caminho entre aspas, caso contrário
informar tão somente as aspas. P.ex.: udbpath = ""
- - -OOO - -
- 96
- - -OOO - - -
•
método Abrir MS Access'
Este método deve ser atribuído ao evento Ao Abrir
sintaxe:
Dim acc ' True ou False
Set acc = CreateObject("Access.Application") ' abre o MS Access
acc.OpenCurrentDatabase "caminho"
acc.Visible = True ' mostra
l = Script_OOP.AtivarJanelaExpress(".") ' mostra
Argumentos:
•
caminho: deve conter o nome do arquivo <.MDB>.
•
acc.Visible: atribuir a este argumento a palavra False ou True conforme o
interesse da janela tornar-se visível ou não.
•
método Apagar Nível
sintaxe:
L = Script_OOP.ApagarNivelExpress(mapa,nivel,imediato)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital.
P.ex.: = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.
”
•
nível: atribuir a este argumento a descrição do nível de informação a ser
desativado, e deve estar entre aspas. P.ex.: nível = “Bairros”
•
imediato: atribuir a este argumento a palavra False ou True conforme o nível
deva ser imediatamente desativado ou tão apenas marcado para ser
desativado na atualização da janela. P.ex.: imediato = True
- 97
-
•
método Apagar Tema
sintaxe:
L = Script_OOP.ApagarTemaExpress(mapa,descricao,imediato)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital.
P.ex.: = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.”
•
descricao: atribuir a este argumento a descrição do tema a ser desativado, e
deve estar entre aspas. P.ex descricao = “Bairros”
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente desativado ou tão apenas marcado para ser
desativado na atualização da janela. P.ex.: imediato = True
•
método Ativar Janela
sintaxe:
L = Script_OOP.AtivarJanelaExpress("janela")
Argumentos:
•
janela: este argumento deve conter o nome da janela com mapa, que deve
receber o foco. P.ex.: = "c:\mapas\demo.max”.
•
método Ativar Tema
Este método destina-se a ativar um tema que já esteja carregado
para o mapa em questão. Não confundir este método com o
método Carregar Temas.
sintaxe:
L = Script_OOP.AtivarTemaExpress(mapa,tema,imediato)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital.
P.ex.: = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.”
•
tema: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex tema = “Vermelho”
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True
- 98 -
•
método Atualizar Mapa
Este método destina-se a atualizar a visão corrente, principalmente
quando foram alteradas as situações de temas ou níveis e estas
ainda não tenham sido ativadas.
sintaxe:
L = Script_OOP.AtualizarExpress(mapa)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital cuja visualização deve
ser atualizada. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”
•
método Carregar Temas
Este método destina-se a carregar temas que estejam indicados em arquivos
<.TMG>.
sintaxe:
L = Script_OOP.CarregarTemasExpress(mapa,arquivo,substituir)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital, ao qual deverão ser
atribuídos os temas em questão. P.ex.:mapa = "c:\mapas\demo.max”. Se for o
mapa corrente utilizar “.”
•
arquivo: atribuir a este argumento o nome do arquivo <.TMG> que contém os
temas que deverão ser carregados.
•
substituir: atribuir a este argumento a palavra True ou False conforme os
temas a serem carregados devam ou não substituir temas eventualmente já
carregados. P.ex.: substituir = True
•
método Executar Função do MS-Access
Este método destina-se a carregar temas que estejam indicados em
arquivos <.TMG>.
sintaxe:
acc.Run funcao, argumento1
Argumentos:
•
funcao: deve conter o nome da função a ser executada no MS-Access, cuja
descrição deve estar entre aspas. P.ex.: função = "informacoes”
•
argumento1: atribuir a este argumento os argumentos que a função
anteriormente especificada necessita para seu funcionamento. Deverá estar
aspas.
- 99 -
•
método Fechar dbMapa
sintaxe:
L = Script_OOP.FecharExpress()
•
método Fechar Mapa
sintaxe:
Ll = Script_OOP.FecharMapaExpress(mapa)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital a ser fechado.
P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.”
•
método Fechar MS Access
sintaxe:
Set acc = Nothing
Observação:
• Este método deve ser inserido no evento Ao Fechar do Mapa
•
método Gravar Arquivo Texto
sintaxe:
Set fso = CreateObject("Scripting.FileSystemObject"
Set f = fso.OpenTextFile(arquivo,modo,criar)
linha = "texto"
f.WriteLine linha ' grava linha com CR+LF no final
f.Close
Set fso = Nothing
Argumentos:
•
arquivo: deve conter o nome do arquivo texto a ser utilizado. P.ex.: arquivo =
“c:\mapas\resultado.txt"
•
modo: deve conter o código que indica o tipo de operação a ser efetuada sobre
o arquivo texto ( 1 = leitura, 2 = gravação 8 = append). P.ex.: modo = 2
•
criar: deve conter a indicação de criação de arquivo caso ainda não exista,
através das palavras TRUE ou FALSE. P.ex.: criar = True
•
linha: atribuir a este argumento o texto que será gravado
- 100
•
método Gravar Metafile
sintaxe:
l = Script_OOP.GravarMetafileExpress(mapa,arquivo)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
arquivo: deve conter o nome do arquivo <.EMF> a ser criado. P.ex.: arquivo =
“c:\mapas\imagem.emf".
•
método Imprimir
sintaxe:
l = Script_OOP.ImprimirExpress(mapa,minx,miny,maxx,maxy,escala,
offsetx,offsety,moldura)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
minx: trata-se da coordenada X do canto esquerdo inferior do retângulo a ser
impresso. Para se imprimir a janela de visualização corrente atribuir a esta
variável o seguinte script: minx = Script_OOP.MinX_Janela;
•
miny: trata-se da coordenada Y do canto esquerdo inferior do retângulo a ser
impresso. Para se imprimir a janela de visualização corrente atribuir a esta
variável o seguinte script: miny = Script_OOP.MinY_Janela;
•
maxx: trata-se da coordenada X do canto direito superior do retângulo a ser
impresso. Para se imprimir a janela de visualização corrente atribuir a esta
variável o seguinte script: maxx = Script_OOP.MaxX_Janela;
•
maxy: trata-se da coordenada Y do canto direito superior do retângulo a ser
impresso. Para se imprimir a janela de visualização corrente atribuir a esta
variável o seguinte script: maxy = Script_OOP.MaxY_Janela;
•
escala: atribuir a este argumento o valor da escala que a impressão deverá
apresentar. Para se imprimir conforme a escala da visualização corrente,
atribuir a este argumento: escala = Script_OOP.Escala_Janela;
•
offsetx: atribuir a este argumento o valor do deslocamento (em milímetros) que
o quadro a ser impresso deverá apresentar em relação a borda esquerda da
folha. P.ex.: offsetx = 10
•
offsety: atribuir a este argumento o valor do deslocamento (em milímetros) que
o quadro a ser impresso deverá apresentar em relação a borda inferior da
folha. P.ex.: offsety = 15
•
modura: atribuir a este argumento a palavra TRUE ou FALSE conforme o
objetivo de apresentar ou não, um retângulo correspondente a uma moldura da
impressão.
DICA: utilizando-se para os argumentos minx, miny, maxx e maxy as coordenadas dos
cantos da janela de visualização corrente, é conveniente que a janela do Mapa seja
re-dimensionada de forma a ficar proporcional a dimensão da folha de impressão.
Desta forma , a visualização pode ser entendida como um preview da impressão.
O re-dimensionamento da janela do mapa de modo a torna-la proporcional a folha de
impressão pode ser efetuada visualmente através das alças disponíveis nas bordas da
janela, ou mesmo configurando-a através do método Posicionar Janela.
•
método Janela Por Chave
sintaxe:
l = Script_OOP.JanelaPorChaveExpress(mapa,chave)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
chave: atribuir a este argumento o código do elemento gráfico que o
dbMapaExpress deverá considerar para efetuar o zoom. P.ex.: chave = “MS”.
Para se considerar uma visão que considere vários elementos gráficos, os
códigos destes elementos deverão estar relacionados num arquivo texto e o
valor a ser atribuído ao argumento chave deverá ser o nome do arquivo
precedido do sinal @. P.ex.: chave = “@c:\dbmapa\estados.key”
•
método Janela Por Coordenadas
sintaxe:
l = Script_OOP.JanelaPorCoordenadasExpress(mapa,minx,miny,maxx,maxy)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
minx e miny: trata-se das coordenadas X e Y do canto esquerdo inferior do
retângulo a ser visualizado;
•
maxx e maxy: trata-se das coordenadas X e Y do canto direito superior do
retângulo a ser visualizado;
- 101
-
- 102
•
método Ler Arquivo Texto
sintaxe:
Set fso = CreateObject("Scripting.FileSystemObject"
)
Set f = fso.OpenTextFile(arquivo,modo)
Do While f.AtEndOfStream <> True ' loop para ler o arquivo
linha = f.ReadLine
' trata a linha lida
Loop
f.Close ' fecha
Set fso = Nothing
Argumentos:
•
arquivo: nome do arquivo a ser lido. P.ex.:arquivo = "c:\mapas\geral.txt”;
•
modo: deve conter o código que indica o tipo de operação a ser efetuada sobre
o arquivo texto ( 1 = leitura, 2 = gravação 8 = append). P.ex.: modo = 1;
•
método Ler Informações
sintaxe:
p = Script_OOP.LerInformacoesExpress(mapa,chave,arquivo)
if p <> "" then
infos = split(p,";"
)
chave = infos(0)
area = infos(1)
perimetro = infos(2)
menorx = infos(3)
menory = infos(4)
maiorx = infos(5)
maiory = infos(6)
xcentro = infos(7)
ycentro = infos(8)
xinicio = infos(9)
yinicio = infos(10)
xfinal = infos(11)
yfinal = infos(12)
end if
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado.
•
chave: atribuir a este argumento o código do elemento gráfico que se pretende
recuperar informações. Para se recuperar as informações de todos os
elementos gráficos contidos num nível de informação, atribuir a este
argumento a descrição do nível precedida do sinal %.
•
arquivo: este argumento será utilizado quando ao argumento chave estiver
atribuída a descrição do nível. Neste caso, deverá ser atribuído o nome do
arquivo texto que receberá o resultado. P.ex.: arquivo =
“c:\dbmapa\resultado.txt”
- 103 -
•
método Limitar Escala
sintaxe:
l = Script_OOP.LimitarEscalaExpress(mapa,escalaminima,escalamaxima,
usarniveisautomaticos,usartemasautomaticos,limitarescala)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
escalaminima e escalamaxima: nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao mapa;
•
usarniveisautomáticos: atribuir a este argumento a palavra TRUE ou FALSE
conforme o objetivo de ativar ou não os níveis setados com programação de
escalas;
•
usartemasautomaticos: atribuir a este argumento a palavra TRUE ou FALSE
conforme o objetivo de ativar ou não os temas setados com programação de
escalas;
•
limitarescala: atribuir a este argumento a palavra TRUE ou FALSE conforme o
dbMapa deva ou não operar apenas entre as escalas fornecidas nos
argumentos escalamínima e escalamáxima;
•
método Listar Níveis
sintaxe:
p = Script_OOP.ListarNiveisExpress(mapa,arquivo)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
arquivo: a este argumento deverá ser atribuído o nome do arquivo que
receberá a listagem dos níveis do mapa digital. P.ex.: arquivo =
“c:\dbmapa\resultado.txt”. Os registros deste arquivo apresentam 7 campos,
separados por ponto e vírgula, na seguinte ordem:
o
Número do Nível de Informação;
o
Descrição do Nível de Informação;
o
Cor do Traço (em hexadecimal)
o
Espessura do traco;
o
Cor do Preenchimento;
o
Escala mínima;
o
Escala máxima.
- 104
•
método Marcar Entidade
sintaxe:
l = Script_OOP.MarcarEntidadeExpress(mapa,chave,marcar)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
chave: este argumento deve conter o código do elemento gráfico que se
pretende marcar. A este argumento pode-se também atribuir um par de
coordenadas, significando que o dbMapaExpress localizará dentre os níveis
ativos o elemento gráfico que estiver mais próximo da coordenada fornecida. O
formato para este argumento receber coordenadas deverá ser:
P.ex.: chave = “#xxxxxxxxx yyyyyyyyyy” ou chave = “#Gxxxxxxxx yyyyyyyyy”
•
método Maximizar dbMapa
sintaxe:
l = Script_OOP.MaximizarExpress()
•
método Minimizar dbMapa
sintaxe:
l = Script_OOP.MinimizarExpress()
•
método Mostrar Nivel
sintaxe:
l = Script_OOP.MostrarNivelExpress(mapa,nivel,imediato)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
nível: atribuir a este argumento a descrição do nível de informação a ser
ativado, e deve estar entre aspas. P.ex.: nível = “Bairros”
•
imediato: atribuir a este argumento a palavra False ou True conforme o nível
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True
- 105 -
•
método Mostrar Tema
Este método destina-se a apresentar os elementos gráficos
exatamente como eles foram criados e encontram-se definidos no
arquivo do mapa digital.
sintaxe:
l = Script_OOP.MostrarTemaExpress(mapa,descricao,chave,antes,imediato,
escalaminima,escalamaxima)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que deverá ser
mostrado.
Para se apresentar vários elementos gráficos, os códigos destes elementos
deverão estar relacionados num arquivo tipo <.KEY>, o qual deverá ser
apontado a este argumento precedido do sinal @. P.ex.: chave =
“@c:\demo\chaves.key”
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema em questão.
•
método Mostrar Tema Círculo
sintaxe:
l = Script_OOP.MostrarTemaCirculoExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,cor,espessura,hachura,
preenchimento,raio,tipoesp,tiporaio,traco)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
- 106
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que será
utilizado como âncora para receber o círculo. P.ex.: chave = “REGIAO23”.
Este argumento pode também ser um par de coordenadas, devendo para tanto
iniciar com o sinal #. P.ex.: chave = “#xxxxxxxxx yyyyyyyyyy” ou chave =
“#Gxxxxxxxx yyyyyyyyy”.
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos ou mesmo as coordenadas dos pontos aos quais devem-se
apresentar os círculos. Observar que caso os registros do arquivo indiquem
coordenadas, esses devem iniciar com o sinal #.
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema.
•
cor: a este argumento deve-se atribuir a cor da linha de borda do círculo. P.ex.:
cor = RGB(100,230,15);
•
espessura: a este argumento deve-se atribuir a espessura da linha de borda
do círculo;
•
hachura: este argumento deve receber um valor que indique o tipo do
preenchimento. (0 = solido, 1 = horizontal, 2 = vertical, 3 = diagonal, 4 =
diagonal, 5 = cruz, 6 = cruz diagonal);
•
preenchimento: atribuir a este argumento a cor que pretende-se dar a parte
interna do círculo. P.ex.: preenchimento = RGB(100,155,255);
•
raio: informar neste argumento o valor do raio do círculo;
•
tipoesp: este argumento deve receber um valor que indique a unidade a ser
atribuída a espessura. (0 = mm/100, 1 = metros, 2 = pixels, 3 = mm/100 fixo);
•
tiporaio: este argumento deve receber um valor que indique a unidade a ser
aribuída ao raio. (0 = mm, 1 = metros, 2 = pixels, 3 = mm fixo);
•
traço: este argumento deve receber um valor que indique o tipo do traço a ser
atribuído a borda do círculo. (0 = solido, 1 = tracejado, 2 = pontilhado, 3 =
trac/pont, 4 = trac/trac/pont)
•
método Mostrar Tema Extendido
Este método destina-se a apresentar os elementos gráficos com o
seu formato original, no entanto, com possibilidade de re-definição
de cores, espessuras e hachuras.
sintaxe:
l
=
Script_OOP.MostrarTemaExtExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,cor,espessura,hachura,
preenchimento,tipoesp,traco)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que deverá ser
ativado. P.ex.: chave = “REGIAO23”.
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos a serem ativados;
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema;
•
cor: a este argumento deve-se atribuir a cor da linha de borda do círculo. P.ex.:
cor = RGB(100,230,15);
•
espessura: a este argumento deve-se atribuir a espessura da linha de borda
do círculo;
•
hachura: este argumento deve receber um valor que indique o tipo do
preenchimento. (0 = solido, 1 = horizontal, 2 = vertical, 3 = diagonal, 4 =
diagonal, 5 = cruz, 6 = cruz diagonal);
•
preenchimento: atribuir a este argumento a cor que pretende-se dar a parte
interna do elemento gráfico. Preenchimento = RGB(124,124,0)
•
tipoesp: este argumento deve receber um valor que indique a unidade a ser
atribuída a espessura. (0 = mm/100, 1 = metros, 2 = pixels, 3 = mm/100 fixo);
•
traço: este argumento deve receber um valor que indique o tipo do traço a ser
atribuído ao elemento gráfico. (0 = solido, 1 = tracejado, 2 = pontilhado, 3 =
trac/pont, 4 = trac/trac/pont)
- 107
-
- 108
•
método Mostrar Tema Imagem
Este método destina-se a apresentar os elementos gráficos com o
seu formato original, no entanto, com possibilidade de re-definição
de cores, espessuras e hachuras.
sintaxe:
l = Script_OOP.MostrarTemaImagemExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,imagem)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que será
utilizado como ponto de aplicação da imagem a ser apresentada. P.ex.: chave
= “REGIAO23”. Este argumento pode também ser um par de coordenadas,
devendo para tanto iniciar com o sinal #. P.ex.: chave = “#xxxxxxxxx
yyyyyyyyyy” ou chave = “#Gxxxxxxxx yyyyyyyyy”.
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos a serem considerados pontos de aplicação da imagem. Observar que
caso os registros do arquivo indiquem coordenadas, esses devem iniciar com o
sinal #.
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema;
•
imagem: informar neste argumento o nome do arquivo de imagem <.BMP> que
deverá ser mostrado.
•
método Mostrar Tema Ligação
Este método destina-se a apresentar uma linha entre 2 elementos
gráficos identificados pelas suas codificações, ou mesmo através
das coordenadas de 2 pontos.
sintaxe:
l = Script_OOP.MostrarTemaLigacaoExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,destino,cor,espessura,tipoesp,traco)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que será
utilizado como origem da ligação a ser apresentada. P.ex.: chave =
“REGIAO23”. Este argumento pode também ser um par de coordenadas,
devendo para tanto iniciar com o sinal #. P.ex.: chave = “#xxxxxxxxx
yyyyyyyyyy” ou chave = “#Gxxxxxxxx yyyyyyyyy”.
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos a serem considerados pontos de origem. Observar que caso os
registros do arquivo indiquem coordenadas, esses devem iniciar com o sinal #.
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema;
•
destino: atribuir a este argumento o código do elemento gráfico a ser utilizado
como destino da ligação, ou as coordenadas do ponto destino. Este argumento
limita-se a um único ponto.
•
cor: a este argumento deve-se atribuir a cor que a linha representativa da
ligação deverá apresentar. P.ex.: cor = RGB(100,230,15);
•
espessura: a este argumento deve-se atribuir a espessura da linha;
•
tipoesp: este argumento deve receber um valor que indique a unidade a ser
atribuída a espessura. (0 = mm/100, 1 = metros, 2 = pixels, 3 = mm/100 fixo);
•
traço: este argumento deve receber um valor que indique o tipo do traço a ser
atribuído ao elemento gráfico. (0 = solido, 1 = tracejado, 2 = pontilhado, 3 =
trac/pont, 4 = trac/trac/pont)
- 109
-
- 110
•
método Mostrar Tema Pizza
Este método destina-se a apresentar gráfico de pizza utilizando
como local de sua aplicação um elemento gráfico ou um par de
coordenadas.
sintaxe:
l = Script_OOP.MostrarTemaPizzaExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,fatias,raio,tiporaio,cor0,percentual0,
cor1,percentual1,cor2,percentual2,cor3,percentual3)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que será
utilizado como ponto de aplicação da pizza. P.ex.: chave = “REGIAO23”. Este
argumento pode também ser um par de coordenadas, devendo para tanto
iniciar com o sinal #. P.ex.: chave = “#xxxxxxxxx yyyyyyyyyy” ou chave =
“#Gxxxxxxxx yyyyyyyyy”.
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos a serem considerados pontos de aplicação. Observar que caso os
registros do arquivo indiquem coordenadas, esses devem iniciar com o sinal #.
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema;
•
fatias: informar a quantidade de setores que a pizza deverá apresentar. De
acordo com este valor, definir a quantidade dos argumentos cor e percentual;
•
raio: atribuir a este argumento o raio que a pizza deverá apresentar;
•
tiporaio: este argumento deve receber um valor que indique a unidade a ser
atribuída ao raio. (0 = mm, 1 = metros, 2 = pixels, 3 = mm fixo);
•
corn: atribuir a cor que deverá ter a fatia n. P.ex.: cor3 = RGB(100,230,15);
•
percentualn: informar neste argumento o tamanho da fatia n;
•
método Mostrar Tema Símbolo
Este método destina-se a apresentar gráfico de pizza utilizando
como local de sua aplicação um elemento gráfico ou um par de
coordenadas.
sintaxe:
l = Script_OOP.MostrarTemaSimboloExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,angulo,chrsimbolo,cor,fonte,
tamanho,tipotamanho)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
•
descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
•
chave: atribuir a este argumento o código do elemento gráfico que será
utilizado como ponto de aplicação do símbolo. P.ex.: chave = “REGIAO23”.
Este argumento pode também ser um par de coordenadas, devendo para tanto
iniciar com o sinal #. P.ex.: chave = “#xxxxxxxxx yyyyyyyyyy” ou chave =
“#Gxxxxxxxx yyyyyyyyy”.
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos a serem considerados pontos de aplicação. Observar que caso os
registros do arquivo indiquem coordenadas, esses devem iniciar com o sinal #.
•
antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
•
imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
•
escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema;
•
angulo: informar neste argumento o valor do ângulo, em graus. O valor
informado significa uma rotação no sentido anti-horário da célula do símbolo.
•
chrsimbolo: informar neste argumento o código do símbolo no fonte TrueType;
•
cor: atribuir a este argumento a cor pretendida ao símbolo. P.ex.: cor =
RGB(100,230,15);
•
fonte: informar neste argumento o nome do fonte TrueType. P.ex.: fonte =
“Wingdings”
•
tamanho: atribuir a este argumento a dimensão do símbolo;
•
tipotamanho: este argumento deve receber um valor que indique a unidade a
ser atribuída ao tamanho. (0 = mm, 1 = metros, 2 = pixels, 3 = mm fixo)
- 111
-
- 112
• método Mostrar Tema Texto
Este método destina-se a apresentar texto(s), utilizando como local
• tipotamanho: este argumento deve receber um valor que indique a unidade a
ser atribuída ao tamanho. (0 = mm, 1 = metros, 2 = pixels, 3 = mm fixo).
de sua aplicação elemento(s) gráfico(s) ou um par(es) de
coordenadas.
sintaxe:
l = Script_OOP.MostrarTemaTextoExpress(mapa,descricao,chave,antes,
imediato,escalaminima,escalamaxima,angulo,texto,cor,fonte,tamanho,tipotamanho)
• método Organizar Janelas
Este método destina-se a arranjar as janelas abertas no
Argumentos:
• mapa: deve conter o nome do arquivo do mapa digital que deverá ser
considerado. P.ex.:mapa = "c:\mapas\demo.max”. Se for o mapa corrente
utilizar “.”;
• descricao: atribuir a este argumento a descrição do tema a ser ativado, e deve
estar entre aspas. P.ex descricao = “Bairros” ;
• chave: atribuir a este argumento o código do elemento gráfico que será
utilizado como ponto de aplicação do texto. P.ex.: chave = “REGIAO23”. Este
argumento pode também ser um par de coordenadas, devendo para tanto
iniciar com o sinal #. P.ex.: chave = “#xxxxxxxxx yyyyyyyyyy” ou chave =
“#Gxxxxxxxx yyyyyyyyy”.
dbMapaExpress.
sintaxe:
l = Script_OOP.OrganizarExpress(tipo)
Argumentos:
• tipo: atribuir a este argumento um valor que indica o tipo de arranjo a ser dado
as janelas. (0 = cascata, 1 = horizontal, 2 = vertical, 3 = area total);
Este argumento pode ainda receber o nome de um arquivo texto (neste caso
precedido do sinal@) que contém a relação dos códigos dos elementos
gráficos a serem considerados pontos de aplicação dos textos. Observar que
caso os registros do arquivo indiquem coordenadas, esses devem iniciar com o
sinal #.
• método Posicionar dbMapa
Este método destina-se a posicionar a janela do dbMapaExpress na
área de trabalho do Windows.
• antes: atribuir a este argumento as palavras TRUE ou FALSE conforme o
objetivo do tema ser do tipo Preferencial, ou seja, aquele que deve ser
apresentado antes de outros elementos;
sintaxe:
l = Script_OOP.PosicionarExpress(esquerda,topo,largura,altura)
• imediato: atribuir a este argumento a palavra False ou True conforme o tema
deva ser imediatamente ativado ou tão apenas marcado para ser ativado na
atualização da janela. P.ex.: imediato = True;
• escalaminima e escalamaxima: : nestes argumentos devem ser informados os
valores limites para as visualizações a serem atribuídas ao tema;
• angulo: informar neste argumento o valor do ângulo, em graus que o texto
deverá apresentar. O valor informado significa uma rotação no sentido antihorário.
Argumentos:
• esquerda: atribuir a este argumento a quantidade de pixels que a janela deverá
apresentar em relação ao lado esquerdo da área de trabalho;
• topo: atribuir a este argumento a quantidade de pixels que a janela deverá
apresentar em relação a borda superior da área de trabalho;
• largura e altura: informar nestes argumentos a largura e altura da janela do
dbMapaExpress, em pixels;
• texto: atribuir a este argumento o texto que deverá ser apresentado, o qual
deverá estar entre aspas;
• cor: atribuir a este argumento a cor pretendida ao texto. P.ex.: cor =
RGB(100,230,15);
• fonte: informar neste argumento o nome do fonte TrueType. P.ex.: fonte =
“Arial”
• tamanho: atribuir a este argumento a dimensão do caracter do texto;
- 113 -- 114
•
método Posicionar Janela
Este método destina-se a posicionar a janela de um mapa na área de
trabalho do dbMapaExpress.
sintaxe:
l = Script_OOP.PosicionarJanelaExpress (esquerda,topo,largura,altura)
Argumentos:
•
esquerda: atribuir a este argumento a quantidade de pixels que a janela deverá
apresentar em relação ao lado esquerdo da área de trabalho do
dbMapaExpress;
•
topo: atribuir a este argumento a quantidade de pixels que a janela deverá
apresentar em relação a borda superior da área de trabalho do
dbMapaExpress;
•
largura e altura: informar nestes argumentose altura a largura da janela do
mapa;
•
método Procurar Contidos
Com este método relaciona-se em arquivo tipo texto os códigos de
elementos gráficos inscritos:
• em polígonos;
• em círculos com centro no ponto médio de elementos gráficos;
• em círculos indicados interativamente pelo operador;
• em polígonos virtuais (coordenadas estão em arquivos texto);
• no retângulo definido pela janela da visualização corrente;
• no retângulo definido pelos limites do mapa
sintaxe:
l = Script_OOP.ProcurarContidosExpress(mapa,chave,nivel,arquivo,
percentual,acrescentar,raio)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital a ser submetido ao
método. P.ex.: = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.”
•
chave: atribuir a este argumento o código do elemento gráfico (polígono) que
abrange os elementos gráficos contidos em determinado nível de informação,
neste caso o argumento raio deve ser informado com o valor zero.
Se for informado algum valor para o argumento raio e a chave corresponder a
um polígono, o processo de pesquisa considerará um círculo com centro no
baricentro deste polígono. Se a chave corresponder a uma polilinha ou mesmo
- 115 -
a outros tipos de elementos gráficos, o centro do círculo será o ponto médio
destes elementos.
Este argumento pode ainda ser definido com as coordenadas X e Y do centro
do círculo, precedidas do sinal #. P. ex.: chave = “#xxxxxxx.xxByyyyyyyyy.yy”.
Para se pesquisar os elementos contidos num polígono, as coordenadas deste
deverão estar num arquivo texto e o valor da chave deverá ser o nome do
arquivo precedido do sinal &. P.Ex.: chave = “&c:\mapas\coordenadas.plv”.
Os possíveis formatos dos registros deste arquivo texto de coordenadas são:
x,y
Gx,yx,y
Gx,y
...
...
... ou
...
observando que a letra G significa que as coordenadas que a seguem são
coordenadas geográficas (graus e fração de graus) e que em ambos os casos,
o último registro do arquivo deve conter as mesmas coordenadas do primeiro
registro, indicando que trata-se de uma polilinha fechada (polígono).
Este argumento pode ainda receber o valor $mapa ou $janela que indicarão
respectivamente que a pesquisa será efetuada pelo retângulo definido pelos
limites do mapa ou pelos limites da janela corrente. P.ex.: chave = “$mapa”
•
nivel: atribuir a este argumento a descrição do nível de informação que abriga
os elementos gráficos a serem pesquisados quanto a sua continência na área
informada no argumento chave. P.ex.: nível = “Bairros”
•
arquivo: atribuir a este argumento o nome do arquivo texto que receberá os
códigos (chaves de acesso) dos elementos gráficos que forem identificados
como contidos no elemento gráfico definido pelo argumento chave. P.ex.:
arquivo=”c:/dbmapa/teste.key”
•
percentual: atribuir a este argumento o percentual que deva ser considerado
para fins de considerar o elemento gráfico como contido. P. ex.: atribuindo-se o
valor 20 para este argumento, significa que caso 20% ou mais de um elemento
do nível de informação em questão estiver contido no elemento gráfico definido
pelo argumento chave, este será considerado como contido. Portanto para se
considerar somente elementos totalmente contidos o valor deste argumento
deverá ser 100. P.ex.: percentual = 100
•
acrescentar: atribuir a este argumento a palavra False ou True. False significa
que o arquivo indicado será inicializado cada vez que o método for executado.
True significa que para cada vez que o método for executado os códigos
serão adicionados aos dados já existentes.
•
raio: atribuir a este argumento o raio do círculo a ser pesquisado.Este valor
será desconsiderado quando o argumento chave for $mapa, $janela ou ainda
&
- 116
•
método Procurar Continente
Este método destina-se a fornecer o código do polígono que
circunscreve um elemento gráfico, ou mesmo um ponto.
sintaxe:
continente = Script_OOP.ProcurarContinenteExpress(mapa,chave,nivel)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital a ser submetido ao
método. P.ex.: = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.”
•
chave: atribuir a este argumento o código do elemento gráfico a ser
considerado na busca do seu continente. A este argumento pode também ser
atribuído as coordenadas de um ponto a ser pesquisado.
•
nivel: atribuir a este argumento a descrição do nível de informação que contém
os polígonos continentes. . P.ex.: nível = “Bairros”;
•
continente: argumento que recebe o código do polígono que circunscreve o
elemento gráfico (ou ponto) informado no argumento chave.
•
método Redesenhar Mapa
sintaxe:
l = Script_OOP.RedesenharExpress(mapa)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital a ser redesenhado.
P.ex.: = "c:\mapas\demo.max”. Se for o mapa corrente utilizar “.”
•
método Restaurar dbMapa
sintaxe:
l = Script_OOP.RestaurarExpress()
- 117
-
•
método Seguir Mouse
sintaxe:
l = Script_OOP.SeguirMouseExpress(mapa,seguir)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que terá seu modo de
operação alterado para Seguir Mouse. P.ex.: = "c:\mapas\demo.max”;
•
seguir: atribuir a este argumento a palavra TRUE ou FALSE conforme objetivo
de ativar ou desativar o modo de operação Seguir Mouse.
•
método Selecionar Área
sintaxe:
l = Script_OOP.SelecionarAreaExpress(mapa,selecionar)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que terá seu modo de
operação alterado para Selecionar Área. P.ex.: = "c:\mapas\demo.max”;
•
selecionar: atribuir a este argumento a palavra TRUE ou FALSE conforme
objetivo de ativar ou desativar o modo de operação Selecionar Área.
•
método Selecionar Círculo
sintaxe:
l = Script_OOP.SelecionarCirculoExpress(mapa,selecionar)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que terá seu modo de
operação alterado para Selecionar Círculo. P.ex.: = "c:\mapas\demo.max”;
•
selecionar: atribuir a este argumento a palavra TRUE ou FALSE conforme
objetivo de ativar ou desativar o modo de operação Selecionar Círculo.
- 118
•
método Selecionar Entidade
sintaxe:
l = Script_OOP.SelecionarEntidadeExpress(mapa,selecionar)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que terá seu modo de
operação alterado para Selecionar Entidade. P.ex.: = "c:\mapas\demo.max”;
•
selecionar: atribuir a este argumento a palavra TRUE ou FALSE conforme
objetivo de ativar ou desativar o modo de operação Selecionar Entidade.
•
método Setar Pesquisa
O padrão de pesquisa do dbMapaExpress (entendendo como tal a
possibilidade de se apontar com o mouse um elemento gráfico e este permanecer
marcado) é permitir a marcação de qualquer elemento gráfico existente
no mapa digital, independente do nível de informação a ele
atribuído. Com o método Setar Pesquisa é possível se restringir a
possibilidade de marcação de elementos gráficos aos níveis de
informação de interesse:
sintaxe:
l = Script_OOP.SetarPesquisaExpress(mapa,nivel,pesquisar)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que terá seu padrão de
pesquisa alterado. P.ex.: = "c:\mapas\demo.max”;
•
nível: atribuir a descrição do nível de informação a ser pesquisado ou o sinal *
para todos os níveis. P.ex.: nivel = “bairros” ou nivel = ”*”
•
pesquisar: atribuir a este argumento a palavra TRUE ou FALSE conforme
objetivo de ativar ou desativar a pesquisa de elementos gráficos (marcação) no
nível especificado
Dica: como o padrão da operação do dbMapaExpress é possibilitar a pesquisa em
qualquer nível de informação, deve-se inicialmente desativar a permissão para todos os
níveis. Para tanto atribuir os seguintes valores aos argumentos abaixo:
nivel = “*” pesquisar = False.
e então sim, atribuir ao argumento pesquisar a palavra True, e para o argumento nivel a
descrição do nível a ser pesquisado quando se for operar a marcação de entidade.
- 119
-
•
método Transladar Mapa
Método com o qual define-se deslocamentos da visualização do
mapa .
sintaxe:
l = Script_OOP.TransladarExpress(mapa,direcao,percentual,fator)
Argumentos:
•
mapa: deve conter o nome do arquivo do mapa digital que será deslocado.
P.ex.: = "c:\mapas\demo.max”;
•
direcao: atribuir a este argumento o valor que indica o sentido do
deslocamento do mapa. ( 0 = nenhuma, 1 = N, 2 = S, 3 = L, 4 = O, 5 = NE, 6 =
NO, 7 = SE, 8 = SO)
•
percentual: atribuir a este argumento o percentual de deslocamento
pretendido. P.ex.: percentual = 50; Este valor não será considerado se ao
argumento direcao for atribuído o valor zero (0 = nenhuma)
•
fator: trata-se do fator de ampliação ou redução a ser aplicado a visualização
da janela corrente. Para valores maiores que 1 (um) significa que a
visualização será ampliada (zoom out) e para valores abaixo a visualização
será reduzida (zoom in)
- 120
PROPRIEDADES
As propriedades podem ser entendidas como as informações
disponibilizadas pelos Eventos e Métodos. Por exemplo, o
evento Clicou Mouse disponibiliza as propriedades X do Clique
do Mouse e Y do Clique do Mouse as quais inseridas como código
associado ao evento carregam nas variáveis mcx e mcy os
valores das coordenadas.
•
propriedade Botão do Mouse
sintaxe:
bm = Script_OOP.Mouse_Botao
Argumentos:
•
bm: retorna os valores 1 ou 2 conforme o botão direito ou esquerdo for
pressionado.
•
propriedade Centro X do Círculo
propriedade Centro Y do Círculo
propriedade Raio do Círculo
sintaxe:
cx = Script_OOP.CentroX
cy = Script_OOP.CentroY
raio = Script_OOP.Raio
comentário: estas propriedades são alcançadas a partir do modo de operação
Selecionar Círculo o qual gera o evento Selecionou Círculo.
•
propriedade Entidade Marcada
sintaxe:
chave = Script_OOP.EntidadeMarcada
comentário: a variável chave recebe o código do elemento gráfico marcado.
•
propriedade Escala da Janela
sintaxe:
escala = Script_OOP.Escala_Janela
comentário:A variável escala recebe a escala da visualização corrente.
•
propriedade Menor X da Área
propriedade Menor Y da Área
propriedade Maior X da Área
propriedade Maior Y da Área
sintaxe:
minx = Script_OOP.MinX_Area
miny = Script_OOP.MinY_Area
maxx = Script_OOP.MaxX_Area
maxy = Script_OOP.MaxY_Area
comentário: Estas propriedades são alcançadas a partir do modo de operação
Selecionar Área o qual gera o evento Selecionou Área.
•
propriedade Menor X da Janela
propriedade Menor Y da Janela
propriedade Maior X da Janela
propriedade Maior Y da Janela
sintaxe:
minx = Script_OOP.MinX_Janela
miny = Script_OOP.MinY_Janela
maxx = Script_OOP.MaxX_Janela
maxy = Script_OOP.MaxY_Janela
comentário: estas propriedades informam as coordenadas extremas da janela de
visualização corrente.
- 121
-
- 122
•
propriedade Nivel da Entidade Marcada
sintaxe:
nivel = Script_OOP.NivelDaEntidadeMarcada
comentário: a variável nivel recebe a descrição do nível de informação ao qual
pertence o elemento gráfico marcado.
•
propriedade Tipo da Entidade Marcada
sintaxe:
tipo = Script_OOP.TipoDaEntidadeMarcada
comentário: a variável tipo recebe valores que correspondem aos códigos ASC das
letras que definem os tipos de elementos gráficos considerados nos mapas digitais
MaxiCAD.
tipo Letra Elemento
80 P Polilinha
73 I Isolinha
83 S Símbolo
84 T Texto
67 C Círculo
65 A Arco
•
propriedade X do Clique do Mouse
propriedade Y do Clique do Mouse
sintaxe:
mcx = Script_OOP.Mouse_Click_X
mcy = Script_OOP.Mouse_Click_Y
comentário: estas propriedades informam as coordenadas do local em que o mouse
foi “clicado”.
•
propriedade X do Mouse
propriedade Y do Mouse
sintaxe:
mx = Script_OOP.Mouse_X
my = Script_OOP.Mouse_Y
comentário: estas propriedades informam as coordenadas do mouse.
- 123
-
- 124
PRATICANDO COM O dbMAPAEXPRESS
Com o objetivo de firmar os conhecimentos visando uma plena
utilização do dbMapaExpress, são apresentados exemplos,
todos eles efetuados com o mapa digital do Brasil que
acompanha o dbMapaExpress. Estes exemplos, comentados
passo a passo, mostram a programação de eventos, métodos e
propriedades do dbMapaExpress e constituem praticamente
um guia para a aplicação da tecnologia de geoprocessamento.
Para tanto, utilizando o CD-ROM do dbMapaExpress,
providenciar sua instalação. Após a instalação, identificar no
diretório raiz do disco rígido, a pasta dbMapaExpress, a qual
conterá diversas sub-pastas que guardam vários exemplos de
uso.
Antes de iniciar os exemplos, criar uma nova pasta com a
denominação
re-nomeando-o para
Exercício 01 - Navegando no dbMapaExpress
Iniciar o dbMapaExpress e abrir uma nova janela com o
mapa
.. Identifique seus níveis de informação, ative-os conforme
seu interesse;
.. Efetue zooms e familiarize-se com os recursos de
navegação, notadamente com o COMANDO NÍVEIS e com
o bloco de botões;
.. com o COMANDO SELECIONAR (opção Entidade e opção
Desmarcar) identifique códigos de elementos gráficos.
- 125 -
Exercício 02 - Programando Escalas Automáticas
Programar, para o mapa do exercício anterior, as escalas dos
níveis de informação de forma que:
1. ao se abrir o mapa do Brasil, sejam mostrados
automaticamente:
• o Brasil em amarelo;
• os polígonos dos Estados com a linha de borda em verde;
• as siglas dos Estados.
2.
ao se efetuar zooms sejam apresentados:
• os polígonos de municípios;
• as sedes municipais;
• os nomes das sedes municipais;
Comentário: Os limites das escalas de visualização, de cada tipo de informação, deverão
proporcionar visualizações agradáveis, não poluídas e com a identificação e leitura dos
elementos do mapa.
Exercício 03 - Finalizando a Parametrização de Níveis
Realçar os polígonos dos Estados e dos Municípios, através
de linhas de borda com mais espessura e cores contrastantes:
Comentário 1: com estes realces, o mapa deve apresentar uma aparência de fácil
identificação e ocorre a ativação dos detalhes conforme o zoom. Se julgar necessário,
retorne aos exercícios anteriores e re-ajuste cores, escalas, etc.
Comentário 2: na pasta <\dbmapaexpress\exercicio 02-03="">pode-se consultar sugestões
quanto a programação de escalas e de níveis de informação.
- 126
Exercício 04 - Trabalhando com Janelas
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para
Inicie uma nova janela no dbMapaExpress com o mapa
aberta a janela com o
recursos para organizar e sincronizar janelas.
A sincronização de janelas, trata-se de recurso que vincula a
navegação efetuada numa janela, em ação automática de
navegação na outra janela.
Dica: para facilitar o entendimento da sincronização de janelas,
proceda os seguintes passos:
1.
ative os mapas
2.
ative no
3.
ative no
municipais e siglas dos estados;
4.
efetue um zoom no
5. Sincronize as janelas através do botão ;
6.
observe que as navegações e zooms efetuados sobre o
visualização neste último.
Exercício 05 - Trabalhando com Temas (I)
Utilizando apenas o mapa
•
O Estado do Amazonas;
•
O Estado do Pará com linha de borda em azul e
preenchimento em verde;
•
O Estado do Maranhão com linha de borda realçada em
verde e preenchimento em laranja;
•
O Estado do Tocantins com linha de borda e
preenchimento em amarelo, sem que sejam afetadas as
cores de bordas dos outros estados;
•
Os 3 Estados do Sul preenchidos em azul com as bordas
em preto. (Dica: relacionar os códigos dos 3 estados num arquivo <.key>);
•
O Estado do Mato Grosso do Sul e um círculo em
vermelho com borda em azul;
•
O Estado do Mato Grosso com o texto EXPRESS no
centro;
Aparência que o mapa
deverá apresentar !
Dica: salve estes temas com o
nome de
- 127
-
- 128
Exercício 05 - Passo 1
Utilizando o mapa
Amazonas;
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar o código do polígono do Estado do
Amazonas no campo chave. Lembrando que cada um dos estados está
codificado conforme sua sigla, digitar AM para o campo chave.
2o Procedimento: digitar algum texto que identifique o tema para o campo
Descrição. A tela terá a seguinte aparência:
3o Procedimento: Confirmar no botão OK.
- 130 -
Exercício 05 - Passo 2
Utilizando o mapa
com linha de borda em azul e preenchimento em verde;
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Pará. Lembrando que cada um dos estados está
codificado conforme sua sigla, digitar PA;
2o Procedimento: digitar para o campo Descrição algum texto que
identifique o tema.
3o Procedimento: Para que o Pará seja colorizado conforme proposição,
selecionar a caixa de seleção Volátil.
Com esses procedimentos a tela terá a seguinte aparência:
4o Procedimento: Selecionar a Guia Chave e então as cores Azul e Verde;
5o Procedimento: Confirmar no botão OK .
- 129
-
Exercício 05 - Passo 3
Utilizando o mapa
Maranhão com linha de borda realçada em verde e
preenchimento em laranja;
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Maranhão. Lembrando que cada um dos estados
está codificado conforme sua sigla, digitar MA;
2o Procedimento: Para colorizar o Maranhão conforme proposição,
selecionar a caixa de seleção Volátil. Com esses procedimentos a tela terá a
seguinte aparência:
3o Procedimento: Selecionar a Guia Chave e então as cores Verde e Laranja,
bem como o valor 2 para a espessura da borda;
4o Procedimento: Confirmar no botão OK .
Exercício 05 - Passo 4
Utilizando o mapa
Tocantins com linha de borda e preenchimento em amarelo,
sem que sejam afetadas as cores de bordas dos outros estados;
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Tocantins (TO);
2o Procedimento: Para colorizar o Tocantins conforme proposição,
selecionar a caixa de seleção Volátil. Além disso, como a colorização do
Tocantins não deve sobrepor cores já apresentadas, selecionar a caixa de
seleção Preferencial. Com esses procedimentos a tela terá a seguinte aparência:
3o Procedimento:Confirmar no botão OK.
Exercício 05 - Passo 5
Exercício 05 - Passo 3
Utilizando o mapa
Maranhão com linha de borda realçada em verde e
preenchimento em laranja;
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Maranhão. Lembrando que cada um dos estados
está codificado conforme sua sigla, digitar MA;
2o Procedimento: Para colorizar o Maranhão conforme proposição,
selecionar a caixa de seleção Volátil. Com esses procedimentos a tela terá a
seguinte aparência:
3o Procedimento: Selecionar a Guia Chave e então as cores Verde e Laranja,
bem como o valor 2 para a espessura da borda;
4o Procedimento: Confirmar no botão OK .
Exercício 05 - Passo 4
Utilizando o mapa
Tocantins com linha de borda e preenchimento em amarelo,
sem que sejam afetadas as cores de bordas dos outros estados;
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Tocantins (TO);
2o Procedimento: Para colorizar o Tocantins conforme proposição,
selecionar a caixa de seleção Volátil. Além disso, como a colorização do
Tocantins não deve sobrepor cores já apresentadas, selecionar a caixa de
seleção Preferencial. Com esses procedimentos a tela terá a seguinte aparência:
3o Procedimento:Confirmar no botão OK.
Exercício 05 - Passo 5
- 131 -- 132
Utilizando o mapa
Sul preenchidos em azul;
PROCEDIMENTOS
1o Procedimento: Utilizando o Bloco de Notas, criar arquivo com as siglas
RS, SC e PR, atribuindo uma sigla por linha. Salvar com o nome SUL.KEY.
2o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
para o campo chave o sinal @. Este indica que serão considerados como
feições âncora os elementos cujos códigos estiverem armazenados no
arquivo texto (extensão .key) selecionado;
3o Procedimento: Como a intenção é utilizar os elementos gráficos
realcionados no arquivo SUL.KEY como feições âncora, selecionar a caixa
de seleção Volátil. Com esses procedimentos a tela terá a seguinte aparência:
4o Procedimento: Selecionar na Guia Chave as cores preta e azul.
5o Procedimento: Confirmar no botão OK.
Exercício 05 - Passo 6
Utilizando o mapa
Grosso do Sul e um círculo em vermelho com borda em azul;
PLANEJAMENTO
Para esta demanda, deverão ser efetivados 2 novos temas. Um para mostrar
o polígono do Estado do Mato Grosso do Sul e outro para mostrar o círculo.
PROCEDIMENTOS
1o Procedimento: Para mostrar o Estado, efetuar os mesmos passos que
foram efetuados para mostrar o polígono do Amazonas.
2o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Mato Grosso do Sul (MS);.
3o Procedimento: Para utilizar o polígono do Estado do Mato Grosso do Sul
como feição âncora do círculo proposto, selecionar a caixa de seleção Volátil
e na seqüência selecionar a guia Círculo. Selecionar nessa guia as cores azul
e vermelha e informar o valor 10 para o Raio.
4o Procedimento: Confirmar no botão OK.
Exercício 05 - Passo 7
- 133 -- 134
Utilizando o mapa
Grosso com o texto EXPRESS no centro;
PLANEJAMENTO
Para esta demanda, deverão ser efetivados 2 novos temas. Um para mostrar
o polígono do Estado do Mato Grosso e outro para mostrar o texto.
PROCEDIMENTOS
1o Procedimento: Para mostrar o Estado, efetuar os mesmos passos que
foram efetuados para mostrar o polígono do Amazonas.
2o Procedimento: Selecionar o comando TEMAS e o botão Novo... Surgirá
então uma tela, em que deve-se digitar para o campo chave o código do
polígono do Estado do Mato Grosso (MT);.
3o Procedimento: Para utilizar o polígono do Estado como feição âncora do
texto proposto, selecionar a caixa de seleção Volátil e na seqüência
selecionar a guia Texto. Selecionar nessa guia, a cor, o Tamanho e digitar o
texto de interesse.
4o Procedimento: Confirmar no botão OK.
Exercício 05 - Passo 8
Salvar os temas;
PROCEDIMENTOS
1o Procedimento: Para salvar os temas, utilizar o comando Temas e o botão
Salvar... . Surgirá a pergunta:
Considerar como temas ativos aqueles cujas caixas de seleção estiverem
selecionadas. Para o caso em questão confirmar o botão Sim;
2o Procedimento: Surgirá então a tela para informar-se o nome
(meus_temas2.tmg) e o caminho do arquivo de temas (extensão TMG) que
armazenará os temas ativos. Confirmar no botão Salvar.
- 135 -- 136
4o Procedimento: Selecionar na Guia Chave a cor amarela;
5o Procedimento: Confirmar no botão OK;
6o Procedimento Para as ilhas repetir o procedimento, informando %Ilhas
em Chave .
Exercício 06 - Trabalhando com Temas (II)
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para
•
O Brasil e ilhas em amarelo;
(Atenção: não utilizar nível de informação);
•
Realce das divisas dos Estados
(Atenção: não utilizar os códigos dos Estados);
•
Realçar todos os Estados que começam com a letra M,
com um preenchimento quadriculado;
•
Um gráfico de setores (tipo pizza) no Amazonas, com os
seguintes percentuais 15%, 40%, 10% e 35%;
•
Mostrar uma suposta conectividade entre São Paulo
(S3550308) e as cidades de Manaus e Recife
(respectivamente S2611606 e S1302603).
Aparência que o mapa
deverá apresentar !
Dica: salve estes temas com o
nome de
Exercício 06 - Passo 1
Utilizando o mapa
em amarelo;
PLANEJAMENTO
Para se utilizar todos os elementos de determinado nível de informação
como feições âncora, deve-se estabelecer um novo tema, atribuindo-se ao
campo chave o sinal % seguido da descrição do nível de informação. É o
caso em questão. O Brasil consta no nível de informação cuja descrição é
ContornoBrasil e as ilhas no nível de descrição Ilhas.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
%ContornoBrasil para o campo Chave.
2o Procedimento: Para utilizar os elementos do nível como feição âncora
para a colorização proposta, selecionar a caixa de seleção Volátil e na
seqüência selecionar a guia Chave.
- 137
-
- 138
Exercício 06 - Passo 2
Utilizando o mapa
PLANEJAMENTO
Conforme exemplo anterior, deve-se estabelecer um novo tema, atribuindo-
se ao campo chave o sinal % seguido da descrição do nível. É o caso em
questão, pois as divisas dos estados constam no nível ContornoEstadual.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
%ContornoEstadual para o campo Chave;
2o Procedimento: Para utilizar os elementos do nível como feição âncora
para a efetivação de algum realce, selecionar a caixa de seleção Volátil e na
seqüência selecionar a guia Chave;
3o Procedimento: Selecionar na Guia Chave o azul para o traço e informar o
valor 2 para espessura. Observar que a cor preta para preenchimento,
significa ausência de cor.
5o Procedimento: Confirmar no botão OK.
Exercício 06 - Passo 3
Utilizando o mapa
que começam com a letra M, com um preenchimento
quadriculado;
PLANEJAMENTO
O campo Chave permite a utilização do asterisco (*) como um caráter
coringa.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar M*
para o campo Chave;
2o Procedimento: Para utilizar os elementos como feição âncora para a
efetivação do quadriculado proposto, selecionar a caixa de seleção Volátil e
na guia Chave, selecionar a cor e padrão do preenchimento (cruz 45 graus)
bem como cor e espessura do traço.
3o Procedimento: Confirmar no botão OK .
Exercício 06 - Passo 2
Utilizando o mapa
PLANEJAMENTO
Conforme exemplo anterior, deve-se estabelecer um novo tema, atribuindo-
se ao campo chave o sinal % seguido da descrição do nível. É o caso em
questão, pois as divisas dos estados constam no nível ContornoEstadual.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
%ContornoEstadual para o campo Chave;
2o Procedimento: Para utilizar os elementos do nível como feição âncora
para a efetivação de algum realce, selecionar a caixa de seleção Volátil e na
seqüência selecionar a guia Chave;
3o Procedimento: Selecionar na Guia Chave o azul para o traço e informar o
valor 2 para espessura. Observar que a cor preta para preenchimento,
significa ausência de cor.
5o Procedimento: Confirmar no botão OK.
Exercício 06 - Passo 3
Utilizando o mapa
que começam com a letra M, com um preenchimento
quadriculado;
PLANEJAMENTO
O campo Chave permite a utilização do asterisco (*) como um caráter
coringa.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar M*
para o campo Chave;
2o Procedimento: Para utilizar os elementos como feição âncora para a
efetivação do quadriculado proposto, selecionar a caixa de seleção Volátil e
na guia Chave, selecionar a cor e padrão do preenchimento (cruz 45 graus)
bem como cor e espessura do traço.
3o Procedimento: Confirmar no botão OK .
- 139 -- 140
Exercício 06 - Passo 4
Utilizando o mapa
setores (tipo pizza) no Amazonas, com os seguintes
percentuais 15%, 40%, 10% e 35%.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
AM (código do polígono do Estado do Amazonas) para o campo Chave;
2o Procedimento: Para que o polígono do Amazonas seja feição âncora para
a apresentação da pizza, selecionar a caixa de seleção Volátil e a guia Pizza;
3o Procedimento: selecionar na Guia Pizza quantidade de fatias, raio, cores
e percentuais, conforme segue:
4o Procedimento: Confirmar no botão OK .
Exercício 06 - Passo 5
Utilizando o mapa
conectividade entre São Paulo (S3550308) e as cidades de
Manaus e Recife (respectivamente S2611606 e S1302603).
PROCEDIMENTOS
1o Procedimento: Utilizando o Bloco de Notas, criar um arquivo com os
códigos de Manaus e Recife, atribuindo um código por linha. Salvar este
arquivo com o nome DESTINOS.KEY.
2o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
para o campo chave o sinal @. Este indica que serão considerados como
feições âncora os elementos cujos códigos estiverem armazenados no
arquivo texto (extensão .key) selecionado;
3o Procedimento: Como a intenção é utilizar os elementos gráficos
relacionados no arquivo DESTINOS.KEY como feições âncora, selecionar a
caixa de seleção Volátil e a Guia Ligações, selecionando a cor da linha e o
código da feição âncora que representa a origem. Com esses procedimentos
a tela terá a seguinte aparência:
4o Procedimento: Confirmar o botão OK.
Exercício 06 - Passo 4
Utilizando o mapa
setores (tipo pizza) no Amazonas, com os seguintes
percentuais 15%, 40%, 10% e 35%.
PROCEDIMENTOS
1o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
AM (código do polígono do Estado do Amazonas) para o campo Chave;
2o Procedimento: Para que o polígono do Amazonas seja feição âncora para
a apresentação da pizza, selecionar a caixa de seleção Volátil e a guia Pizza;
3o Procedimento: selecionar na Guia Pizza quantidade de fatias, raio, cores
e percentuais, conforme segue:
4o Procedimento: Confirmar no botão OK .
Exercício 06 - Passo 5
Utilizando o mapa
conectividade entre São Paulo (S3550308) e as cidades de
Manaus e Recife (respectivamente S2611606 e S1302603).
PROCEDIMENTOS
1o Procedimento: Utilizando o Bloco de Notas, criar um arquivo com os
códigos de Manaus e Recife, atribuindo um código por linha. Salvar este
arquivo com o nome DESTINOS.KEY.
2o Procedimento: Selecionar o comando TEMAS e o botão Novo... Digitar
para o campo chave o sinal @. Este indica que serão considerados como
feições âncora os elementos cujos códigos estiverem armazenados no
arquivo texto (extensão .key) selecionado;
3o Procedimento: Como a intenção é utilizar os elementos gráficos
relacionados no arquivo DESTINOS.KEY como feições âncora, selecionar a
caixa de seleção Volátil e a Guia Ligações, selecionando a cor da linha e o
código da feição âncora que representa a origem. Com esses procedimentos
a tela terá a seguinte aparência:
4o Procedimento: Confirmar o botão OK.
- 141 -- 142
Exercício 06 - Passo 7
Salvar os temas;
PROCEDIMENTOS
1o Procedimento: Para salvar os temas, utilizar o comando Temas e o botão
Exercício 07 - Inicialização do dbMapaExpress
Configurar o dbMapaExpress de modo a ele ser iniciado,
com duas janelas, organizadas verticalmente, atribuindo a
cada uma respectivamente o mapa:
Salvar... . Surgirá a pergunta:
Considerar como temas ativos aqueles cujas caixas de seleção estiverem
selecionadas. Para o caso em questão confirmar o botão Sim;
2o Procedimento: Surgirá então a tela para informar-se o nome
(meus_temas3.tmg) e o caminho do arquivo de temas (extensão TMG) que
armazenará os temas ativos. Confirmar no botão Salvar.
•
•
PROCEDIMENTOS
1o Procedimento: Para se configurar a inicialização do dbMapaExpress,
selecionar o comando Configurar;
2o Procedimento: Selecionar o tipo da visualização (maximizada ou
normal) e a forma de organização (vertical). Indicar o campo Carregar
Configuração ao Iniciar;
3 Procedimento: Com o pressionar do botão Adicionar, surgirá a janela:
Selecionar os mapas a serem inicializados. Para tanto basta um clique do
mouse no campo Mapa para surgir tela que permitirá seleção do mapa de
interesse.
- 143 -- 144
Após a seleção dos mapas, na tela de configuração constará a relação dos
mapas a serem inicializados, conforme segue:
Com o duplo clique sobre cada um dos mapas, surge tela que permite a
seleção do(s) arquivo(s) de temas que estarão vinculados, conforme segue:
Com o botão Adicionar Tema, seleciona-se o arquivo de temas de interesse,
e a tela de configuração terá a seguinte aparência:
Com o botão Excluir elimina-se mapas e temas selecionados.
Exercício 08 - Configurando um botão
Re-inicializar o dbMapaExpress e configurar o bloco de
botões personalizados, de forma que:
1. o primeiro botão referente ao mapa
ative os limites dos Estados. (Dica: utilizar o método Mostrar Nível);
2. o primeiro botão referente ao mapa
efetue zoom no Estado de São Paulo e apresente os limites
de municípios;
(Dica: Observar que o método Mostrar Nível não se aplica, pois o polígono de
municípios ficará sob o preenchimento do Brasil. Utilizar os métodos Janela por Chave
e Mostrar Tema Extendido.)
Exercício 08 - Passo 1
Programando botão do
PROCEDIMENTOS
1o Procedimento: Antes de iniciar a programação do botão, verificar que o
mapa
Botões, surge a tela:
Após a seleção dos mapas, na tela de configuração constará a relação dos
mapas a serem inicializados, conforme segue:
Com o duplo clique sobre cada um dos mapas, surge tela que permite a
seleção do(s) arquivo(s) de temas que estarão vinculados, conforme segue:
Com o botão Adicionar Tema, seleciona-se o arquivo de temas de interesse,
e a tela de configuração terá a seguinte aparência:
Com o botão Excluir elimina-se mapas e temas selecionados.
Exercício 08 - Configurando um botão
Re-inicializar o dbMapaExpress e configurar o bloco de
botões personalizados, de forma que:
1. o primeiro botão referente ao mapa
ative os limites dos Estados. (Dica: utilizar o método Mostrar Nível);
2. o primeiro botão referente ao mapa
efetue zoom no Estado de São Paulo e apresente os limites
de municípios;
(Dica: Observar que o método Mostrar Nível não se aplica, pois o polígono de
municípios ficará sob o preenchimento do Brasil. Utilizar os métodos Janela por Chave
e Mostrar Tema Extendido.)
Exercício 08 - Passo 1
Programando botão do
PROCEDIMENTOS
1o Procedimento: Antes de iniciar a programação do botão, verificar que o
mapa
Botões, surge a tela:
- 145 -- 146
2o Procedimento: Para programar o primeiro botão, selecionar o de número
00; No campo Imagem, informar o arquivo tipo .bmp que será apresentado
no botão; No campo Menu, digitar breve descrição da função do botão
3o Procedimento: No campo Métodos e Propriedades selecionar o Método:
Mostrar Nivel e pressionar o botão Inserir no Código; Com estas entradas, a
tela apresentará a seguinte configuração:
4o Procedimento: Substituir a palavra “descrição” por “ContornoEstadual”
que é a descrição do nível de informação que armazena os polígonos dos
Estados. Confirmar com o botão OK;
Teste Intermediário: Verificar então que no bloco de botões
personalizados, o primeiro botão deverá apresentar uma imagem.
Pressionar este botão e verificar que deverão ser apresentados os polígonos
dos Estados. Caso não esteja operando conforme previsto, retornar aos
procedimentos anteriores.
Exercício 08 - Passo 2
Programar o primeiro botão do mapa
efetuar zoom no Estado de São Paulo e apresentar os limites de
municípios.
PROCEDIMENTOS
1o Procedimento: Antes de iniciar a programação do botão, verificar que o
mapa
Botões, surge a tela:
2o Procedimento: Para programar o primeiro botão, selecionar o de número
00; No campo Imagem, informar o arquivo tipo .bmp que será apresentado
no botão; No campo Menu, digitar breve descrição da função do botão
3o Procedimento: No campo Métodos e Propriedades selecionar:
- o Método: Mostrar Tema Extendido e pressionar o botão Inserir no Código;
- o Método: Janela por Chave e pressionar o botão Inserir no Código;
Com estas entradas, a tela apresentará a seguinte configuração:
2o Procedimento: Para programar o primeiro botão, selecionar o de número
00; No campo Imagem, informar o arquivo tipo .bmp que será apresentado
no botão; No campo Menu, digitar breve descrição da função do botão
3o Procedimento: No campo Métodos e Propriedades selecionar o Método:
Mostrar Nivel e pressionar o botão Inserir no Código; Com estas entradas, a
tela apresentará a seguinte configuração:
4o Procedimento: Substituir a palavra “descrição” por “ContornoEstadual”
que é a descrição do nível de informação que armazena os polígonos dos
Estados. Confirmar com o botão OK;
Teste Intermediário: Verificar então que no bloco de botões
personalizados, o primeiro botão deverá apresentar uma imagem.
Pressionar este botão e verificar que deverão ser apresentados os polígonos
dos Estados. Caso não esteja operando conforme previsto, retornar aos
procedimentos anteriores.
Exercício 08 - Passo 2
Programar o primeiro botão do mapa
efetuar zoom no Estado de São Paulo e apresentar os limites de
municípios.
PROCEDIMENTOS
1o Procedimento: Antes de iniciar a programação do botão, verificar que o
mapa
Botões, surge a tela:
2o Procedimento: Para programar o primeiro botão, selecionar o de número
00; No campo Imagem, informar o arquivo tipo .bmp que será apresentado
no botão; No campo Menu, digitar breve descrição da função do botão
3o Procedimento: No campo Métodos e Propriedades selecionar:
- o Método: Mostrar Tema Extendido e pressionar o botão Inserir no Código;
- o Método: Janela por Chave e pressionar o botão Inserir no Código;
Com estas entradas, a tela apresentará a seguinte configuração:
- 147 -- 148
4o Procedimento:
-Substituir a palavra “chave” por “%ContornoMunicípios”;
- Alterar o valor do argumento
imediato para False.
Isto indicará que o tema será carregado mas não será apresentado;
- Alterar a cor e o preenchimento para RGB(0,125,125) e RGB(0,0,0);
- Para se efetuar o zoom, substituir a palavra “
chave” por “SP”;
5o Procedimento: Confirmar com o botão OK;
Teste Intermediário: Verificar então que no bloco de botões
personalizados, o primeiro botão deverá apresentar uma imagem.
Pressionar este botão e verificar que será efetuado zoom no Estado de São
Paulo, e apresentados os polígonos dos municípios. Caso não esteja
operando conforme previsto, retornar aos procedimentos anteriores.
4o Procedimento:
-Substituir a palavra “chave” por “%ContornoMunicípios”;
- Alterar o valor do argumento
imediato para False.
Isto indicará que o tema será carregado mas não será apresentado;
- Alterar a cor e o preenchimento para RGB(0,125,125) e RGB(0,0,0);
- Para se efetuar o zoom, substituir a palavra “
chave” por “SP”;
5o Procedimento: Confirmar com o botão OK;
Teste Intermediário: Verificar então que no bloco de botões
personalizados, o primeiro botão deverá apresentar uma imagem.
Pressionar este botão e verificar que será efetuado zoom no Estado de São
Paulo, e apresentados os polígonos dos municípios. Caso não esteja
operando conforme previsto, retornar aos procedimentos anteriores.
Exercício 09 - Configurando a Inicialização de Um Mapa
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para
ser aberto ele mostre as divisas estaduais e efetue um zoom
nos 3 estados do sul.
Importante: Desativar a inicialização do dbMapaExpress configurada no Exercício 7.
(Dica: programar no evento Ao Abrir, o método Janela Por Chave, indicando que o zoom
deverá ser efetuado sobre um arquivo tipo .key com os códigos dos estados do sul)
PROCEDIMENTOS
1o Procedimento: Antes de iniciar este exercício, desativar a configuração
de inicialização do dbMapaExpress. Para tanto através do comando
Configurar, tela abaixo:
selecionar cada um dos mapas e pressionar o botão Excluir.
Não havendo mais nenhum mapa indicado na inicialização do
dbMapaExpress, terminar a operação com o botão OK, e encerrar a
utilização do dbMapaExpress.
2o Procedimento: Re-inicializar o dbMapaExpress e iniciar o mapa
- 149
-
- 150
3o Procedimento: Através do comando ToolBox, selecionar a guia Eventos do
Mapa. Selecionar o evento Ao Abrir, o método Mostrar Nível e pressionar o
botão Inserir no Código. A tela terá a seguinte aparência:
4o Procedimento: Alterar a palavra “descrição” por “ContornoEstadual”,
texto este que é a descrição do nível de informação que contém as divisas
estaduais.
Alterar ainda o argumento imediato para False, o que significa que os
elementos gráficos do nível de informação em questão serão apresentados
somente quando houver alguma atualização da tela.
5o Procedimento: Para se efetuar zoom nos 3 estados do sul, inicialmente
criar um arquivo com o Bloco de Notas, o qual contenha as siglas RS, SC e
PR, atribuindo uma sigla por linha. Salvar este arquivo com o nome
SUL.KEY.
6o Procedimento Na seqüência selecionar o método Janela por Chave e Inserir
no Código. A tela de programação terá então a seguinte aparência:
Alterar a palavra “chave” por “@c:\exercícios 09\sul.key” e confirmar no
botão OK. Fechar a janela do mapa
Teste Intermediário: Re-abrir este mapa e constatar que serão apresentados
os polígonos dos 3 estados do Sul, em zoom. Caso não esteja operando
conforme previsto, retornar aos procedimentos anteriores.
3o Procedimento: Através do comando ToolBox, selecionar a guia Eventos do
Mapa. Selecionar o evento Ao Abrir, o método Mostrar Nível e pressionar o
botão Inserir no Código. A tela terá a seguinte aparência:
4o Procedimento: Alterar a palavra “descrição” por “ContornoEstadual”,
texto este que é a descrição do nível de informação que contém as divisas
estaduais.
Alterar ainda o argumento imediato para False, o que significa que os
elementos gráficos do nível de informação em questão serão apresentados
somente quando houver alguma atualização da tela.
5o Procedimento: Para se efetuar zoom nos 3 estados do sul, inicialmente
criar um arquivo com o Bloco de Notas, o qual contenha as siglas RS, SC e
PR, atribuindo uma sigla por linha. Salvar este arquivo com o nome
SUL.KEY.
6o Procedimento Na seqüência selecionar o método Janela por Chave e Inserir
no Código. A tela de programação terá então a seguinte aparência:
Alterar a palavra “chave” por “@c:\exercícios 09\sul.key” e confirmar no
botão OK. Fechar a janela do mapa
Teste Intermediário: Re-abrir este mapa e constatar que serão apresentados
os polígonos dos 3 estados do Sul, em zoom. Caso não esteja operando
conforme previsto, retornar aos procedimentos anteriores.
- 151 -- 152
5o Procedimento: Alterar o modo de operação do dbMapaExpress para o
modo Seguir Mouse. Para tanto utilizar o comando Selecionar opção Seguir
Mouse. Neste modo de operação, apontar o mouse em algum ponto de
interesse e clicar. Será apresentada mensagem com a seguinte aparência
Exercício 10 - Apresentando Coordenadas
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para
mostre as coordenadas de um ponto clicado.
(Dica: evento clicou mouse, propriedades X e Y do clique do mouse)
1o Procedimento: Iniciar o dbMapaExpress; abrir o mapa
contornos dos estados;
2o Procedimento: Através do comando ToolBox, selecionar a guia Eventos
do Mapa;
3o Procedimento: Selecionar o evento Clicou Mouse , a Propriedade: X do
Clique do Mouse e pressionar o botão Inserir no Código. Selecionar a
Propriedade: Y do Clique do Mouse e pressionar o botão Inserir no Código.
4o Procedimento: Programar através do comando msgbox do VBScript,
mensagem que apresente as coordenadas, conforme segue:
Confirmar no botão OK.
6o Procedimento: com a seguinte sintaxe para o comando msgbox
msgbox “X: “ & int(mcx) & “ Y: “ & int(mcy)
a mensagem será apresentada com a seguinte aparência:
- 153 -- 154
Exercício 11 - Gravando Coordenadas
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para
Criar para este mapa, recurso que permita gravar num
arquivo texto as coordenadas de pontos clicados. Ao
terminar, mostrar uma polilinha formada por estes pontos.
(Dica: programar botões para informar nome do arquivo e para mostrar a polilinha. Utilizar
Evento clicou mouse, propriedades X e Y do clique do mouse, Método:Gravar Arquivo
Texto e Método:Mostrar Tema Extendido )
PLANEJAMENTO
Antes de se iniciar este exercício, importante que se defina de forma clara
o funcionamento a ser implementado ao dbMapaExpress quando operar
este mapa.
Requisitos:
a. Ao iniciar o mapa em questão, deverão ser apresentados os polígonos
dos Estados;
b. Deverá ter recurso que permita o usuário da solução informar o
arquivo a ser gravado;
c. Deverá ter recurso que permita o usuário encerrar a indicação dos
pontos de interesse;
d. Ao usuário encerrar a indicação dos pontos de interesse que seja
apresentada uma polilinha formada pelos pontos informados.
Para se atender o requisito “a”, programar no evento Ao Abrir a ativação
do nível de informação que armazena os polígonos dos estados.
Para se atender o requisito “b”, programar um botão do bloco de botões,
de modo que quando for pressionado surja diálogo que permita o usuário
digitar o nome do arquivo a ser criado.
Levando em conta que para se obter as coordenadas de pontos clicados, o
dbMapaExpress deva estar no modo de operação Seguir Mouse, fazer
com que logo após a confirmação do nome do arquivo a ser gravado, o
dbMapaExpress assuma esse modo de operação.
Além disso, programar no evento Clicou Mouse a recuperação das
coordenadas dos pontos clicados bem como a gravação de cada um.
Para se atender os requisitos “c” e “d”, programar outro botão do bloco
de botões, de modo que ao ser pressionado, seja encerrada a gravação dos
pontos de interesse e que seja apresentada a polilinha.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress; abrir o mapa
2o Procedimento: Através do comando ToolBox, selecionar a guia Eventos
do Mapa, selecionar o evento Ao Abrir e o Método: Mostrar Nivel. Ajustando
a descrição do nível de informação para a denominação do nível que
armazena os polígonos de estados, a tela terá a seguinte aparência:
- 155 -- 156
Observar que nesse evento (Ao Abrir) encontra-se definida a variável
global Name_Arquivo, a qual será utilizada em outros eventos e/ou
botões.
Terminada a programação deste evento (Ao Abrir) confirmar no botão OK
e fechar a janela que esteja com o mapa em questão.
Teste Intermediário: Testar a abertura deste mapa verificando se o nível
de informação com os polígonos dos estados estão sendo mostrados
automaticamente. Caso isso não esteja ocorrendo, revisar as atividades
anteriores.
3o Procedimento: Através do botão Programar Botões:
- selecionar o Botão 00 (zero);
- selecionar um arquivo <.bmp> para o campo
Imagem
- digitar um breve texto explicativo para o campo
Menu;
- utilizar o comando
InputBox (VBScript) para a criação de recurso
de digitação do nome do arquivo a ser criado com as coordenadas. A tela deverá ter a aparência conforme segue:
4o Procedimento: selecionar o Método: Gravar Arquivo Texto para criar o
arquivo. A Tela terá a seguinte aparência:
Levando em conta que o objetivo da programação é tão somente a criação
do arquivo, promover as seguintes alterações:
- na função OpenTextFile, alterar arquivo para Name_Arquivo;
- eliminar as linhas:
arquivo = “caminho”
linha = “texto”
f.WriteLine linha
Com estas alterações a programação ficará com a seguinte aparência:
Observar que nesse evento (Ao Abrir) encontra-se definida a variável
global Name_Arquivo, a qual será utilizada em outros eventos e/ou
botões.
Terminada a programação deste evento (Ao Abrir) confirmar no botão OK
e fechar a janela que esteja com o mapa em questão.
Teste Intermediário: Testar a abertura deste mapa verificando se o nível
de informação com os polígonos dos estados estão sendo mostrados
automaticamente. Caso isso não esteja ocorrendo, revisar as atividades
anteriores.
3o Procedimento: Através do botão Programar Botões:
- selecionar o Botão 00 (zero);
- selecionar um arquivo <.bmp> para o campo
Imagem
- digitar um breve texto explicativo para o campo
Menu;
- utilizar o comando
InputBox (VBScript) para a criação de recurso
de digitação do nome do arquivo a ser criado com as coordenadas. A tela deverá ter a aparência conforme segue:
4o Procedimento: selecionar o Método: Gravar Arquivo Texto para criar o
arquivo. A Tela terá a seguinte aparência:
Levando em conta que o objetivo da programação é tão somente a criação
do arquivo, promover as seguintes alterações:
- na função OpenTextFile, alterar arquivo para Name_Arquivo;
- eliminar as linhas:
arquivo = “caminho”
linha = “texto”
f.WriteLine linha
Com estas alterações a programação ficará com a seguinte aparência:
- 157 -- 158
Para que o dbMapaExpress entre no modo de operação seguir mouse
selecionar o Método: Seguir Mouse, inserindo-o no código.
A programação ficará então conforme segue:
Com o botão OK, encerra-se a programação do botão 00
Teste Intermediário: para verificar se a programação efetuada está
correta e funcional:
- Navegar sobre o botão programado verificando o texto explicativo;
- Pressionar o botão programado, verificando se a tela para entrada do
nome do arquivo está operando convenientemente;
- Após digitar o nome do arquivo verificar se:
- o arquivo foi efetivamente criado; - o dbMapaExpress entrou em modo de operação Seguir Mouse;
Se não forem atentidas as expectativas, refazer as atividades anteriores.
5o Procedimento: para gravar os pontos no arquivo informado,
programar no Evento: Clicou Mouse, a recuperação das coordenadas dos
pontos clicados e as suas gravações.
Para tanto, através do comando Toolbox, opção Editar , guia Eventos,
selecionar o Evento Clicou Mouse; as Propriedades X e Y do Clique do Mouse e
as inserir no código
Após, selecionar o Método: Gravar Arquivo Texto, efetuando as alterações
relativas ao nome do arquivo, do modo e do valor a ser gravado
Assim, a programação terá a seguinte aparência:
Observar que para a gravação das coordenadas X e Y, estão sendo
considerados os valores inteiros delas, e que está sendo inserida uma
vírgula como separador.
A utilização da vírgula como separador possibilita que os registros do
arquivo poderão ser entendidos como coordenadas de uma polilinha
virtual (arquivo <.plv>).
Para que o dbMapaExpress entre no modo de operação seguir mouse
selecionar o Método: Seguir Mouse, inserindo-o no código.
A programação ficará então conforme segue:
Com o botão OK, encerra-se a programação do botão 00
Teste Intermediário: para verificar se a programação efetuada está
correta e funcional:
- Navegar sobre o botão programado verificando o texto explicativo;
- Pressionar o botão programado, verificando se a tela para entrada do
nome do arquivo está operando convenientemente;
- Após digitar o nome do arquivo verificar se:
- o arquivo foi efetivamente criado; - o dbMapaExpress entrou em modo de operação Seguir Mouse;
Se não forem atentidas as expectativas, refazer as atividades anteriores.
5o Procedimento: para gravar os pontos no arquivo informado,
programar no Evento: Clicou Mouse, a recuperação das coordenadas dos
pontos clicados e as suas gravações.
Para tanto, através do comando Toolbox, opção Editar , guia Eventos,
selecionar o Evento Clicou Mouse; as Propriedades X e Y do Clique do Mouse e
as inserir no código
Após, selecionar o Método: Gravar Arquivo Texto, efetuando as alterações
relativas ao nome do arquivo, do modo e do valor a ser gravado
Assim, a programação terá a seguinte aparência:
Observar que para a gravação das coordenadas X e Y, estão sendo
considerados os valores inteiros delas, e que está sendo inserida uma
vírgula como separador.
A utilização da vírgula como separador possibilita que os registros do
arquivo poderão ser entendidos como coordenadas de uma polilinha
virtual (arquivo <.plv>).
- 159 -- 160
6o Procedimento: para terminar a gravação dos pontos, programar para
um outro botão o final do modo de operação seguir mouse, bem como
um tema que apresente uma polilinha. Para tanto através do botão
Programar Botões:
-selecionar o Botão 01 (hum);
-selecionar um arquivo <.bmp> para o campo Imagem;
-digitar um breve texto explicativo para o campo Menu;
-selecionar o Método: Seguir Mouse e inserir no código;
-alterar o valor do argumento Seguir para False;
-selecionar o Método: Mostrar Tema Extendido e inserir no código;
Com as respectivas alterações que devem ser implementadas no código
sugerido, a tela ficará com a seguinte aparência:
Observar que ao campo chave foi atribuído o nome do arquivo criado, o
qual deve neste caso ser precedido do sinal &.
6o Procedimento: para terminar a gravação dos pontos, programar para
um outro botão o final do modo de operação seguir mouse, bem como
um tema que apresente uma polilinha. Para tanto através do botão
Programar Botões:
-selecionar o Botão 01 (hum);
-selecionar um arquivo <.bmp> para o campo Imagem;
-digitar um breve texto explicativo para o campo Menu;
-selecionar o Método: Seguir Mouse e inserir no código;
-alterar o valor do argumento Seguir para False;
-selecionar o Método: Mostrar Tema Extendido e inserir no código;
Com as respectivas alterações que devem ser implementadas no código
sugerido, a tela ficará com a seguinte aparência:
Observar que ao campo chave foi atribuído o nome do arquivo criado, o
qual deve neste caso ser precedido do sinal &.
- 161
-
Exercício 12 - Gravando Códigos de Elementos Gráficos
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para
Gravar para este mapa, num arquivo texto os códigos de
elementos gráficos selecionados interativamente no mapa.
(Dica: evento Mudou Marcada – método Gravar Arquivo Texto; propriedade Entidade
Marcada).
Evento clicou mouse, propriedades X e Y do clique do mouse, Método:Gravar Arquivo
Texto e Método:Mostrar Tema Extendido )
PLANEJAMENTO
Antes de se iniciar este exercício, importante que se defina de forma clara
o funcionamento a ser implementado ao dbMapaExpress quando operar
este mapa.
Requisitos:
a. Ao iniciar o mapa em questão, deverão ser apresentados os polígonos
dos Estados;
b. Deverá ter recurso que permita o usuário da solução informar o
arquivo a ser gravado;
c. Deverá ter recurso que permita o usuário encerrar a indicação dos
elementos de interesse;
Para se atender o requisito “a”, programar no evento Ao Abrir a ativação
do nível de informação que armazena os polígonos dos estados.
Para se atender o requisito “b”, programar um botão do bloco de botões,
de modo que quando for pressionado surja diálogo que permita o usuário
digitar o nome do arquivo a ser criado.
- 162
Levando em conta que para se obter os códigos dos elementos
selecionados, o dbMapaExpress deva estar no modo de operação
Selecionar Entidade, fazer com que logo após a confirmação do nome do
arquivo a ser gravado, o dbMapaExpress assuma esse modo de operação.
Além disso, programar no evento Mudou Marcada a recuperação dos
códigos dos elementos marcados, bem como a gravação de cada um.
Para se atender o requisito “c”, programar outro botão do bloco de
botões, de modo que ao ser pressionado, seja encerrada a gravação dos
códigos dos elementos selecionados, retornando o modo de operação
para o modo navegação.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress; abrir o mapa
2o Procedimento: Através do comando ToolBox, selecionar a guia Eventos
do Mapa, selecionar o evento Ao Abrir e o Método: Mostrar Nivel. Ajustando
a descrição do nível de informação para a denominação do nível que
armazena os polígonos de estados, a tela terá a seguinte aparência:
observar que nesse evento (Ao Abrir) encontra-se definida a variável
global Name_Arquivo, a qual será utilizada em outros eventos e/ou
botões.
Terminada a programação deste evento (Ao Abrir) confirmar no botão
OK e fechar a janela que esteja com o mapa em questão. Testar a abertura
deste mapa verificando se o nível de informação com os polígonos dos
estados estão sendo mostrados automaticamente. Caso isso não esteja
ocorrendo, revisar as atividades anteriores
3o Procedimento: Através do botão Programar Botões:
-selecionar o Botão 00 (zero);
-selecionar um arquivo <.bmp> para o campo Imagem
-digitar um breve texto explicativo para o campo Menu;
-utilizar o comando InputBox (VBScript) para a criação de recurso
de digitação do nome do arquivo a ser criado o qual receberá os
códigos dos elementos gráficos selecionados. A tela deverá ter a aparência conforme segue:
Levando em conta que para se obter os códigos dos elementos
selecionados, o dbMapaExpress deva estar no modo de operação
Selecionar Entidade, fazer com que logo após a confirmação do nome do
arquivo a ser gravado, o dbMapaExpress assuma esse modo de operação.
Além disso, programar no evento Mudou Marcada a recuperação dos
códigos dos elementos marcados, bem como a gravação de cada um.
Para se atender o requisito “c”, programar outro botão do bloco de
botões, de modo que ao ser pressionado, seja encerrada a gravação dos
códigos dos elementos selecionados, retornando o modo de operação
para o modo navegação.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress; abrir o mapa
2o Procedimento: Através do comando ToolBox, selecionar a guia Eventos
do Mapa, selecionar o evento Ao Abrir e o Método: Mostrar Nivel. Ajustando
a descrição do nível de informação para a denominação do nível que
armazena os polígonos de estados, a tela terá a seguinte aparência:
observar que nesse evento (Ao Abrir) encontra-se definida a variável
global Name_Arquivo, a qual será utilizada em outros eventos e/ou
botões.
Terminada a programação deste evento (Ao Abrir) confirmar no botão
OK e fechar a janela que esteja com o mapa em questão. Testar a abertura
deste mapa verificando se o nível de informação com os polígonos dos
estados estão sendo mostrados automaticamente. Caso isso não esteja
ocorrendo, revisar as atividades anteriores
3o Procedimento: Através do botão Programar Botões:
-selecionar o Botão 00 (zero);
-selecionar um arquivo <.bmp> para o campo Imagem
-digitar um breve texto explicativo para o campo Menu;
-utilizar o comando InputBox (VBScript) para a criação de recurso
de digitação do nome do arquivo a ser criado o qual receberá os
códigos dos elementos gráficos selecionados. A tela deverá ter a aparência conforme segue:
- 163 -- 164
4o Procedimento: selecionar o Método: Gravar Arquivo Texto para criar o
arquivo. A Tela terá a seguinte aparência:
Levando em conta que o objetivo da programação é tão somente a criação
do arquivo, promover as seguintes alterações:
- na função OpenTextFile, alterar arquivo para Name_Arquivo;
- eliminar as linhas:
arquivo = “caminho”
linha = “texto”
f.WriteLine linha
Com estas alterações a programação ficará com a seguinte aparência:
Para que o dbMapaExpress entre no modo de operação Selecionar
Entidade selecionar o Método: Selecionar Entidade, inserindo-o no código.
A programação ficará então conforme segue:
Com o botão OK, encerra-se a programação do botão 00.
Teste Intermediário: para verificar se a programação efetuada está
correta e funcional:
- Navegar sobre o botão programado verificando o texto explicativo;
- Pressionar o botão programado, verificando se a tela para entrada do
nome do arquivo está operando convenientemente;
- Após digitar o nome do arquivo verificar se:
- o arquivo foi efetivamente criado;
- o dbMapaExpress está no modo Selecionar Entidade.
Se não forem atentidas as expectativas, refazer as atividades anteriores.
4o Procedimento: selecionar o Método: Gravar Arquivo Texto para criar o
arquivo. A Tela terá a seguinte aparência:
Levando em conta que o objetivo da programação é tão somente a criação
do arquivo, promover as seguintes alterações:
- na função OpenTextFile, alterar arquivo para Name_Arquivo;
- eliminar as linhas:
arquivo = “caminho”
linha = “texto”
f.WriteLine linha
Com estas alterações a programação ficará com a seguinte aparência:
Para que o dbMapaExpress entre no modo de operação Selecionar
Entidade selecionar o Método: Selecionar Entidade, inserindo-o no código.
A programação ficará então conforme segue:
Com o botão OK, encerra-se a programação do botão 00.
Teste Intermediário: para verificar se a programação efetuada está
correta e funcional:
- Navegar sobre o botão programado verificando o texto explicativo;
- Pressionar o botão programado, verificando se a tela para entrada do
nome do arquivo está operando convenientemente;
- Após digitar o nome do arquivo verificar se:
- o arquivo foi efetivamente criado;
- o dbMapaExpress está no modo Selecionar Entidade.
Se não forem atentidas as expectativas, refazer as atividades anteriores.
- 165 -- 166
5o Procedimento: para gravar os códigos dos elementos selecionados no
arquivo informado, programar no Evento: Mudou Marcada, a recuperação
dos códigos dos elementos e as suas gravações.
Para tanto, através do comando Toolbox, opção Editar , guia Eventos,
selecionar o Evento Mudou Marcada; a Propriedade: Entidade Marcada e as
inserir no código
Após, selecionar o Método: Gravar Arquivo Texto, efetuando as alterações
relativas ao nome do arquivo, do modo e do valor a ser gravado. Assim a
programação terá a seguinte aparência:
Confirmar a programação no botão OK.
6o Procedimento: para terminar a gravação dos elementos gráficos
selecionados, programar para um outro botão o fim do modo de operação
Selecionar Entidade. Para tanto através do botão Programar Botões:
-selecionar o Botão 01 (hum);
-selecionar um arquivo <.bmp> para o campo Imagem;
-digitar um breve texto explicativo para o campo Menu;
-selecionar o Método: Selecionar Entidade e inserir no código;
-alterar o valor do argumento selecionar para False;
-selecionar o Método: Marcar Entidade e inserir no código;
-alterar o valor do argumento marcar para False.
Com as respectivas alterações que devem ser implementadas no código
sugerido, a tela ficará com a seguinte aparência:
Confirmar no botão OK.
5o Procedimento: para gravar os códigos dos elementos selecionados no
arquivo informado, programar no Evento: Mudou Marcada, a recuperação
dos códigos dos elementos e as suas gravações.
Para tanto, através do comando Toolbox, opção Editar , guia Eventos,
selecionar o Evento Mudou Marcada; a Propriedade: Entidade Marcada e as
inserir no código
Após, selecionar o Método: Gravar Arquivo Texto, efetuando as alterações
relativas ao nome do arquivo, do modo e do valor a ser gravado. Assim a
programação terá a seguinte aparência:
Confirmar a programação no botão OK.
6o Procedimento: para terminar a gravação dos elementos gráficos
selecionados, programar para um outro botão o fim do modo de operação
Selecionar Entidade. Para tanto através do botão Programar Botões:
-selecionar o Botão 01 (hum);
-selecionar um arquivo <.bmp> para o campo Imagem;
-digitar um breve texto explicativo para o campo Menu;
-selecionar o Método: Selecionar Entidade e inserir no código;
-alterar o valor do argumento selecionar para False;
-selecionar o Método: Marcar Entidade e inserir no código;
-alterar o valor do argumento marcar para False.
Com as respectivas alterações que devem ser implementadas no código
sugerido, a tela ficará com a seguinte aparência:
Confirmar no botão OK.
- 167 -- 168
Exercício 13 - Consultando Continente
Utilizando o mapa do exercício anterior, implementar
recurso que informe a partir de um clique do mouse no
mapa, o código do Estado e o código do Município que são
os “continentes” do ponto clicado.
(Dica: evento Clicou Mouse – método Procurar Continente. Na pasta Exercicio12 consta o
mapa
operação Seguir Mouse, e clicar um ponto de interesse)
PLANEJAMENTO
Programar no Evento: Clicou Mouse,. a recuperação das coordenadas
clicadas através das Propriedades X e Y do clique do mouse e o Método:
Procurar Continente.
PROCEDIMENTOS
1o Procedimento: Abrir o mapa
2o Procedimento: Através do comando ToolBox, selecionar a guia Eventos
do Mapa, e o evento Clicou Mouse. Na seqüência recuperar as coordenadas
através da seleção das propriedades X do clique do mouse e Y do clique do
mouse;
3o Procedimento: Selecionar o Método: Procurar Continente e inserir no
código. Atribuir ao argumento chave as coordenadas do ponto clicado,
precedido do sinal #.
4o Procedimento: Atribuir ao argumento nível a descrição do nível de
informação que armazena os polígonos dos estados (ContornoEstadual).
5o Procedimento: utilizar o comando msgbox (VBScript) para mostrar o
código do Estado que abrange (“continente”) o ponto clicado.
6o Procedimento: repetir o 4o e 5o procedimentos, ajustando a busca para
os polígonos de municípios (ContornoMunicípios).
A tela com a programação deverá ter a seguinte aparência:
Confirmar a programação do evento pressionando o botão OK.
Teste: para verificar se a programação efetuada está correta e funcional:
-Ativar o modo Seguir Mouse através do comando Selecionar;
-Deslocar o cursor sobre o mapa e clicar o mouse. Verificar se o ponto
clicado corresponde a um ponto contido no Estado apontado;
-Se não forem atentidas as expectativas, refazer as atividades
anteriores.
- 169 -- 170
Exercício 14 - Recuperando Contidos
Utilizando o mapa do exercício 12, implementar recurso que
relacione num arquivo texto, todos os códigos de sedes de
municípios existentes no Estado do Paraná;
(Dica: programar num dos botões disponíveis a utilização do método Procurar Contidos)
PLANEJAMENTO
Programar o método Procurar Contidos para o botão 11 (último botão do
bloco de botões personalizáveis) do mapa em questão.
PROCEDIMENTOS
1o Procedimento: abrir o mapa
2o Procedimento: Através do botão Programar Botões, selecionar o botão
11,
selecionar um arquivo <.bmp> para o campo Imagem e digitar um
breve texto explicativo para o campo Menu.
Na seqüência selecionar o método Procurar Contidos e pressionar o botão
Inserir no Código;
3o Procedimento: ajustar valores dos argumentos:
-
Ao argumento chave atribuir o texto PR, que é o código do Estado do
Paraná;
-
Ao argumento nivel atribuir a descrição do nível de informação das
sedes dos municípios – SimbMunicípios;
-
Ao argumento arquivo atribuir o nome do arquivo que receberá os
códigos das sedes municipais. Informar o caminho completo do
arquivo.
-Ao argumento raio atribuir o valor 0 (zero), o que indica que será
utilizado o polígono com código PR como limite. Caso seja fornecido
algum valor para este argumento, a pesquisa será efetuada tomando
por base um círculo com o raio informado, cujo centro será o centro
do polígono PR.
Com essas alterações que devem ser implementadas no código sugerido,
a tela ficará com a seguinte aparência:
Confirmar a programação do botão pressionando o botão OK.
Teste: para verificar se a programação efetuada está correta e funcional:
-Pressionar o ultimo botão;
-Verificar através do Windows Explorer se o arquivo foi criado abrindo-
o com o Bloco de Notas.
Se não forem atentidas as expectativas, refazer as atividades anteriores.
- 171
-
- 172
Exercício 15 - Combinando Recursos (I)
Utilizando o mapa do exercício 12, ativar os polígonos de
municípios, e com a indicação interativa de um círculo,
realçar os municípios atingidos.
(Dica: Comando Mostrar Tema - evento Selecionou Círculo - propriedades X do Centro do
Círculo; Y do Centro do Círculo; Raio do Círculo - métodos Procurar Contidos; Atualizar
Mapa)
PLANEJAMENTO
Programar para o evento Selecionou Círculo a utilização do método
Procurar Contidos, que no caso serão os polígonos atingidos pelo círculo.
Considerar como polígono atingido, aquele que contiver pelo menos 5%
de sua área dentro do círculo informado.
Para mostrar os municípios atingidos deverá ser utilizado um tema, o
qual deverá ser previamente criado e “carregado” na abertura do mapa.
Ao se “fechar” o mapa, o arquivo <.key> utilizado na definição do tema
e que armazena os códigos dos polígonos (municípios) atingidos pelo
círculo, deverá ser “zerado”, sob pena de na re-abertura do mapa, ser
apresentado o resultado da ultima pesquisa de municípios atingidos.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress, abrir o mapa
(ContornoMunicípios);
2o Procedimento:. Com o bloco de notas criar um arquivo texto com o
nome de
única linha com a sigla do estado de São Paulo (SP).
3o Procedimento: Criar um tema que apresenta os dados do arquivo
(Procedimento similar encontra-se detalhado no Passo 5 do Exercício 05)
4o Procedimento: Salvar este tema com o nome de
do comando Temas botão Salvar;
5o Procedimento: programar para o evento Ao Abrir a carga do arquivo de
temas, criado no procedimento anterior. Para tanto selecionar o Método:
Carregar Temas, ajustando o argumento caminho para o nome do arquivo
de temas. Com estas alterações, a programação do Evento Ao Abrir,
deverá estar com a seguinte aparência:
Confirmar a programação através do botão OK.
Teste Intermediário: para verificar se a programação efetuada está
correta e funcional, fechar a janela do mapa. Re-abrir e constatar que o
Estado de São Paulo seja mostrado com a cor atribuída ao tema. Se isto
não ocorrer, refazer as atividades anteriores.
6o Procedimento: Através do comando ToolBox, selecionar a guia Eventos
do Mapa, e o evento Selecionou Círculo. Na seqüência recuperar os dados
do círculo informado, através das propriedades Centro X do círculo, Centro
Y do Círculo e Raio do Círculo, selecionando cada um deles e pressionando
o botão Inserir no Código.
7o Procedimento: Selecionar o Método: Procurar Contidos e inserir no
código. Atribuir ao argumento chave as coordenadas do centro do círculo,
precedido do sinal # e ao argumento nível a descrição do nível de
informação dos municípios (ContornoMunicípios).
- 173 -- 174
9o Procedimento: atribuir ao argumento arquivo o
argumento percentual informar o valor 5; e eliminar a linha que trata do
valor do raio, visto este valor ser uma propriedade do círculo, já
programado no 6o Procedimento.
10o Procedimento: Selecionar o Método: Atualizar Mapa e inserir no
código. Este método redesenha o mapa na escala corrente. A
programação final ficará com a seguinte aparência:
Teste: para verificar se a programação efetuada está correta e funcional,
utilizar o comando Selecionar opção Círculo. Com o mouse indicar um
círculo de interesse sobre o mapa e constatar que os municípios atingidos
serão realçados.
Caso os municípios não sejam realçados, revisar e/ou refazer as
atividades anteriores.
9o Procedimento: atribuir ao argumento arquivo o
argumento percentual informar o valor 5; e eliminar a linha que trata do
valor do raio, visto este valor ser uma propriedade do círculo, já
programado no 6o Procedimento.
10o Procedimento: Selecionar o Método: Atualizar Mapa e inserir no
código. Este método redesenha o mapa na escala corrente. A
programação final ficará com a seguinte aparência:
Teste: para verificar se a programação efetuada está correta e funcional,
utilizar o comando Selecionar opção Círculo. Com o mouse indicar um
círculo de interesse sobre o mapa e constatar que os municípios atingidos
serão realçados.
Caso os municípios não sejam realçados, revisar e/ou refazer as
atividades anteriores.
- 175
-
Exercício 16 - Combinando Recursos (II)
Copiar para a pasta de exercícios o arquivo
constante na pasta <\dbmapaexrpress\brasil>, renomeando
o para
criação de polígono e para realce das sedes de municípios,
que estiverem nele contido.
PLANEJAMENTO
A criação do polígono prevista neste exemplo deverá ser efetuada com
cliques do mouse sobre o mapa. Para o fechamento do polígono, deverá
existir recurso (botão) que faça o ultimo ponto ter as mesmas
coordenadas do primeiro ponto.
As coordenadas do polígono deverão ser armazenadas num arquivo texto
do tipo <.plv> (polígono virtual), devendo o nome deste arquivo ser
informado pelo operador.
Para mostrar as sedes de municípios atingidos deverá ser utilizado um
tema, o qual deverá ser previamente criado e “carregado” na abertura do
mapa.
Para realçar as sedes dos municípios utilizar uma representação volátil do
tipo círculo de 5 pixels.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress, abrir o mapa
2o Procedimento: programar para o evento Ao Abrir a criação de um
arquivo temporário (Método: Gravar Arquivo Texto) e a carga de um tema
para realçar as sedes de municípios (Método: Mostrar Tema Círculo).
Esta programação deverá ter a seguinte aparência:
- 176
Comentários: ao evento Ao Abrir, observar ainda, que foram inseridos: o
Método Organizar Janelas visando maximizar a janela do mapa; o Método
Redesenhar Mapa visando ajustar o mapa a nova janela; o Método Mostrar
Nivel para mostrar os polígonos dos estados; as variáveis globais
NomeArquivo, FlagArquivo, FlagOperação, PriLinha, QtdPontos.
3o Procedimento: programar para o primeiro botão a digitação do nome
do arquivo para as coordenadas do polígono; o Método: Gravar Arquivo
Texto; o Método: Seguir Mouse; Carregar tema para mostrar o polígono
volátil.
Esta programação deverá ter a seguinte aparência:
4o Procedimento: programar para o Evento: Clicou Mouse, a gravação das
coordenadas do ponto clicado. Para tanto utilizar as Propriedades X do
Clique do Mouse e Y do Clique do Mouse; e o Método: Gravar Arquivo Texto; e
aplicado um contador de pontos clicados (variável qtdpontos) e salva as
coordenadas do primeiro ponto numa variável auxiliar (PriLinha).
Esta programação terá então a seguinte aparência:
Comentários: ao evento Ao Abrir, observar ainda, que foram inseridos: o
Método Organizar Janelas visando maximizar a janela do mapa; o Método
Redesenhar Mapa visando ajustar o mapa a nova janela; o Método Mostrar
Nivel para mostrar os polígonos dos estados; as variáveis globais
NomeArquivo, FlagArquivo, FlagOperação, PriLinha, QtdPontos.
3o Procedimento: programar para o primeiro botão a digitação do nome
do arquivo para as coordenadas do polígono; o Método: Gravar Arquivo
Texto; o Método: Seguir Mouse; Carregar tema para mostrar o polígono
volátil.
Esta programação deverá ter a seguinte aparência:
4o Procedimento: programar para o Evento: Clicou Mouse, a gravação das
coordenadas do ponto clicado. Para tanto utilizar as Propriedades X do
Clique do Mouse e Y do Clique do Mouse; e o Método: Gravar Arquivo Texto; e
aplicado um contador de pontos clicados (variável qtdpontos) e salva as
coordenadas do primeiro ponto numa variável auxiliar (PriLinha).
Esta programação terá então a seguinte aparência:
- 177 -- 178
5o Procedimento: programar para o terceiro botão o fechamento do
polígono, gravando as coordenadas do primeiro ponto que foram
armazenadas na variável auxiliar PriLinha, através do Método: Gravar
Arquivo Texto;
6o Procedimento: ainda para este botão, programar através do Método:
Procurar Contidos a pesquisa das sedes municipais contidas no polígono
indicado pelo operador, observando que o resultado da pesquisa será
inserido no arquivo temporário criado no 2o Procedimento.
7o Procedimento: “zerar” as variáveis utilizadas e desativar o modo de
operação Seguir Mouse.
Esta programação terá então a seguinte aparência:
5o Procedimento: programar para o terceiro botão o fechamento do
polígono, gravando as coordenadas do primeiro ponto que foram
armazenadas na variável auxiliar PriLinha, através do Método: Gravar
Arquivo Texto;
6o Procedimento: ainda para este botão, programar através do Método:
Procurar Contidos a pesquisa das sedes municipais contidas no polígono
indicado pelo operador, observando que o resultado da pesquisa será
inserido no arquivo temporário criado no 2o Procedimento.
7o Procedimento: “zerar” as variáveis utilizadas e desativar o modo de
operação Seguir Mouse.
Esta programação terá então a seguinte aparência:
Teste: para verificar se a programação efetuada está correta e funcional:
pressionar o primeiro botão; informar um nome para o arquivo de
coordenadas; clicar pontos definidores da área de interesse; terminar a
operação pressionando o terceiro botão. Deverá mostrar as sedes dos
municípios contidos.
Caso as sedes dos municípios não sejam realçadas, revisar e/ou refazer as
atividades anteriores.
Exercício 17 - Combinando Recursos (III)
- 179 -- 180 -
Criar para o mapa do exercício anterior (
recurso para que o operador informe a sigla de um Estado e
que o dbMapa Express informe a quantidade de cidades
existentes naquele estado.
(Dica: Verificar o botão 4 no mapa
PLANEJAMENTO
Programar recurso (botão) que pemita o operador digitar a sigla de um
estado. Na seqüência procurar as sedes de municípios (símbolos
armazenados no nível SimbMunicípios) através do Método: Procurar
Contidos. Relacionar os códigos das sedes num arquivo temporário
Para totalizar a quantidade de sedes gravadas neste arquivo temporário,
estabelecendo um contador para cada registro lido.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress, abrir o mapa
2o Procedimento: Através do botão Programar Botões:
-
selecionar o Botão 03 (tres);
-
selecionar um arquivo <.bmp> para o campo Imagem;
-
digitar um breve texto explicativo para o campo Menu;
-
utilizar o comando InputBox (VBScript) para a criação de recurso de
digitação da sigla do estado de interesse.
3o Procedimento: selecionar o Método: Procurar Contidos e inserir no
código. Na seqüência ajustar os argumentos:
-
Ao argumento chave atribuir o texto digitado pelo operador;
- 181
-
-
Ao argumento nivel atribuir a descrição do nível de informação das
sedes dos municípios – SimbMunicípios;
-
Ao argumento arquivo atribuir o nome do arquivo temporário que
receberá os códigos das sedes municipais. Informar o caminho
completo do arquivo.
-
Ao argumento raio atribuir o valor 0 (zero), o que indica que será
utilizado o polígono com a sigla fornecida, como limite. Caso seja
fornecido algum valor para este argumento, a pesquisa será efetuada
tomando por base um círculo com o raio informado, cujo centro será
o centro do polígono com a sigla fornecida.
4o Procedimento: selecionar o Método: Ler Arquivo Texto, ajustando o
nome do arquivo para a denominação atribuída no procedimento
anterior. Estabelecer um contador (variável qtd) o qual deve ser
implementado na leitura de cada registro do arquivo.
5o Procedimento: utilizar o comando msgbox (do VBScript) para
apresentar o valor atingido pelo contador qtd.
Teste: para verificar se a programação efetuada está correta e funcional:
pressionar o quarto botão; informar a sigla de um dos estados. (Observar
que essa digitação deverá ser uma sigla válida, pois a programação
atribuída a esse mapa não trata digitações inválidas). Caso não seja
apresentada a quantidade de sedes, revisar e/ou refazer as atividades
anteriores.
Esta programação terá então a seguinte aparência:
- 182
Exercício 18 - Fazendo uma janela, índice de outra
Copiar duas vezes para a pasta de exercícios o arquivo
renomeando-os para
Com esses 2 mapas, disparar o dbMapaExpress de modo que
sejam abertas duas janelas, uma com o mapa
fazendo que a dimensão da janela de um mapa, seja
mostrado na forma de um retângulo, sobre a outra janela.
(Dica: recupere as coordenadas da janela e grave um polígono virtual e ative-o na outra
janela) (Verificar na pasta Exercício 18)
PLANEJAMENTO
Ao abrir o mapa A, programar para que seja aberto automaticamente o
mapa B. Organizar as janelas na vertical e efetuar zoom em algum estado
do mapa B. Recuperar as coordenadas da janela desse mapa (mapa B),
gravá-las num arquivo tipo polilinha volátil (.plv) e mostra-lo no mapa A.
Programar ainda para o mapa B, sempre que houver alguma alteração da
visualização corrente, a re-gravação das coordenadas da janela no
arquivo da polilinha volátil, com a conseqüente atualização do mapa A.
PROCEDIMENTOS
1o Procedimento: Iniciar o dbMapaExpress, abrir o mapa
na guia Eventos o Evento Ao Abrir;
2o Procedimento: selecionar o Método: Abrir Mapa e inserir no código.
Ajustar o argumento mapa para o caminho completo para o mapa B.
- 183 -- 184
3o Procedimento: selecionar o Método: Organizar Janelas e atribuir ao
argumento tipo o valor 2, o qual corresponde a disposição vertical das
janelas correntes.
4o Procedimento: selecionar por 2 vezes o Método: Redesenhar Mapa,
ajustando os argumentos para mapaA e mapaB. Este método garante que o
limite do mapa é ajustado a janela corrente, apesar de não haver ainda
nenhum elemento gráfico apresentado.
Até este ponto, a programação do Evento Ao Abrir deverá ter a seguinte
aparência:
5o Procedimento: Na seqüência, preparar para serem mostrados na
próxima atualização da janela do mapa A, os níveis de informação com os
polígonos dos estados (ContornoEstadual) e suas siglas (SiglasEstados).
Para tanto utilizar por 2 vezes o Método: Mostrar Nivel, ajustando o
argumento mapa para mapaA, e ao argumento nivel atribuir os textos com
as respectivas denominações.
Para o argumento imediato atribuir o valor False, significando que os
níveis estarão indicados para serem ativados na próxima atualização da
janela.
6o Procedimento: Ainda ao Evento Ao Abrir do mapa A, programar um
zoom para o mapa B, especificamente no estado de Goiás. Para tanto,
selecionar o Método: Janela Por Chave, atribuindo mapaB ao argumento
mapa e o texto GO (sigla de Goiás) para o argumento chave. (Como ainda
não há nenhum nível ativo para o mapa B, este zoom não mostrará
nenhum elemento gráfico, mas fará com que a janela do mapaB esteja
com os limites do estado de Goiás)
Esta parte da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
3o Procedimento: selecionar o Método: Organizar Janelas e atribuir ao
argumento tipo o valor 2, o qual corresponde a disposição vertical das
janelas correntes.
4o Procedimento: selecionar por 2 vezes o Método: Redesenhar Mapa,
ajustando os argumentos para mapaA e mapaB. Este método garante que o
limite do mapa é ajustado a janela corrente, apesar de não haver ainda
nenhum elemento gráfico apresentado.
Até este ponto, a programação do Evento Ao Abrir deverá ter a seguinte
aparência:
5o Procedimento: Na seqüência, preparar para serem mostrados na
próxima atualização da janela do mapa A, os níveis de informação com os
polígonos dos estados (ContornoEstadual) e suas siglas (SiglasEstados).
Para tanto utilizar por 2 vezes o Método: Mostrar Nivel, ajustando o
argumento mapa para mapaA, e ao argumento nivel atribuir os textos com
as respectivas denominações.
Para o argumento imediato atribuir o valor False, significando que os
níveis estarão indicados para serem ativados na próxima atualização da
janela.
6o Procedimento: Ainda ao Evento Ao Abrir do mapa A, programar um
zoom para o mapa B, especificamente no estado de Goiás. Para tanto,
selecionar o Método: Janela Por Chave, atribuindo mapaB ao argumento
mapa e o texto GO (sigla de Goiás) para o argumento chave. (Como ainda
não há nenhum nível ativo para o mapa B, este zoom não mostrará
nenhum elemento gráfico, mas fará com que a janela do mapaB esteja
com os limites do estado de Goiás)
Esta parte da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
- 185 -- 186
7o Procedimento: Na seqüência preparar para serem mostrados na
próxima atualização da janela do mapa B, os níveis de informação com os
polígonos dos estados (ContornoEstadual) e suas siglas (SiglasEstados).
Para tanto utilizar por 2 vezes o Método: Mostrar Nivel, ajustando o
argumento mapa para mapaB, e ao argumento nivel atribuir os textos com
as respectivas denominações.
Para o argumento imediato atribuir o valor False, significando que os
níveis estarão indicados para serem ativados na próxima atualização da
janela.
8o Procedimento: Na seqüência recuperar as coordenadas limites da
janela do mapaB. Para tanto, inserir no código, as propriedades: Menor X
da Janela, Menor Y da Janela, Maior X da Janela e Maior Y da Janela.
Esta parte da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
9o Procedimento: Na seqüência criar um arquivo do tipo polilinha virtual
(.plv) com as coordenadas recuperadas. Para tanto, utilizar o Método:
Gravar Arquivo Texto, gravando 5 registros, com as coordenadas
recuperadas.
Para que uma polilinha virtual seja considerada um polígono (área
fechada), as coordenadas do último registro deverão ser iguais ao do
primeiro registro.
Atribuir ao argumento arquivo um nome de arquivo texto, o qual
armazenará as coordenadas (janela.plv). Ao argumento linha, atribuir as
coodenadas e efetuar 5 gravações (f.WriteLine)
Esta parte da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
10o Procedimento: Para mostrar esse polígono virtual no mapa A, utilizar
o recurso de tema. Especificamente selecionar o Método: Mostrar Tema
Extendido atribuindo ao argumento chave o arquivo do polígono virtual
(janela.plv), ajustando os argumentos cor e preenchimento conforme
interesses.
11o Procedimento: Para finalizar a programação do Evento Ao Abrir
inserir no código o Método: Atualiza Mapa, atribuindo mapaB como
argumento. Este método gerará no mapa B um Evento Mudou Janela.
Esta finalização da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
7o Procedimento: Na seqüência preparar para serem mostrados na
próxima atualização da janela do mapa B, os níveis de informação com os
polígonos dos estados (ContornoEstadual) e suas siglas (SiglasEstados).
Para tanto utilizar por 2 vezes o Método: Mostrar Nivel, ajustando o
argumento mapa para mapaB, e ao argumento nivel atribuir os textos com
as respectivas denominações.
Para o argumento imediato atribuir o valor False, significando que os
níveis estarão indicados para serem ativados na próxima atualização da
janela.
8o Procedimento: Na seqüência recuperar as coordenadas limites da
janela do mapaB. Para tanto, inserir no código, as propriedades: Menor X
da Janela, Menor Y da Janela, Maior X da Janela e Maior Y da Janela.
Esta parte da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
9o Procedimento: Na seqüência criar um arquivo do tipo polilinha virtual
(.plv) com as coordenadas recuperadas. Para tanto, utilizar o Método:
Gravar Arquivo Texto, gravando 5 registros, com as coordenadas
recuperadas.
Para que uma polilinha virtual seja considerada um polígono (área
fechada), as coordenadas do último registro deverão ser iguais ao do
primeiro registro.
Atribuir ao argumento arquivo um nome de arquivo texto, o qual
armazenará as coordenadas (janela.plv). Ao argumento linha, atribuir as
coodenadas e efetuar 5 gravações (f.WriteLine)
Esta parte da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
10o Procedimento: Para mostrar esse polígono virtual no mapa A, utilizar
o recurso de tema. Especificamente selecionar o Método: Mostrar Tema
Extendido atribuindo ao argumento chave o arquivo do polígono virtual
(janela.plv), ajustando os argumentos cor e preenchimento conforme
interesses.
11o Procedimento: Para finalizar a programação do Evento Ao Abrir
inserir no código o Método: Atualiza Mapa, atribuindo mapaB como
argumento. Este método gerará no mapa B um Evento Mudou Janela.
Esta finalização da programação do Evento Ao Abrir, ficará então com a
seguinte aparência:
- 187 -- 188
12o Procedimento: Programar para o mapa B, para o Evento Mudou
Janela, a recuperação das coordenadas do limite da janela, a re-gravação
do polígono virtual (janela.plv) e a atualização do mapa A.
Para tanto, utilizar o Método: Gravar Arquivo Texto, gravando 5 registros,
com as coordenadas recuperadas.
Para que a polilinha virtual seja considerada um polígono, (área fechada)
as coordenadas do último registro deverão ser iguais ao do primeiro
registro.
Atribuir ao argumento arquivo o nome do arquivo texto informado no 10o
Procedimento (janela.plv). Ao argumento linha, atribuir as coodenadas e
efetuar 5 gravações (f.WriteLine). Esta parte da programação, ficará então
com a seguinte aparência:
Teste: para verificar se a programação efetuada está correta e funcional,
reiniciar o dbMapa Express, iniciando como primeira janela o mapa
mapa
sobre o
visualização do mapa B.
Efetue novos zooms e deslocamentos no mapa B e verifique a mudança
do retângulo sobre o mapa A.
12o Procedimento: Programar para o mapa B, para o Evento Mudou
Janela, a recuperação das coordenadas do limite da janela, a re-gravação
do polígono virtual (janela.plv) e a atualização do mapa A.
Para tanto, utilizar o Método: Gravar Arquivo Texto, gravando 5 registros,
com as coordenadas recuperadas.
Para que a polilinha virtual seja considerada um polígono, (área fechada)
as coordenadas do último registro deverão ser iguais ao do primeiro
registro.
Atribuir ao argumento arquivo o nome do arquivo texto informado no 10o
Procedimento (janela.plv). Ao argumento linha, atribuir as coodenadas e
efetuar 5 gravações (f.WriteLine). Esta parte da programação, ficará então
com a seguinte aparência:
Teste: para verificar se a programação efetuada está correta e funcional,
reiniciar o dbMapa Express, iniciando como primeira janela o mapa
mapa
sobre o
visualização do mapa B.
Efetue novos zooms e deslocamentos no mapa B e verifique a mudança
do retângulo sobre o mapa A.
- 189 -- 190
Exercício 19 - Interagindo com MS-Access
Para entender a interação entre o MS-Access e o dbMapa
Express, proceder conforme segue:
1.
Certificar-se de que o MS-Access está devidamente
instalado no computador;
2.
Abrir o banco de dados
<\dbmapaexpress\brasil>e familiarizar-se com as
tabelas e dados existentes;
3.
Finalizar o MS-Access;
4.
Iniciar o dbMapa Express com o mapa
constante na pasta
5.
Informar a sigla de um Estado (em letras maiúsculas);
6.
Selecionar o polígono de um município;
7.
Pressionar o primeiro botão do bloco de botões
personalizáveis e visualize no MS-Access os dados
cadastrais do município selecionado;
8.
Alternar para o modo Seleção de Área (comando Selecionar
opção Área) e visualize no MS-Access a relação dos
municípios atingidos pela área selecionada;
9.
Alternar para o modo Seleção de Círculo (comando Selecionar
opção Círculo) e visualize no MS-Access a relação de
municípios atingidos pelo círculo selecionado;
10. Para realçar os municípios no mapa, pressionar o botão
Mapa na tela do MS-Access;
Tendo efetuado todas estas operações, navegar nos scripts e
programação dos eventos e botões do dbMapa Express e da
- 191
-
aplicação desenvolvida no MS-Access e identificar o arranjo e
chamadas das funções que atendem as operações efetuadas.
Identificar notadamente no MS-Access o módulo
RecuperarChave o qual contém as funções RecuperaChave e
ProcessarContidos, funções estas que são requisitadas pelo
dbMapa Express.
- 192


Nenhum comentário:
Postar um comentário