Você está na página 1de 26

Universidade Federal do Tocantins

Ciência da Computação

Análise espacial de dados


Uma abordagem baseada em QGIS

Andreas Kneip
Módulo 5

Classificando Mapas Vetoriais

5.1 Dados de atributo de camada vetorial


Dados vetoriais são indiscutivelmente o tipo de dados mais comum no uso diário de
SIG. O modelo vetorial representa a localização e a forma de características geo-
gráficas usando pontos, linhas e polígonos (e para dados 3D também superfícies e
volumes), enquanto suas outras propriedades são incluídas como atributos (frequen-
temente apresentadas como uma tabela no QGIS).
Até agora, nenhuma das alterações que fizemos para o mapa foram influenciadas
pelos objetos que estão sendo mostrados. Em outras palavras, todas as áreas urba-
nas são parecidas, e todas as estradas parecem iguais. Ao olhar para o mapa, os
espectadores não sabem nada sobre as estradas que estão vendo; apenas que existe
uma estrada de uma determinada forma numa determinada área.
Mas a força do SIG é que todos os objetos que são pesquisados no mapa também
têm atributos. Mapas em um SIG não são apenas imagens. Eles representam não
apenas os objetos em locais, mas também informações sobre esses objetos.

5.1.1 Visualizando Atributos da Camada


É importante saber que os dados que você estará trabalhando não representam ape-
nas onde os objetos estão no espaço, mas também te diz o que esses objetos são.
Do exercício anterior, você deve ter a camada protected_areas carregada em seu
mapa. Se não estiver carregado, você pode encontrar o conjunto de dados de formato
de arquivo ESRI Shapefile protected_areas.shp em exercise_data/shapefile .
Os polígonos que representam as áreas protegidas constituem os dados espaci-
ais, mas podemos aprender mais sobre as áreas protegidas explorando a tabela de
atributos da camada.

1. No painel Camadas, clique na camada protected_areas para selecioná-la.

1
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 2

Abrir tabela de atributos


2. Na barra de ferramentas, clique no botão . Isso abrirá uma
nova janela mostrando a tabela de atributos da camada protected_areas .

Uma linha é chamada de registro e está associada a um elemento no Mapa de


Tela, como um polígono. Uma coluna é chamada de campo (ou atributo) e pos-
sui um nome que ajuda a descrevê-la, como nome ou id. Os valores nas células
são conhecidos como valores de atributos. Essas definições são comumente
usadas em GIS, portanto, é bom se familiarizar com elas.
Na camada protected_areas , existem dois recursos, que são representados
pelos dois polígonos que vemos na tela do mapa.
Para entender o que os campos e valores de atributo representam, pode ser
necessário encontrar documentação (ou metadados) que descreva o significado
dos valores de atributo. Isso geralmente está disponível com o criador do con-
junto de dados.

A seguir, vamos ver como um registro na tabela de atributos está vinculado a um


recurso de polígono que vemos na tela do mapa.

1. Volte para a janela principal do QGIS.


Selecionar feição por área ou clique simples
2. Na barra de ferramentas, clique no botão .

3. Certifique-se de que a camada protected_areas ainda esteja selecionada no


painel de camadas.

4. Mova o mouse para a Tela do mapa e clique com o botão esquerdo no menor
dos dois polígonos. O polígono ficará amarelo indicando que está selecionado.
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 3

5. Abra novamente a Tabela de atributos da camada e você poderá ver que uma
das linhas está realçada. Esta é a linha que corresponde ao polígono selecio-
nado.

Você também pode fazer uma seleção através da Tabela de atributos da camada,

1. Na janela de Tabela de atributos da camada, selecione o número na extrema


esquerda que corresponde ao registro não selecionado.
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 4

2. Vá para janela principal de QGIS e você poderá ver o polígono maior selecio-
nado, em amarelo.

3. Para anular a seleção, na janela de atributos da camada, ou na barra de ferra-


mentas, clique em Desmarque todas as seleções da camada .

