Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


software qgis aplicações, Notas de aula de Geografia

Utilização do software, software qgis aplicações

Tipologia: Notas de aula

2020

Compartilhado em 29/04/2020

lucasbrito22
lucasbrito22 🇧🇷

5

(2)

1 documento

1 / 120

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Apostila Python + QGIS
.
André Luiz Lima Costa
Janeiro 2020
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe software qgis aplicações e outras Notas de aula em PDF para Geografia, somente na Docsity!

Apostila Python + QGIS

André Luiz Lima Costa

Janeiro 2020

Sumário

    1. QGIS.............................................................................................
  • 1.0 Introdução......................................................................................
  • 1.1 Instalando e Iniciando o QGIS..................................................................
  • 1.2 Carregando dados Vetoriais....................................................................
    • Dados no formato texto.........................................................................
    • Dados no Formato GIS (ESRI Shapefile, GMT, MapInfo, etc)...................................
    • Abrindo Dados de Fontes Remotas (Banco de dados em servidores remotos)..................
    • Propriedades e atributos dos objetos espaciais.................................................
  • 1.3 Carregando dados Raster......................................................................
  • 1.4 Criando Dados Vetoriais.......................................................................
  • 1.5 Criando Raster a partir de Pontos Vetoriais..................................................
    1. Fundamentos de Python........................................................................
  • 2.0 A linguagem Python – Introdução.............................................................
    • Instalação.......................................................................................
    • Console Python..................................................................................
  • 2.1 Fundamentos da linguagem Python............................................................
    • Tipos Numéricos................................................................................
    • Tipo Alfanumérico..............................................................................
    • Tipo lista.......................................................................................
    • Tuples...........................................................................................
    • Sets.............................................................................................
    • Dicionários......................................................................................
  • 2.2 Controles de fluxo...........................................................................
    • if elif else......................................................................................
    • for..............................................................................................
    • while............................................................................................
    • range().........................................................................................
    • Break, continue e else em loops................................................................
  • 2.3 Funções.......................................................................................
  • 2.4 Módulos.......................................................................................
  • 2.5 Pandas........................................................................................
  • 2.6 Gráficos.......................................................................................
    1. Usos do Python no QGIS.......................................................................
  • 3.1 Primeiros passos, noções de Classes...........................................................
    • Classe Projeto (QgsProject) - Criar e ler um Projeto........................................
    • Classe Vetor (QsgVetorLayer) – Adicionar Camada Vetorial....................................
    • Classe Raster (QgsRasterLayer) – Adicionar Camada Raster.....................................
  • 3.2 Interagindo com informações de objetos da classe Vector..................................
    • O sistema de referência de coordenadas CRS (Coordinate Reference System).................
    • A extensão da Camada..........................................................................
    • Quantidade de itens............................................................................
    • Obtendo informações dos campos de atributos.................................................
    • Metadata de camada vetorial....................................................................
    • Obtendo os elementos de cada item da camada vetorial........................................
  • 3.3 Interagindo com informações de objetos da classe Raster....................................
    • Informações de dimensão do objeto Raster....................................................
    • Raster com uma banda de valores..............................................................
    • Raster com mais de uma banda de valores.....................................................
  • 3.4 Criando objeto vetorial.......................................................................
    • Ponto...........................................................................................
    • Linha............................................................................................
    • Polígono.........................................................................................
  • 3.5 Criando objeto raster.........................................................................
    1. Executando python scripts fora do Qgis.......................................................
    1. Integração PostgreSQL/Postgis com PyQgis....................................................
  • 5.1 O Postgis......................................................................................
  • 5.2 Instalando PostgreSQL/Postgis................................................................
    • 5.2.1 – Windows.................................................................................
    • 5.2.2 – Linux – Centos ou RedHat (PostgreSQL e Postgis)....................................
    • 5.2.3 – OSX.....................................................................................
  • 5.3 Criando um banco de dados Postgis..........................................................
  • 5.4 Entrando dados no postgis....................................................................
    • 5.4.1 Conectando com o banco de dados.......................................................
    • 5.4.2 Inserindo dados vetoriais no banco de dados............................................
      • Pontos.......................................................................................
      • Linhas.......................................................................................
      • Polígonos....................................................................................
    • 5.4.3 Inserindo dados raster no banco de dados..............................................
  • 5.5 Visualizando os dados criados.................................................................
  • 5.6 Extraindo dados do Postgis usando pyQgis....................................................
    • 5.6.1 Conexão ao banco de dados e tabelas usadas.............................................
    • 5.6.2 Obtendo valores distintos de uma coluna da tabela.......................................
    • 5.6.3 Usando a cláusula WHERE..................................................................
    • 5.6.4 Selecionando dados espaciais e criando arquivo do resultado..............................
    1. Introdução à análise espacial no pyQgis........................................................
  • 6.1 O conceito de análise espacial.................................................................
    • 6.1.1 Exemplo 1 - A primeira análise espacial...................................................
      • Preparando..................................................................................
      • Executando...................................................................................
      • O resultado da análise.......................................................................
    • 6.1.2 Exemplo 1 - Um outro exemplo usando somente pyQgis..................................
      • Preparando...................................................................................
      • Executando...................................................................................
      • O resultado da análise.......................................................................
    • 6.1.3 Considerações sobre as duas análises espaciais básicas efetuadas.........................
    1. Análise espacial em dados vetoriais............................................................
  • 7.1 Geopandas crash course.......................................................................
    • 7.1.1 Instalação.................................................................................
    • 7.1.2 O básico..................................................................................
      • Entrando com os dados.....................................................................
      • Obtendo informações do objeto.............................................................
      • Dados do Postgis...........................................................................
      • Filtrando dados (query)....................................................................
      • Gravando objeto em arquivo...............................................................
      • Plotando o objeto..........................................................................
    • 7.1.3 Relações espacias de geometrias com o Geopandas.......................................
      • Checando a posição relativa.................................................................
      • Retornando uma nova geometria............................................................
      • Métodos construtivos........................................................................
    • 7.1.4 Como ficariam o dois exemplos da sessão 1 usando Geopandas...........................
      • Casos de cólera.............................................................................
      • Festa em Melbourne.........................................................................
  • 7.2 Case Study - Análise espacial com dados de exploração mineral no Tocantins...............
    • 7.2.1 Os dados vetoriais que serão usados.....................................................
      • Carregando os dados.......................................................................
      • Conhecendo os dados.......................................................................
    • 7.2.2 A preparação dos dados.................................................................
      • Filtrando os dados..........................................................................
      • Visualizando os dados filtrados..............................................................
    • 7.2.3 A análise dos dados.....................................................................
      • Por dados de ocorrência mineral............................................................
      • Por requerimento e concessão de lavra.....................................................
      • Unindo os resultados........................................................................
      • Expandindo o mapa para as unidades geológicas iguais......................................
    • 7.2.4 Validando o resultado....................................................................
    • 7.2.5 Resultado Final...........................................................................
    1. Análise espacial em objeto raster..............................................................
  • 8.1 rasterio........................................................................................
    • 8.1.1 O básico...................................................................................
      • Carregando uma imagem raster..............................................................
      • Obtendo informações sobre o objeto raster................................................
    • 8.1.2 Carregando e plotando uma banda da imagem...........................................
    • 8.1.3 Composição colorida RGB..................................................................
    • 8.1.4 Operações entre bandas...................................................................
  • 8.2 GDAL.........................................................................................
    • 8.2.1 Conceitos básicos do GDAL...............................................................
    • 8.2.2 Usando GDAL via chamada de sistema do python.......................................

