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
@marcellobenigno
marcellobenigno / revisao_postgis.md
Last active October 20, 2026 14:08
revisão postgis

Exercícios de Revisão

Conteúdo revisado: criação de tabelas espaciais, inserção de dados, projeções e cálculos de área, perímetro, distância e comprimento.

Banco de dados: pb, com as camadas do GeoPackage pb.gpkg importadas no esquema public. Todas as geometrias estão em WGS 84 (SRID 4326).


Questão 1 – Criação de tabelas pelos dois métodos

@marcellobenigno
marcellobenigno / revisao_geopandas.md
Created October 6, 2026 10:30
Exercício de Revisão - GeoPandas

Exercício de Fixação: GeoPandas e Análise Espacial

Estudo de Caso: Licenciamento Ambiental da Duplicação da Rodovia PB-200 (PB)

Contexto

A rodovia estadual PB-200 passará por um processo de duplicação. Como analista geospacial responsável pelo Estudo de Impacto Ambiental (EIA/RIMA), sua missão é utilizar a biblioteca GeoPandas para processar os dados vetoriais do estado da Paraíba, delimitar as áreas de influência do empreendimento, avaliar o uso do solo impactado e gerar relatórios, mapas e gráficos explicativos.

Fonte de Dados

@marcellobenigno
marcellobenigno / index.html
Created October 1, 2026 11:33
exemplo do markercluster
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>GeoPortal - Início</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"
integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY="
crossorigin=""/>
-- Quantos lotes existem, qual a área média, mínima e máxima?
SELECT COUNT(*) AS qtde_lotes,
ROUND(AVG(area_m2), 2) AS area_media,
MIN(area_m2) AS area_minima,
MAX(area_m2) AS area_maxima
FROM lote;
-- Qual é a soma total das áreas e a quantidade de lotes, agrupadas pelo uso do solo?
SELECT
SUM(area_m2) AS area_total_m2,
COUNT(*) AS total_lotes,
"""
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