Às vezes, há muitos recursos mostrados na Tela do Mapa e pode ser difícil ver
qual recurso está selecionado na Tabela de Atributos. Outra maneira de identificar a
localização de um recurso é usar a ferramenta Flash Feature.

1. Na Tabela de atributos , clique com o botão direito do mouse na linha que tem
valor de atributo r2855697 no campo full_id .

2. No menu que irá abrir, clique em Destacar elemento e observe o que acontece
na tela de mapas. Você verá o polígono menor piscar em vermelho algumas
vezes. Repita o procedimento se não percebeu.

Uma outra ferramenta útil é de Aproximar à feição , que diz ao QGIS para dar zoom
na área de interesse no mapa.

1. Na Tabela de atributos , clique com o botão direito do mouse na linha que tem
valor de atributo r2855697 no campo full_id .

2. No menu que irá abrir clique em Aproximar à feição . Perceba que o polígono
agora ocupa toda a extensão da tela de mapas.

Agora você pode fechar a tabela de atributos. Para voltar a tela original você pode
usar os comandos de zoom da barra de ferramentas.

Exercício 1

Abra a camada rivers e conte quantos elementos e campos ela tem.


MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 5

5.2 Rótulos
Os rótulos podem ser adicionados a um mapa para mostrar qualquer informação sobre
um objeto. Qualquer camada vetorial pode ter rótulos associados. Esses rótulos tem
seu conteúdo baseado nos atributos de uma camada.

5.2.1 Utilizando rótulos


1. Selecione a camada places ou carregue a camada places.shp .
Opções de rotulação da camada
2. Clique no botão .

3. Vai ser aberto um painel de Estilização de camadas do lado direito da tela de


mapas. Mude de Sem rótulos para Rótulos individuais . Observe que alguns
ícones na barra de ferramentas que estavam indisponíveis agora estão disponí-
veis.

4. Escolha name como valor para o rótulo.

5. Clique em Aplicar .

Agora o mapa deve ter etiquetas como estas:


MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 6

5.2.2 Alterando as opções de Rótulo


Dependendo dos estilos que você escolheu para o seu mapa nas lições anteriores,
você pode descobrir que os rótulos não estão formatados apropriadamente e se so-
brepõem ou estão muito distantes de seus marcadores de ponto.

1. Abra a caixa de diálogo Propriedades da camada clicando duas vezes na ca-


mada places .

2. Selecione Rótulos . Assegure-se que a opção Texto está selecionada na lista


de opções do lado esquerdo e altere o tamanho da letra para 13,5 .

3. Clique em Aplicar . Essa fonte pode ser maior e mais familiar para os usuários,
mas sua legibilidade ainda depende de quais camadas são renderizadas abaixo
dela. Para resolver isso, vamos dar uma olhada na opção Amortecedor .

4. Selecione Amortecedor na lista de opções à esquerda.

5. Selecione a opção Desenhar buffer do texto , depois escolha as opções que


coincidem com o que se mostra aqui:
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 7

6. Clique em Ok. Você deverá ver alguma coisa assim:

Repare que os rótulos estão muito próximos aos símbolos. Podemos resolver o
posicionamento dos rótulos em relação aos seus pontos.

7. Selecione Posicionamento no lado esquerdo do painel.

8. Selecione o modo Around point e mude o valor de Distância para 2,0 mm .

9. Clique em Aplicar . Você verá que os rótulos já não estão sobrepostos aos
pontos.
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 8

5.2.3 Utilizando Rótulos no lugar da Simbologia da Camada


Em muitos casos, a localização de um ponto não precisa ser muito específica. Por
exemplo, a maioria dos pontos na camada de lugares se refere a cidades ou subúrbios
inteiros, e o ponto específico associado a tais feições não é tão específico em grande
escala. Na verdade, fornecer um ponto muito específico costuma ser confuso para
quem está lendo um mapa.
Para citar um exemplo: em um mapa do mundo o ponto dado para a União Euro-
peia pode estar em algum lugar na Polônia. Para alguém lendo o mapa, ver um ponto
marcado União Europeia na Polônia, pode levar a crer que a capital da União Europeia
é na Polônia.
Então, para evitar esse tipo de mal-entendido, muitas vezes é útil desativar os
símbolos de pontos e substituí-los por completo com rótulos.
No QGIS, você pode fazer isso alterando a posição dos rótulos a serem apresen-
tados diretamente sobre os pontos a que se referem.