1. QGIS 1.0 Introdução

O QGIS é um programa que foi iniciado em 2002 por Gary Sherman e se tornou em um projeto

incubador da Open Source Geospatial Foundation em 2007. Sua Versão 1.0 foi lançada em Janeiro de

As bases para o QGIS foram as bibliotecas (libraries) QT, GEOS, OGR/GDAL e GRASS. Usado com o

apoio de PostigreSQL-Postgis o QGIS se transforma em uma ferramenta completa para o

geoprocessamento e análise espacial de dados.

A versão que trabalharemos é a 3.4 LTR (Madeira) que é versão estável mais recente. Versões mais

recentes de desenvolvimento já lançadas são a 3.8 (Zanzibar) e 3.10 (A Coruña). O QGIS pode ser

instalado em qualquer sistema operacional (Linux, Unix, OSX, Windows, Android) e já possui o

python dentro dele. O python script é a ferramenta principal de interação para tarefas mais complexas

ou repetitivas e é usado também para o desenvolvimento dos plugins.

Veremos nesse curso a integração da linguagem Python com o QGIS com o objetivo de automatização

de processos e análises espaciais de dados bem como a integração com banco de dados geoespaciais.

Mas antes vamos falar um pouco sobre o QGIS.

1.1 Instalando e Iniciando o QGIS

