Skip to content

Repository files navigation

Geo-Python -> Daily STAC & LiDAR experiments exploring. A portfolio of geospatial fundamentals in Python.

🌍 STAC Datasets & LiDAR Analysis

Daily geospatial experiments – exploring INPE's STAC catalog and advanced terrain/vegetation analysis from LiDAR point clouds.

Python STAC License


About

This repository documents my daily geospatial Python experiments. Each script explores a different dataset or analysis technique, building a solid foundation in remote sensing, terrain analysis, and LiDAR processing.

Goal: Demonstrate proficiency with:

  • STAC API (INPE Brazil)
  • LiDAR Point Clouds (laspy)
  • Terrain Analysis (DEM, slope, hillshade, curvature)
  • Vegetation Analysis (Canopy Height Models)
  • Data Visualization (2D/3D, matplotlib)

Datasets Explored

Day Dataset Topic Script
01 Sentinel-2 (S2-16D-2) EVI & NDVI vegetation indices Stac_Evi.ipynb
02 Topodata (SRTM) Embrapa slope classes Stac_Topodata_EVI.ipynb
03 MDT 50cm (Portugal) Terrain analysis (hillshade, slope, curvature) mdt_teste.ipynb
04 LiDAR (São João, PT) DEM, slope, hillshade, curvature from point cloud slope_lidar.ipynb
05 LiDAR (São João, PT) Canopy Height Model (CHM) & vegetation analysis lidar_vegetation.ipynb

Features

STAC Integration

  • Connection to INPE Brazil STAC catalog
  • Spatial filtering (bbox)
  • Temporal filtering (datetime)
  • Cloud cover filtering
  • Multi-collection exploration

LiDAR Processing

  • LAZ/LAS reading with laspy
  • Classification filtering (Ground, Vegetation)
  • DEM generation via interpolation (griddata)
  • KDTree-based ground interpolation (CHM)
  • Outlier filtering

Terrain Analysis

  • Hillshade (custom azimuth/altitude)
  • Slope (degrees)
  • Aspect
  • Curvature (Laplacian)
  • Statistical summaries

Visualization

  • 2D plots with colormaps
  • 3D scatter plots
  • Histograms
  • Side-by-side comparisons

Exports

  • GeoTIFF with CRS/metadata
  • 16-bit PNG (Blender-ready)
  • PLY point cloud (3D software)
  • CSV tabular data
  • High-resolution plots

Tech Stack

Library Purpose
pystac-client STAC API queries
rasterio GeoTIFF I/O
laspy LiDAR point cloud handling
numpy Numerical computing
scipy Interpolation, KDTree, gradients
matplotlib 2D/3D visualization
geopandas Vector data (future)
Pillow 16-bit PNG exports
plyfile PLY format export
pandas Tabular data manipulation

Sample Outputs

Sentinel-2 EVI & NDVI

EVI NDVI

Topodata - Embrapa Slope Classes

Topodata

MDT Terrain Analysis

MDT

LiDAR Canopy Height Model

CHM


Getting Started

Prerequisites

pip install pystac-client rasterio laspy matplotlib numpy scipy pillow geopandas shapely pyproj plyfile pandas

About

Daily STAC & LiDAR experiments exploring INPE's STAC catalog and advanced terrain/vegetation analysis. From Sentinel-2 indices (EVI/NDVI) to Canopy Height Models (CHM) from LiDAR point clouds. Scripts include DEM processing, hillshade, slope, curvature, and 3D visualizations. A portfolio of geospatial fundamentals in Python.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages