GIS Tools Lab

GIS Tools Lab — Daud Tasleem

Practical GIS tooling for dataset discovery, point clouds, and spatial QA.

A small but growing collection of focused tools that handle the unglamorous parts of GIS work — semantic metadata, LiDAR strip alignment, tile indexing, dataset quality checks — so analysis can start sooner.

What this is. Open-source GIS utilities built around real workflows. Each tool ships with documentation, a clear scope, and either a browser demo or a Python API — no half-finished prototypes, no wrappers around closed tools.

Available tools

Tools

7 live · 1 planned

raster-attr

v0.1.0

Read and write Raster Attribute Tables (RATs) across three backends: GeoTIFF internal TIFF PAM (GDAL), .aux.xml PAM sidecar (lxml), and .vat.dbf dBASE III sidecar. Unified API, auto-detect, pandas interop, and a CLI for RAT inspection.

Python Raster RAT GDAL GIS

cog-focal

v0.1.0

Ghost-buffered tile streaming for focal raster operations on Cloud-Optimized GeoTIFFs. Applies slope, aspect, hillshade, focal mean, and focal std with zero seam artifacts at tile boundaries. Pure NumPy + rasterio, no extra GDAL dependency.

Python COG Focal statistics Slope / Aspect GIS

restoration-zonal-diff

v0.1.0

Streaming Monte Carlo zonal-diff over a baseline land-cover raster and N restoration-scenario rasters. Per-zone delta-ESV with 95 % credible intervals from triangular TEEB coefficient uncertainty, in a single raster sweep.

Python Ecosystem services Monte Carlo Nature restoration GIS

line-noder

v0.1.0

Detects all interior line-line intersections in a polyline collection and builds a fully planar edge-node graph. Pure NumPy, no PostGIS or ArcGIS required.

Python Topology Network analysis GIS

GeoBrief

Live demo

Reads GIS datasets, infers semantic metadata, proposes useful spatial questions, and checks whether a custom question is answerable with the available fields.

Browser Metadata Question synthesis

laz-tile-index

Live demo

Explores portable JSON sidecar indexes for LAS/LAZ point clouds, previews bbox query windows, and shows which grid cells a query would read.

Browser LiDAR Point clouds Indexing

lidar-strip-adjust

Python library

Automated boresight calibration and strip adjustment for airborne and UAV LiDAR point clouds. Planar-neighbourhood ICP with Levenberg–Marquardt optimisation, CLI and Python API.

Python CLI LiDAR Boresight ICP

aerial-lidar-spatial-eval

Live demo

Distance-weighted, spatially-aware evaluation metrics for aerial LiDAR semantic segmentation. Computes per-class Mean Distance Error, spatially stratified IoU by boundary proximity, and hard-point detection. Runs real scipy KD-tree computation in the browser.

Browser Python LiDAR Evaluation Pyodide

ifc-slab-mesh

Live demo

Constrained Delaunay triangulation of IFC slab footprints with opening subtraction. Parses IfcSlab and IfcOpeningElement via ifcopenshell, meshes with Shewchuk's Triangle, exports OBJ / PLY / NPZ. 201,810 triangles/s over 200 slabs.

Python CLI BIM / IFC Triangulation
Live demo

uav-structure

Multi-modal UAV inspection pipeline visualizer for bridges and viaducts. Toggleable RGB, thermal, LiDAR, GPR, and acoustic layers over a real structure, with cross-modal attention fusion and per-defect evidence panels. Aligned to the TU/e STRUCTURE project.

topo-coverage-simplify

v0.1.0

Topology-safe simplification of polygon coverage layers. Detects shared boundary arcs via STRtree, simplifies each arc once (Douglas-Peucker), and reconstructs both neighbours identically — no gaps or slivers introduced. Zoom-aware tolerances via a pixel-error model for web-map pipelines.

Python CLI Vector / Topology Shapely / GeoPandas

SpatialLint

Planned

Dataset quality checks for CRS, geometry validity, suspicious coordinates, missing context, and publication readiness.

Quality checks CRS Validation
Coming next