Skip to content

Instantly share code, notes, and snippets.

View marcellobenigno's full-sized avatar

Marcello Benigno marcellobenigno

  • João Pessoa / Paraíba / Brazil
View GitHub Profile
"""
Classifica o raster de NDVI em 6 tipos de vegetação/cobertura do solo e
converte o resultado para vetor, usando o pipeline padrão do GDAL:
1. Reclassificação (NDVI contínuo -> código de classe 1-6), via GDAL/numpy
2. gdal_sieve.py -- remove manchas de ruído (clusters pequenos demais
pra serem uma classe real) antes de vetorizar
3. gdal_polygonize.py -- rasteriza -> vetor (1 polígono por cluster de
pixels conectados com a mesma classe)
4. Dissolve por classe (geopandas) + junção dos metadados de cada classe
@marcellobenigno
marcellobenigno / clip_grade.py
Created August 3, 2026 11:38
clip_grade10000.py
"""
clip_by_grade.py
────────────────
Recorta qualquer camada vetorial pela grade fixa (maps_grade10000),
adicionando o campo grade_id ao resultado.
Uso:
python clip_by_grade.py
Requisitos:
@marcellobenigno
marcellobenigno / avaliacao.md
Last active May 28, 2026 10:59
Exercício de Avaliação SIGWEB

Exercício de Avaliação — SIG-WEB

Instituto Federal da Paraíba · Curso Superior de Tecnologia em Geoprocessamento

Disciplina: Sistemas de Informação Geográfica para Web (SIG-WEB)


Apresentação

A partir do código de demonstração disponibilizado em aula — que exibe os municípios da Paraíba usando Leaflet e dados servidos pelo Supabase/PostGIS — você deverá evoluir a aplicação WebGIS incorporando novas camadas e atendendo aos requisitos descritos abaixo.

Calculadora de IMC com JavaScript

O que vamos aprender?

Neste tutorial, vamos construir uma calculadora de IMC do zero usando HTML, CSS (Bootstrap) e JavaScript.

Ao final, você vai saber como:

  • Capturar valores digitados pelo usuário em um formulário
  • Fazer cálculos com JavaScript

Box Model + Float vs. Flexbox

Objetivo: Entender por que float não é eficiente para criar layouts de colunas com bordas, e como o Flexbox resolve esse problema de forma elegante.


O que é o Box Model?

O modelo de caixa (box model) do CSS define como o tamanho de um elemento é calculado. Por padrão (box-sizing: content-box), a largura declarada representa apenas o conteúdo — bordas e padding são somados por fora.

@marcellobenigno
marcellobenigno / fluxo-claude.md
Created March 18, 2026 10:01
Fluxo de Trabalho com o Claude

Tutorial: Fluxo de Trabalho do Claude Code

Claude Code é um agente de linha de comando que roda no terminal com acesso completo ao sistema — lê arquivos, executa comandos, modifica código, gerencia git e delega tarefas a subagentes especializados.


Índice

  1. Arquivos de Configuração
  2. Modos de Permissão
@marcellobenigno
marcellobenigno / consultas.sql
Last active March 27, 2026 17:17
Tratamento dos Dados do GeoFazendas Web
WITH municipio AS (
SELECT geom
FROM maps_geometriamunicipio
WHERE cod_ibge_m = '5007935'
)
SELECT
t.*
FROM maps_texturasolo t
JOIN maps_grade10000 g
@marcellobenigno
marcellobenigno / grade_srtm_30m.geojson
Last active March 12, 2026 13:56
grade_srtm_30m.geojson
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Tutorial: Estilizando um Menu Horizontal com CSS

O HTML Inicial

Começaremos com a seguinte estrutura HTML para o nosso menu:

<nav>
		<a href="index.html">Início</a>
		<a href="formacao-academica.html">Formação Acadêmica</a>
@marcellobenigno
marcellobenigno / exercicio.md
Last active January 22, 2026 11:53
Exercício QGIS - Análise de Risco de Alagamento Urbano

Análise de Risco de Alagamento Urbano no QGIS

Link dos dados: https://drive.google.com/file/d/1PU3imYVk0R7RK575dXI3M7V_MjBNosqu/view?usp=sharing

Objetivo: Identificar e classificar lotes urbanos em diferentes níveis de vulnerabilidade a alagamentos, utilizando operações de geoprocessamento vetorial e análise raster.

Níveis de Classificação:

  • Alto Risco: Proximidade imediata ao corpo hídrico (até 150m).
  • Risco Mediano: Áreas de transição (entre 150m e 250m do rio).