1. Abra a guia Rótulos nas Propriedades da camada para a camada places .

2. Selecione a guia Posicionamento , na lista de opções à esquerda.

3. Abra o menu de Modos e clique em Offset from point . Isso revelará as opções
para Quadrante que você pode usar para definir a posição do rótulo em relação
ao ponto. Neste caso, queremos que o rótulo esteja centralizado no ponto, então,
escolha o quadrante central.

4. Oculte os símbolos de ponto editando a camada Simbologia como de costume


e definindo o Tamanho do marcador para 0,0 .

5. Clique em Aplicar . O resultado ficará parecido com este:


MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 9

Se você diminuir o zoom do mapa, verá que alguns dos rótulos desaparecem em
escalas maiores para evitar a sobreposição. Às vezes, é isso que você deseja ao
lidar com conjuntos de dados que possuem muitos pontos, mas em outras ocasiões,
você perderá informações úteis dessa maneira. Existe outra possibilidade de lidar
com casos como este, que abordaremos em um exercício posterior nesta lição. Por
enquanto, diminua o zoom e clique no botão Toggle Display of Unplaced Labels na barra de
ferramentas e veja o que acontece.

Exercício 2

1. Redefina as configurações de rótulo e símbolo para ter um marcador de ponto e


um deslocamento de rótulo de 2,0 milímetros.

2. Defina o mapa na escala 1:100000 . Você pode fazer isso digitando-o na caixa
Escala na Barra de status. Modifique seus rótulos para serem adequados para
visualização nesta escala.

5.2.4 Rotulando Linhas


Agora que você sabe como funciona a rotulagem, há um problema adicional. Pontos
e polígonos são fáceis de rotular, mas o que dizer sobre linhas? Se você as rotulasse
da mesma forma que os pontos, o resultado ficaria aproximadamente assim:
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 10

Agora reformataremos os rótulos da camada roads para que sejam fáceis de en-
tender.

1. Oculte a camada places para não ser distraído.

2. Ative Rótulos individuais para a camada roads , como você fez acima para
os places .

3. Defina o tamanho da fonte para 10 para que você possa ver mais rótulos.

4. Amplie a área da cidade de Swellendam.

5. Na guia Posicionamento escolha o Modo Paralelo .


Você provavelmente descobrirá que o estilo do texto usou valores padrão e os
rótulos são, consequentemente, muito difíceis de ler. Atualize o Texto para usar
uma Cor cinza-escuro ou preta e o Buffer para usar uma cor amarelo-claro.
O mapa ficará parecido com este, dependendo da escala. Veja que alguns dos
nomes das ruas aparecem mais de uma vez e que nem sempre são necessários.
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 11

6. Na guia Rótulos da caixa de diálogo Propriedades da camada , escolha a op-


ção Renderização e, para evitar rótulos duplicados, em Opções da Feição se-
lecione Mesclar linhas conectadas .

7. Clique em OK .
Outra função útil é uma que previne que rótulos sejam desenhados para feições
muito pequenas, difíceis de serem notadas.

8. Em Renderização , para Omitir rotulagem de feições menores que. . . defina o


valor 5,00 mm e observe os resultados ao clicar em Aplicar .
Experimente também diferentes configurações de posicionamento. Como vimos
antes, a opção Horizontal não é uma boa ideia neste caso, então vamos tentar
a opção Curvado .

9. Selecione o Modo Curvado no painel Posicionamento da guia Rótulos .

Como você pode ver, isso oculta alguns rótulos que antes eram visíveis, devido à
dificuldade de fazer alguns deles seguirem as linhas tortuosas das ruas e ainda
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 12

