gdal

The power of GDAL and OGR

Módulo 05 Introdução Um dos índices de vegetação utilizados com frequência é o NDVI (índice de vegetação por diferença normalizada) (KRIEGLER et al., 1969), o qual é oriundo das banda infra-vermelho (NIR) próximo e vermelho (RED): $$ NDVI = \frac{NIR - RED}{NIR + RED} $$ Há diversos recursos para a realização dos cálculos do NDVI, entre eles cita-se o QGIS, GRASS, códigos próprios em diversas linguagens de programação, etc. Como mais uma alternativa disponível, e para mostrar a utilização de um script (o que deixa o processo mais prática), este post teve o objetivo de demonstrar um script desenvolvido em Python para o cálculo do NDVI por meio da biblioteca GDAL.

The power of GDAL and OGR

Módulo 04 Introdução Usualmente após o download dos arquivos raster, realiza-se recortes das bandas para realizar as análises na área de interesse. Dependendo o número de arquivos que deseja-se fazer o recorte, a atividades pode torna-se cansativa e consumir um tempo significativo. Como trata-se de um processo repetitivo, o objetivo deste post é implementar um script para agilizar o processamento das imagens. Material e métodos Entre as possíveis alternativas, uso o método gdal.

Criando arquivos WKT (Well Know Text)

Motivação Tudo começou quando estava tentando abrir um arquivo .shp via GeoPandas (pacote Python) em um McBook (OS BigSur). Ao fazer a leitura do arquivo o seguinte erro era retornado. ... IllegalArgumentException: geometries must not contain null elements Shell is not a LinearRing Nota: estava testando um McBook, uso sistema operacional Debian, e até o momento não tive este problema. Após testar outros pacotes, transformar o arquivo para outros formatos, criar outros ambientes Python, entre outras tentativas, o erro persistia.

The power of GDAL and OGR

Módulo 03 Introdução Uma dos métodos para conversão dos arquivos vetoriais para outros formatos é utilizar o ogr2ogr. O referido programa é uma ferramenta em linha de comando (CLI) que acompanha o GDAL (Geospatial Data Abstraction Library). Como trata-se de um recurso de linha de comando é possível utilizá-lo diretamente via terminal. Todavia, prefiro fazer um “intermédio” via script Python. Salienta-se que é possível reaproveitar (adaptar) os códigos apresentados aqui para usar diretamente no terminal.

The power of GDAL and OGR

Módulo 02 Objetivo A partir de um arquivo vetorial (shape), realizar a reprojeção para outro CRS (DATUM). Leitura de arquivo (shape) e reprojeção Importação dos pacotes Inicialmente importar os pacotes from osgeo import ogr, osr, gdal Leitura do arquivo vetorial Para abrir o arquivo vetorial, define-se o caminho e o parâmetro 0 ou 1: # reading shape shapePath = './shape/mt_municipios_2020.shp' ds = ogr.Open(shapePath, 1) # 0 means read-only. 1 means writeable # Check to see if shapefile was found.

The power of GDAL and OGR

Módulo 01 Objetivo Ler, editar e gravar arquivo vetorial (shape). Material e métodos Linux Debian Buster GDAL 2.4.0, released 2018/12/14 Na manipulação e processamento de aquivo vetorial, utilizaremos um arquivo shape com os municípios do estado de MT (Figura 1). Figura 1: Arquivo shape do estado de MT com Tabela de Atributos Leitura e gravação de arquivo vetorial (shape) Importação dos pacotes Inicialmente importar os pacotes from osgeo import ogr, osr, gdal Leitura do arquivo Para abrir o arquivo vetorial, define-se o caminho e o parâmetro 0 ou 1:

The power of GDAL and OGR

Módulo 00 Introdução GDAL é um biblioteca licenciada pela OSGeo (Open Source Geospatial Foundation), desenvolvida em C++, que permite manipular mais de 200 formatos de aquivos matricial (raster) e vetorial. Tratando-se de uma biblioteca, a mesma apresenta um modelo de dados para abstração de arquivos raster e outra para arquivo vetorial, oferecendo uma série de comandos de linha (comandos via terminal) para processamento de dados. Ainda como se não fosse suficiente, possui API para diversas linguagens de programação como: C, C++, Python, Perl, R, C# and Java.