O QGIS pode ser instalado em diversos sistemas operacionais. O link abaixo fornece detalhadamente

as informações necessárias para a instalação em todos os sistemas operacionais.

https://www.qgis.org/pt_BR/site/forusers/alldownloads.html. Ao iniciar o QGIS veremos a seguinte

imagem.

Elementos do Programa:

1 - Painel Principal do Mapa – Aqui é onde o mapa é mostrado a medida que as camadas são

carregadas. Você pode interagir com as camadas carregadas tipo: dar zoom, mover o mapa, selecionar

elementos e várias outras operações que veremos adiante.

2 - Lista de Camadas Carregadas – A medida que as camadas são carregadas uma lista delas será criada

nesse painel, Aqui podemos ativar/desativar a visualização, ordenar, e modificar a aparência das

camadas.

3 - Navegador – No navegador podemos acessar diversos formatos de dados compatíveis localizados

no seu computador, em provedores de dados, em banco de dados, etc.

4 - Barra de Ferramentas e Menus – Aqui, como em todos programas, estão os controles do aplicativo

divididos nas categorias correspondentes.

5 - Pesquisa – Podemos nesse campo acessar/pesquisar rapidamente as ferramentas, controles e

processos do QGIS entrando com o nome a ser pesquisado.

6 - Barra de Status – Informações gerais sobre projeção, coordenadas do mapa na posição do cursor,

escala, rotação e etc. podem ser vistas de forma rápida aqui.

1.2 Carregando dados Vetoriais

Dados vetoriais são informações de determinada(s) grandeza(s) ou descrição, também conhecido como

atributos, com uma peculiar distribuição espacial, seja ela do tipo ponto, linha ou polígono.

QGIS pode abrir dados vetoriais de diversos formatos graças à interação com a biblioteca GDAL.

Vamos aqui abrir diversos formatos como exemplo.

Dados no formato texto

Crie o seguinte arquivo texto e grave o arquivo como cidade.txt.

Cidade,código,latitude,longitude

Manaus,1,-3.0925,-59.

Manacapuru,2,-3.2872,-60.

Iranduba,3,-3.2756,-60.

Rio Preto de Eva,4,-2.6968,-59.

  • Inicie o QGIS e vá no menu Camada > Adicionar Camada > Vetorial.
  • Selecione no lado direito a opção Texto Delimitado.
  • Navegue até o local do arquivo criado acima no ... e selecione o arquivo cidade.txt.
  • Aceite os valores já definidos mas na seção Definição de Geometria selecione SRC do Projeto

EPSG:4326 WGS-

Todos os campos devem ficar conforme a imagem abaixo e em seguida clique em Adicionar e depois

em Close.

Dados no Formato GIS (ESRI Shapefile, GMT, MapInfo, etc)

  • Vá no menu Camada > Adicionar Camada > Vetorial.
  • Selecione no lado direito a opção Vector.
  • Navegue até o local do arquivo criado acima no botão ... e selecione o arquivo amazonas.shp.

Todos os campos devem ficar conforme a imagem abaixo e em seguida clique em Adicionar e depois

em Close.

Posicione a camada recém adicionada abaixo da camada cidade para ficar como a imagem de direita.

Faça isso clicando e arrastando na camada amazonas.

Abaixo vemos o resultado após usarmos o zoom -.

Podemos gravar o nosso projeto com o nome de primeiro. Vá até o menu Projeto > Salvar. Na janela

que aparece escreva o nome ‘ primeiro ’. Pronto, o projeto está salvo.

Abrindo Dados de Fontes Remotas (Banco de dados em servidores remotos)

O QGIS é uma ferramenta bastante versátil e pode abrir também dados localizados em fontes remotas

do tipo banco de dados PostgreSQL-Postgis, Oracle, mySQL, DB2, etc e também dados de

ArcGisMapServer, WFS, XYZ Tiles, etc.

Vamos aqui mostrar como acessar um banco de dados Postgis-PostgreSQL e carregar um objeto

espacial. Do lado esquerdo, no painel ‘Navegador’. Clique com o botão direito do mouse e selecione

Nova Conexão...

Clique na seta para baixo em public e selecione, clicando duas vezes, o objeto agua_linha conforme

abaixo para carregar o objeto:

Nosso mapa agora será algo como:

Vimos aqui como carregar objetos de dados espaciais de diversos formatos de maneira bem simples

para dentro do QGIS. Salve novamente o projeto. Ao abrir novamente o projeto as credenciais do banco

de dados devem ser inseridas novamente (usuário droid e senha devcor ) para carregar o dado remoto.

Os tipos de objetos usados no QGIS são pontos, linhas, polígonos, multipontos, multilinhas,

multipolígonos e coleções de dados (tipo misto).

Vamos agora ver como visualizar os atributos dos dados carregados e como modificar a aparência de

cada um dos objetos carregados.

Propriedades e atributos dos objetos espaciais

Clique duas vezes na camada cidades no painel camadas, O painel abaixo aparecerá e nele podemos

modificar a aparência da camada.

Modificamos os parâmetros de cada objeto selecionando deferentes símbolos, cores, espessuras e

padrões, podemos também personalizar símbolos usando o botão Salvar Símbolo.

Vamos efetuar um exercício e transformar a aparência de cada objeto até obtermos um resultado

semelhante ao da imagem abaixo:

Ao clicarmos na numeração no canto esquerdo da tabela a linha é selecionada e o elemento

correspondente no mapa se torna amarelo.

Abaixo vemos as opções de seleção da barra de ferramentas da janela da tabela de dados.

Seleciona tudo

Inverte a seleção

Limpa toda a seleção

Seleciona elementos usando expressões

Vamos agora mostrar como adicionar rótulos nos elementos de uma camada. Selecione e clique duas

vezes na camada cidades. No painel lateral esquerdo selecione Rótulos e selecione Rótulo Simples na

caixa de seleção, preencha conforme abaixo e clique em Ok:

No painel Camadas clique duas vezes em dem e vamos modificar as cores de cinza para uma rampa de

cor já predefinida. Na janela que se abriu selecione Simbologia no painel da esquerda e selecione

Paletizado/Valores Únicos no campo Tipo de renderização. Selecione Spectral no campo Gradiente

de Cores e pressione o botão Classifica. Após isso clique em OK. Nosso DEM aparecerá conforme a

imagem abaixo.

Vamos agora processar o DEM para gerar um sombreamento para realçar o relevo da imagem. No

menu selecione Raster > Análise > Sombreamento e a janela aparecerá. Clique em Executar com os

parâmetros apresentados e a imagem Sombreamento será criada.

Clique duas vezes em sombreamento e selecione Transparência na esquerda, entre com o valor 40%

no primeiro campo e clique em OK. De um zoom numa região com diferença de relevo e compare o

resultado.