serem legíveis. Isso torna os outros rótulos muito mais úteis, pois rastreiam as
estradas, em vez de flutuar no espaço entre eles. Você pode decidir qual dessas
opções usar, dependendo do que você acha que parece mais útil ou o que parece
melhor.

5.2.5 Ajustes Definidos de Dados


1. Desative a rotulação para a camada roads .

2. Reative a rotulação para a camada places .

3. Abra a tabela de atributos para a camada places .


Tem um campo que nos interessa agora place , que define o tipo de área urbana
de cada registro. Podemos usar esses dados para influenciar os estilos dos
rótulos.

4. Navegue até a guia Texto no painel Rótulos .

5. Clique no botão próximo ao botão Texto em itálico abaixo de Estilo e seleci-


one Editar. . . para abrir o Construtor de cadeias de caracteres de expressão :

6. Em Campo e valores , clique duas vezes no campo place e, a seguir, clique em


Único . Isso listará todos os valores exclusivos do campo local desta camada.
Adicione um = no editor de texto e clique duas vezes em town .

7. Alternativamente, você pode digitar: "place"= ’town’ diretamente no editor de


texto.
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 13

8. Clique em OK duas vezes.

Note que os rótulos de todos os lugares que são cidades estão em itálico.

5.3 Classificação
Os rótulos são uma boa forma de comunicar informações, como nomes de lugares
individuais, mas não podem ser usados para tudo. Por exemplo, digamos que alguém
deseja saber para que serve cada área da camada landuse . Usando rótulos, você
obteria isto:
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 14

Isso torna a rotulagem do mapa difícil de ler e seria até mesmo impossível de ver
se houvesse muitos usos diferentes do território em um mapa.
O objetivo desta lição: Aprender como classificar dados vetoriais de forma eficaz.

5.3.1 Classificação de Dados Nominais


1. Abra as Propriedades da camada para a camada landuse .

2. Vá até a guia Simbologia .

3. Em Simbologia Simples e altere para Categorizado .

4. Mude o Valor para landuse e o Gradiente de cores para Random colors .

5. Clique no botão Classificar , na parte de baixo do painel.

6. Clique em Ok . Você verá alguma coisa assim.

7. Clique na seta (ou sinal de mais) no painel Camadas e você verá as categorias
explicadas:
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 15

Agora, nossos polígonos de uso do solo são coloridos e classificados de forma


que as áreas com o mesmo uso do solo tenham a mesma cor.

8. Se desejar, você pode alterar o símbolo de cada área de uso do solo clicando
duas vezes no bloco de cor relevante no painel Camadas ou na caixa de diálogo
Propriedades da camada :

Note que existe uma categoria vazia. Isso é bom de manter para que todas as
possíveis categoria estejam representadas, mesmo as sem identificação de uso
do solo (com valor NULL). As vezes é conveniente atribuir uma cor adequada
para essas situações.

Exercício 3

Use o conhecimento que você adquiriu acima para classificar a camada buildings .
Defina a categorização em relação ao campo building e use Gradiente de cor
spectral .
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 16

5.3.2 Classificação por Dados


Existem quatro tipos de classificação por dados: nominal, ordinal, por intervalos e
relativa.
Na classificação nominal, as categorias nas quais os objetos são classificados são
baseadas em nomes; eles não têm ordem. Por exemplo: nomes de cidades, códigos
de distrito etc. Os símbolos que são usados para dados nominais não devem implicar
qualquer ordem ou magnitude.

• Para pontos, podemos usar símbolos de formas diferentes.

• Para polígonos, podemos usar diferentes tipos de hachura ou cores diferentes


(evite misturar cores claras e escuras).

• Para as linhas, podemos usar padrões de traços diferentes, cores diferentes


(evite misturar cores claras e escuras) e símbolos diferentes ao longo das linhas.

Na classificação ordinal, as categorias são organizadas em uma determinada or-


