Main Page

From Geomaster, Lda
Jump to navigation Jump to search

Apresentação

A formação e a disponibilização de conteúdos faz parte do ADN da Geomaster. Neste espaço, estamos a juntar todos os conteúdos das nossas formações, que ainda estão dispersos por vários sítios.

Onde e como pedir ajuda?

Lista portuguesa da OSGeo

Lista internacional do QGIS

https://gis.stackexchange.com/

A Geomaster está oferecer suporte ao QGIS, de forma gratuita. Use o centro de suporte disponível em ticket.geomaster.pt.

Antes de pedir ajuda, faça o trabalho de casa. Pesquise na net se a questão já foi levantada e resolvida.

Para procurar nas listas do QGIS, use o endereço: http://osgeo-org.1560.x6.nabble.com/QGIS-f4099105.html

Requisitos

Para fazer os exercícios propostos, precisa de ter algum espaço livre e o software necessário instalado. Os exercícios são independentes do sistema operativo: tanto pode usar Linux, Windows ou macOS.

Máquina virtual OSGeo Live

Uma boa alternativa para a formação é a utilização da máquina virtual OSGeo Live que já tem todo o software SIG necessário.

Conteúdos

Sentinel-2 Image processing using QGIS+SCP

Notes from Sentinel-2 Image processing using QGIS+SCP course at Skovskolen, Nødebo.

Documentation:

Semi-Automatic Classification Plugin Documentation

Installing SCP in Ubuntu

Create a Copernicus Open Access Hub account

Search and download Sentinel-2 images

Search and download Landsat 8 images

Radiance to reflectance

Clip Sentinel-2 images

Band compositions

Export band compositions

Raster algebra: calculating indexes

Unsupervised classification

Supervised classification

Links

https://earth.esa.int/web/sentinel/technical-guides/sentinel-2-msi/msi-instrument

http://esa-sen4cap.org/content/eo-products

https://sentinel.esa.int/web/sentinel/user-guides/sentinel-2-msi/document-library

https://www.indexdatabase.de/db/s-single.php?id=96

https://land.copernicus.eu/global/products/ba

https://fromgistors.blogspot.com/2016/11/from-image-download-to-ndvi-calculation.html

http://www.qgis.pt/blog/2016/12/14/detecao-remota-com-o-qgis/ (em Português)

Wikidata Sixth Birthday

Birthday banner for 4th Wikidata Birthday.png

Objectivo

Fazer uma mapa:

  1. Mostrar as ruas, largos, praças e outros espaços com topónimos
  2. Poder filtrar por:
    1. sexo
    2. ocupação (religioso, militar poeta, escritor, político...
    3. século
    4. etc

Eventualmente, fazer um quantos gráficos, com percentagens:

  1. topónimos com nome de pessoas versus outras origens
  2. nomes de mulheres versus nomes de homens
  3. políticos versus artes e ciências

Problema

No OpenStreetMap não existe informação sobre as propriedades do topónimo. O topónimo pode estar escrito de diversas formas e contém partes que não interessam (Rua, Avenida, Prof, Doutor, etc). (Nota: cruzar com o dataset da Central de Dados dos Códigos Postais).

A Rua de São Tomé refere-se a uma pessoa?

Rua Egas Moniz. Qual Egas Moniz?

Solução

Wikidata! Diferença entre a página da Wikipédia do Egas Moniz e a da Wikidata da mesma pessoa.

Criei a entidade: https://www.wikidata.org/wiki/Q58129518

No OpenStreetMap já se usa uma tag wikidata para entidades geográficas bem conhecidas, como a Torre dos Clérigos.

Existe uma proposta para acrescentar a origem de um determinado nome, usando a tag name:etymology.

Limitações

Nem tudo está na Wikidata. Na verdade, existe pouca informação (sobre Portugal) no Wikidata.

No OpenStreetMap também não há muitas tags wikidata.

Resolução das limitações

Editar o OpenStreetMap e a Wikidata!

Nota: área pantanosa em relação às licenças: CC-0 versus ODBL.

Outras fontes de dados

Central de dados

http://centraldedados.pt/nomes_proprios/

https://genderize.io/

Algum código de base

https://gitlab.com/pdiasalmeida/osm-street-names

Open Data Day, 2021

Publicado no diário do OpenStreetMap.

jgr@zoe:~/bonn/ownCloud/OSM/Endereços$ xmlstarlet format --indent-tab Addresses_0110_EPSG4258.gml > Addresses_0110_EPSG4258.formated.gml

ogrinfo -ro -so Addresses_0110_EPSG4258.formated.gml Address

ogrinfo -where gml_id="'pt.ine.add.PTCONT.25172'" Addresses_0110_EPSG4258.formated.gml Address

# USAR o driver GMLAS em vez de GML

ogrinfo -ro -so GMLAS:Addresses_0110_EPSG4258.formated.gml Address

ogrinfo -where id="'pt.ine.add.PTCONT.25172'" GMLAS:Addresses_0110_EPSG4258.formated.gml Address

GML_ATTRIBUTES_TO_OGR_FIELDS=YES ogrinfo -where gml_id="'pt.ine.add.PTCONT.25172'" Addresses_0110_EPSG4258.formated.gml Address

GML_SKIP_RESOLVE_ELEMS=NONE ogrinfo -where gml_id="'pt.ine.add.PTCONT.25172'" Addresses_0110_EPSG4258.formated.gml Address

GML_ATTRIBUTES_TO_OGR_FIELDS=YES GML_SKIP_RESOLVE_ELEMS=NONE ogr2ogr -f PostgreSQL PG:'service=ftth schemas=ilhavo' GMLAS:Addresses_0110_EPSG4258.formated.gml -nlt CONVERT_TO_LINEAR

ogr2ogr -f "ESRI Shapefile" ilhavo.shp PG:"service=ftth" "ilhavo.moradas"

Open Data Day, 2018

Logo odd 2018.png

Introdução ao OpenStreetMap

Serviços sobre os dados do OpenStreetMap

Dados OpenStreetMap no QGIS

Dados OpenStreetMap no PostgreSQL

OpenStreetMap API

Routing com os dados do OpenStreetMap

SIG desktop com QGIS

Introdução à interface do QGIS, a visualização complementar de geometrias e dados, filtrar, selecionar, expressões, trabalhar com a seleção, etc.

Instalação QGIS no Windows com base no OSGeo4W

Instalação da primeira extensão QuickMapServices.

Os dados vectoriais referem-se a entidades que têm uma componente espacial (geográfica) e um conjunto de atributos.

Explorar dados vectoriais

Georreferenciação de imagens e criação de camadas

Edição de dados vetoriais

Geração de um modelo digital do terreno

Acrescentar melhorias aos formulários:

  1. campos que se atualizam automaticamente
  2. joins e formulários com combox
  3. um exemplo de uma relação master → detail

Ligação a uma base de dados Postgresql

Análise espacial com rasters

Para rever ou eliminar...

Geoprocessamento

Criar camadas vectoriais

Os dados raster referem-se a superfícies contínuas, cujas propriedades se vão alterando ao longo da superfície.

Visualizar dados raster, calculadora raster, calcular o aspecto, declives, mostrar um perfil.

Explorar dados raster

Cruzar camadas, associar imagens, associar ações a entidades geográficas

Cruzar dados vectoriais

Introdução à análise espacial: cálculo de áreas de influência, recorte em função da localização, etc.

Introdução à análise espacial

Georreferenciação de mapas

Criação de camadas

Teste de auto-avaliação

SIG desktop com QGIS: Tópicos avançados

Exercício de aquecimento

QGIS com Postgresql

Edição de informação geográfica

O processamento com o QGIS é tão assustador como fabuloso. Assustador pela diversidade de alternativas que apresenta e fabuloso pela mesma razão. Além de todas as capacidades de processamento que tem no próprio código, O QGIS liga-se muito bem a outros software de processamento, como o GRASS, SAGA, Orfeo Toolbox, etc.

Processamento em QGIS

As imagens Sentinel são disponibilizadas pela ESA. O tratamento de imagens Sentinel-2 com a extensão Semi-Automatic Classification Plugin

Tratamento de imagens Sentinel

As imagens raster podem ser geridas a partir do sistema de ficheiros ou a partir da base de dados Postgresql.

Suporte Postgresql para rasters

O QGIS está escrito em C++ que é uma linguagem orientado a objetos, que gera código muito eficiente. O QGIS usa a biblioteca QT para todas as componentes de interface com o utilizador. Embora todo o núcleo esteja em C++, todas as funcionalidades são expostas para outras aplicações através de uma API que pode ser invocada a partir do Python. Ou seja, a partir de um programa Python, podemos comandar o QGIS e tirar partido de todas as suas funcionalidades.

Explorar o QGIS a partir do Python

QField: o QGIS ao ar livre

Sobre a preparação desta formação

Base de dados espaciais com Postgresql

Data

Resource Watch – Monitoring the Planet's Pulse

Spatial Data Mining

  • GeoDa is a free and open source software tool that serves as an introduction to spatial data analysis.
  • GeoAnalysis library is a java-based open source for geospatial analysis.

QGIS na área da Saúde

Plugin GeoHealth

QGIS na área da Arqueologia

Tratamento dos arqueossítios em http://www.geira.pt/arqueo/ListaArqueossitios.html

xml disponível em: http://www4.di.uminho.pt/~jcr/XML/didac/xmldocs/arq.xml

wget http://www4.di.uminho.pt/~jcr/XML/didac/xmldocs/arq.xml
xsltproc sample.xsl arq.xml > arq.csv
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output type="text" indent="no" omit-xml-declaration="yes" />
<xsl:strip-space elements="*" />

<xsl:template match="//ARQELEM">
<xsl:value-of select="normalize-space(IDENTI)"/>|<xsl:value-of select="normalize-space(DESCRI)"/>|<xsl:value-of select="normalize-space(CRONO)"/>|<xsl:value-of select="normalize-space(FREGUE)"/>|<xsl:value-of select="normalize-space(CONCEL)"/>|<xsl:value-of select="normalize-space(LATITU)"/>|<xsl:value-of select="normalize-space(LONGIT)"/>|<xsl:value-of select="normalize-space(ALTITU)"/>|<xsl:value-of select="normalize-space(ACESSO)"/>|<xsl:value-of select="normalize-space(QUADRO)"/>|<xsl:value-of select="normalize-space(TRAARQ)"/>|<xsl:value-of select="normalize-space(DESARQ)"/>|<xsl:value-of select="normalize-space(INTERP)"/><xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>

Tratamento manual:

coordenadas: multiplicar por 1000

usar o separador de campos: |

usar o delimitador de campos: '

Sistemas de coordenadas: EPSG:20790

Resultado final: arqueossitios.csv

Acabei por sacar pelo QGIS, ligando-me ao servidor.

Dados de ligação:

1) É preciso criar uma nova ligação do tipo: ArcGisFeatureServer, com os seguintes dados:

Nome: Portal do Arqueólogo

URL: https://services8.arcgis.com/ITVSIrZ4rxt6SbBo/arcgis/rest/services/Sitios_20190207_visualização/FeatureServer

Sacar lista de sítios

#!/bin/bash

mkdir -p portalarqueologo
for i in {1..1735}
do
	curl "http://arqueologia.patrimoniocultural.pt/index.php?sid=sitios&p=$i" -o portalarqueologo/$i.html
done
cd portalarqueologo/
sed -n -e 's/<td data-label="Designação"><a href="\/index.php?sid=sitios\&subsid=\([0-9]\+\)">\([^<]\+\)<\/a><\/td>/\1\t\2\thttp:\/\/arqueologia.patrimoniocultural.pt\/index.php?sid=sitios\&subsid=\1/p' *.html | sed 's/^\s\+//g' > lista_sitios.csv


Sacar sítios

Extrair coordenadas

jgr@zoe:~/bin/sitios$ grep '

x

sed -n -e 's/\(^[0-9]\+\).html:\s\+<div id="singleListingMap" data-latitude="\([0-9.]\+\)" data-longitude="\([-0-9.]\+\)".\+$/\1\t\2\t\3/p' x


Monte da Matosa 2

Sítio (13709) grep '

[^<]\+

