GeoData Toolkit π
A growing collection of Python utilities for geospatial data processing, analysis, and visualisation.
The goal is to keep each script self-contained and easy to reuse in day-to-day GIS workflows, whether you are a data scientist, cartographer, or researcher.
β¨ What you can do with this repoΒΆ
| Category | Capabilities (present & planned) |
|---|---|
| Data processing | β’ Batch convert between vector/raster formats (e.g. shp β tif, shp β kml) β’ Coordinate-system transformations β’ CRUD operations on attribute tables |
| Data analysis | β’ Spatial joins & overlays β’ Zonal statistics β’ Terrain & hydrological analysis (road-mapped) |
| Visualisation | β’ Quick-look PNG generation for QA β’ Matplotlib-based thematic maps (planned) |
Status: active development β scripts are added & refined continuously.
Pull Requests and feature ideas are welcome!
π Current script listΒΆ
| Path | Description |
|---|---|
scripts/kml_ouput | Create a user-defined bounding rectangle (by centre + size / by lat-lon extent) and save it as KML. Optional flags let you export the same rectangle as Shapefile or GeoJSON. |
scripts/shp2tif_workflow | Generic Shapefile β GeoTIFF converter β supports geometry repair, size limits, float-32 attribute rasterisation (e.g. DEPTH2D). |
notebooks/batch_coordinate_transform.ipynb | Batch re-projection utility: recursively scans a folder, assigns a CRS if missing, and converts all vector layers to WGS-84 (EPSG 4326). Supports Shapefile / GeoJSON / GPKG; writes a mirrored directory tree under output_root/. |
Planned additions (π Q3 2025):
scripts/clip_by_polygonβ vector & raster clippingnotebooks/analysis_templates/β ready-to-run Jupyter notebooks for common analyses
π§ Quick startΒΆ
# 1. clone
git clone https://github.com/<your-user>/geodata-toolkit.git
cd geodata-toolkit
# 2. create environment (conda recommended)
conda env create -f environment.yml
conda activate geodata
# 3. launch JupyterLab / Notebook
jupyter lab # or jupyter notebook
# 4. open a notebook and run all cells
# e.g. notebooks/make_rectangle_kml.ipynb