Skip to content
View geoworldlook's full-sized avatar

Block or report geoworldlook

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
geoworldlook/README.md

Dawid Sajewski

Earth observation and geospatial data science · Python · Copernicus · validation first

I build Earth-observation pipelines from open data and validate them against independent ground measurements. Acceptance criteria are fixed before the results are computed. Every number on a map comes with its error, and negative results are reported too.


GeoWorldLook modules

GeoWorldLook is the umbrella for my open-data EO projects. Each module is a standalone repository with its own pipeline, validation and documentation.

Module Question Data Validated against Status
AgriScreen Is this vineyard entering drought? Sentinel-2 (10 m), ERA5-Land, satellite soil water index soil sensors at 11 sites (ICOS, ISMN), Météo-France v1.3.1 · active
EGMS Check Can EGMS InSAR be trusted to monitor subsidence? EGMS L2b / L3, Sentinel-1 GNSS (NGL), state levelling (NRW) v1.0.0 · active
geoworldlook-web Where the results are published Next.js, MapLibre, Supabase — live
AgriScreen: key results
  • “Dry soil” hint confirmed by soil sensors in the ground on 81% of days (49% by chance): 4,783 days at 11 sites in France, test rules registered before computing.
  • 30-day rainfall vs the Météo-France rain gauge in Condom: R = 0.90; heat days: 70% detected, 15% false alarms.
  • Reported as not confirmed: the vegetation hint vs measured evapotranspiration (67% vs 52% by chance).
  • Live panel, updated automatically every week.
EGMS Check: key results
  • North Rhine-Westphalia (1,216 levelling benchmarks, independent of GNSS): EGMS shows the same height change as levelling (slope 0.96, up to −140 mm in 3 years); same direction of motion at all 54 benchmarks in subsidence bowls.
  • Groningen (24 subsiding GNSS stations): the EGMS subsidence rate agrees with GNSS within 1.5 mm/yr for 91% of station × track pairs (release 2019–2023) and 99% (release 2020–2024).
  • Reported as failed: a constant ≈ −2 mm/yr offset to the levelling datum (3 of 4 pre-registered rules not met) and the stable-station check in Groningen.
  • One command runs the pipeline on a normal computer; offline tests run in CI on every change.

Skills

Area Tools and methods
EO data Sentinel-1/2, ERA5-Land, EGMS, Landsat 8, airborne LiDAR
Processing Python (pandas, NumPy, SciPy, rasterio, GeoPandas), Google Earth Engine, QGIS / PyQGIS, ArcGIS, PostGIS
Machine learning scikit-learn, TensorFlow, PyTorch (SEN2SR super-resolution)
Validation in-situ match-ups, bootstrap confidence intervals, Brier score, pre-registered criteria
Engineering reproducible Colab pipelines, offline self-tests, manifests with checksums
Learning now STAC, xarray, Docker, GitHub Actions, U-Net segmentation

Earlier work (2024, archived)

Project Data What it shows
landsat-lst-ndvi Landsat 8 thermal and optical land surface temperature with NDVI-based emissivity (ArcPy)
lidar-powerline-classification airborne LiDAR (LAS) power-line conductor detection with a neural network (TensorFlow)
renewable-energy-site-selection BDOT10k, solar and wind rasters PV and wind site screening for all 16 Polish provinces (PyQGIS, PostGIS)
f1-race-pace-prediction FastF1 timing data per-driver LSTM forecasts, checked race by race
pulsar-classification radio-astronomy candidates imbalanced classification done honestly (PCA + KNN)

Contact

📫 geo.world.look@gmail.com · 🌍 geoworldlook.vercel.app

Pinned Loading

  1. agriscreen agriscreen Public

    Weekly vineyard monitoring from open Copernicus data (Sentinel-2, ERA5-Land, SWI). The "dry soil" hint matched in situ soil sensors on 81% of days vs 49% by chance (pre-registered test). Live panel…

    Jupyter Notebook

  2. egms-check egms-check Public

    Validation of the European Ground Motion Service (Sentinel-1 InSAR) against GNSS and precise levelling, with pre-registered criteria

    Jupyter Notebook

  3. geoworldlook-web geoworldlook-web Public

    GeoWorldLook portfolio site: EO analyses, interactive map and blog (Next.js, MapLibre, Supabase)

    Jupyter Notebook

  4. landsat-lst-ndvi landsat-lst-ndvi Public archive

    Land surface temperature and NDVI from a Landsat 8 scene with ArcPy (2024)

    Python 1

  5. lidar-powerline-classification lidar-powerline-classification Public archive

    Power-line conductor detection in airborne LiDAR point clouds with a neural network (TensorFlow, 2024)

    Python

  6. renewable-energy-site-selection renewable-energy-site-selection Public archive

    Multi-criteria PV and wind farm site screening for all Polish provinces with PyQGIS and PostGIS (2024)

    Jupyter Notebook