Sítio ([\d]\+)' *.html


QGIS

Abrir lista_sitios.csv

Abrir

Dados do OpenStreetMap

  • Introdução ao OpenStreetMap
  • Dados do OpenStreetMap no QGIS
  • Dados do OpenStreetMap no Postgresql
  • Queries com OverPass API, http://overpass-turbo.eu/
  • Routing com os dados do OpenStreetMap (OpenTripPlanner)
  • Routing com MAPS.ME
  • Usar os mapas do OpenStreetMap num blog

Requisitos

  • Computador c/ algum espaço livre
  • Dados: serão descarregados na hora, a partir de: http://openstreetmap.pt/wp-content/uploads/
  • Software
    • QGIS 2.18.17 LTR
    • Postgresql v9.6 + PostGIS (não é preciso instalar; haverá um servidor na sala)
    • Instalar o MAPS.ME no telemóvel

Publicação na Web com Geoserver

Servidores de mapas: conceitos

Instalação do Geoserver

Disponibilização de uma camada WMS/WFS

Disponibilização de uma camada WMTS

Publicação de grupos

Publicação na Web com uMap

A plataforma uMap permite criar mapas de uma forma simples. Os mapas criados podem ser incorporados num blog ou num site.

O meu primeiro mapa com o uMap

Drones

DJI MAVIC 2 PRO

Flight planner

Running OpenDroneMap

Contribuir para projectos Open Source no domínio dos SIG

Contribuir para o Nominatim

Contribuir para o QGIS

Contribuir para plugins QGIS

Contribuir para o OpenTripPlanner

Contribuir para o GeoExt

Contribuir para o PostGIS

Contribuir para o curso PostGIS com Rasters

Outros cursos e recursos

ISPRS Congress 2016 Summer School

GRASS GIS Workshop in Jena

Working with Sentinel 2 Imagery on QGIS

QGIS Flood Risk Mapping

Spatial-Temporal Data Analysis

Geospatial Data Mining

Como gravar cursos em vídeo

Propostas

QGIS: Generalização Cartográfica, em parceria com IBGE

QGIS: Deteção de estradas em imagens Sentinel-2, em parceria com IBGE

QGIS: Ler cartas náuticas, em parceria com a comunidade QGIS e de acordo com esta proposta de melhoramento

QGIS: Carregar informação meteorológica, em parceria com a comunidade QGIS e de acordo com esta proposta de melhoramento

QGIS:Plugin para dados do INE

QGIS:Plugin para sobre a Saúde em Portugal

Modelo Topográfico

http://www.dgterritorio.gov.pt/recart/TRANSPORTES%20(Transporte%20rodovi%C3%A1rio)/CatalogoDasViasRodoviariasParte2.html

http://www.dgterritorio.gov.pt/recart/TRANSPORTES%20(Transporte%20rodovi%C3%A1rio)/CatalogoDasViasRodoviariasParte2UTF-8_20190703.csv

vi sed.txt

1s/codigoViaRodov/codigo_via_rodov/
1s/tipoViaRodovC/tipo_rodovia_c/
1s/codigoDGT/codigo_dgt/
1s/codigoArruamento/codigo_arruamento/
1s/tipoViaRodovD/tipo_rodovia_d/
1s/tipoViaRodovAbv/tipo_rodovia_abv/
1s/nomeSufixo/nome_sufixo/
1s/nomeAlternativo/nome_alternativo/
1s/pontosExtremoseIntermedios/pontos_extremos_e_intermedios/
1s/lugarINEcod/lugar_ine_cod/
1s/fonteAquisicaoDados/fonte_aquisicao_dados/
1s/dataEdital/data_edital/
1s/DICOFRE/dicofre/
1s/DICO/dico/
1s/DI/di/
1s/CO/co/
1s/dataCat/data_cat/

sed -f sed.txt -i CatalogoDasViasRodoviariasParte2UTF-8_20190703.csv