dem. Por exemplo, cidades mundiais recebem uma classificação dependendo de sua
importância para o comércio mundial, viagens, cultura etc. Os símbolos que são usa-
dos para dados ordinais devem implicar ordem, mas não magnitude.

• Para pontos, podemos usar símbolos com cores claras a escuras.

• Para polígonos, podemos usar cores graduadas (claro a escuro).

• Para linhas, podemos usar cores graduadas (claro a escuro).

Na classificação por intervalo, os números estão em uma escala com valores positi-
vos, negativos e zero. Por exemplo: altura acima / abaixo do nível do mar, temperatura
em graus Celsius. Os símbolos que são usados para dados de intervalo devem impli-
car ordem e magnitude.

• Para pontos, podemos usar símbolos com tamanhos variados (pequeno a grande).

• Para polígonos, podemos usar cores graduadas (claro a escuro) ou adicionar


diagramas de tamanhos variados.

• Para linhas, podemos usar espessura (fina a grossa).

Na classificação por razão, os números estão em uma escala com apenas valores
positivos e zero. Por exemplo: temperatura acima de zero absoluto (0 graus Kelvin),
distância a partir de um ponto, a quantidade média de tráfego em uma determinada rua
por mês, etc. Os símbolos que são usados para dados de proporção devem implicar
em ordem e magnitude.
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 17

• Para pontos, podemos usar símbolos com tamanhos variados (pequeno a grande).

• Para polígonos, podemos usar cores graduadas (claro a escuro) ou adicionar


diagramas de tamanhos variados.

• Para linhas, podemos usar espessura (fina a grossa).

No exemplo acima, usamos a classificação nominal para colorir cada registro na


camada landuse com base em seu atributo landuse . Agora vamos usar a classifi-
cação de razão para classificar os registros por área.
Vamos reclassificar a camada, de modo que as classes existentes serão perdidas
se não forem salvas. Para armazenar a classificação atual:

1. Abra a caixa de diálogo de propriedades da camada

2. Clique no botão Salvar estilo. . . no menu suspenso Estilo .

3. Clique em . . . ao lado de Arquivo , insira land_usage e pressione OK.


As categorias e seus símbolos agora são salvos nas propriedades da camada.

4. Clique agora na entrada Adicionar. . . do menu suspenso Estilo e crie um novo


estilo denominado ratio . Isso armazenará a nova classificação.

5. Feche a janela de Propriedades da Camada .

Queremos classificar as áreas de uso do solo por tamanho, mas há um problema:


eles não têm um campo de tamanho, então teremos que fazer um.

1. Abra a Tabela de Atributos para a camada landuse .


Alternar modo de edição
2. Entre no modo de edição clicando no botão .

3. Adicione uma nova coluna do tipo decimal, chamada AREA , usando o botão
Novo campo
:

4. Clique em OK .

O novo campo será adicionado (na extremidade direita da tabela; pode ser neces-
sário rolar horizontalmente para vê-lo). No entanto, no momento em que ele não está
preenchido, ele apenas possui valores NULL.
Para resolver este problema, precisaremos calcular as áreas.
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 18

Abrir calculadora de campo


1. Abra a calculadora de campo clicando em . Vai ser aberta
a seguinte janela:

2. Clique em Atualiza um campo existente . No menu que vai estar disponível logo
abaixo da caixinha checada, escolha AREA .

3. Na guia de expressões, expanda o grupo das funções de Geometra e encontre


$area .

4. De um duplo clique de modo a este elemento aparecer no campo de Expressão .


MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 19

5. Clique em OK .

6. Deslize a tabela até o campo AREA e você poderá ver que agora foi populado
com valores numéricos (pode ser necessário clicar no cabeçalho da coluna para
atualizar). As áreas serão dadas nas unidades do projeto, então podem estar
em metros quadrados ou graus quadrados.

Salvar alterações
7. Pressione para salvar o que foi editado e clique novamente em
Alternar modo de edição
.

8. Feche a Tabela de atributos .

Observação

Se, por algum motivo, precisar excluir um campo da tabela, selecione Campos
nas Propriedades da camada , ative a edição, selecione o campo e clique em
Excluir campo .

Agora que temos os dados, vamos usá-los para renderizar a camada de uso do
solo.

1. Abra a guia Simbologia da caixa de diálogo de propriedades da camada para a


camada landuse .

2. Altere o estilo de classificação de Categorizado para Graduado .

3. Altere o Valor para AREA .


MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 20

4. Em Gradiente de cores , escolha a opção Criar nova gradiente de cor. . . :

5. Escolha Gradiente (se já não estiver escolhido) e clique em OK . Você verá:

6. Você estará usando essas cores, com Cor 1 para áreas pequenas e Cor 2 para
áreas grandes.

7. Clique em Cor 1 e escolha uma cor apropriada. Repita para Cor 2 .

8. Clique em OK .

9. Voce pode salvar o gradiente de cores criado selecionando em Salvar o gradiente


de cores. . .no menu do Gradiente de cores. Escolha um nome apropriado e
salve. A partir de agora você poderá selecionar este gradiente de cores.

10. Escolha 5 classes e o método de Igual contagem .

11. Clique em Classificar .


MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 21

12. Clique em OK . Você deve ter alguma coisa como isso:

Exercício 4

Experimente mudar os valores de Modo e o número de Classes . Reporte o resul-


tado.

5.3.3 Classificação Baseada em Regras


É comum combinar vários critérios para uma classificação, mas infelizmente a classifi-
cação normal leva apenas um atributo em consideração. É aí que entra a classificação
baseada em regras.
Nesta lição, vamos representar a camada landuser de maneira que possamos
facilmente identificar a cidade de Swellendam das outra áreas residenciais e de outras
áreas de uso da terra (baseada nas suas áreas)

1. Abra a guia Propriedades da camada para a camada landuse .

2. Vá até a aba Simbologia .

3. Mude o estilo de classificação para Baseado em regras .


O QGIS vai automaticamente representa a classificação corrente implementada
para a camada. Por exemplo, considerando a atividade anterior, devemos ver
alguma coisa como:
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 22

4. Clique e arraste para selecionar todas as regras.


Remover regras selecionadas
5. Use o botão .

Vamos adicionar nossas regras agora.

Adicionar regras
1. Clique em .

2. Na janela Edit rules entre com Cidade de Swellendam como Rótulo .

Expressão
3. Clique no botão próximo ao Filtro para abrir a caixa de diálogo
Construtor de Cadeias de Caracteres de Expressão .

4. Entre com o critério "name"= ‘Swellendam’ e então em OK .

5. De volta à caixa de diálogo Edit rule , escolha uma cor azul-acinzentada escura
de modo a marcar a importância da cidade, e remova a borda.
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 23

6. Pressione OK

7. Repita o mesmo procedimento e acrescente as seguintes regras:

(a) Rotulo Outras áreas residenciais com o critério


"landuse"= ‘residential’ AND "name«> ‘Swellendam’
(ou "landuse"= ‘residential’ AND "name"!= ‘Swellendam’) . Escolha
uma cor azul-acinzentada clara e não use borda.
(b) Rotulo Grandes áreas não residenciais com o critério
"landuse"<> ‘residential’ AND "AREA">= 605000 . Escolha uma cor
verde de intensidade média.

Estes filtros são exclusivos, no sentido que áreas que não preenchem os
critérios não são exibidas.
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 24

(c) Podemos representar estas área. Acrescente uma regra de Rótulo


Pequenas áreas não residenciais . Ao invés de acrescentar uma regra,
clique em Outros .

As regras devem aparecer assim, agora:

8. Aplique esta simbologia.


Agora você tem um mapa com as áreas residenciais mais destacadas, assim
como a cidade de Swellendam, e outras áreas não residenciais representadas
de acordo com seu tamanho. O mapa agora deve parecer como:
MÓDULO 5. CLASSIFICANDO MAPAS VETORIAIS 25

Você também pode gostar