Skip to content

SudaPy

Sudan-focused Python toolkit for Geomatics -- GIS, remote sensing, and surveying workflows.

  • CRS Presets for Sudan


    Built-in coordinate reference systems for UTM zones 34--37N (WGS 84 and Adindan) with automatic zone detection.

    CRS Guide

  • Vector Operations


    Reproject, clip, dissolve, buffer, simplify, calculate area, and fix invalid geometries.

    Vector Guide

  • Raster Operations


    Clip, reproject, resample, mosaic, hillshade, and slope analysis for raster data.

    Raster Guide

  • CLI & Python API


    Use SudaPy from the command line or import it as a Python library in your scripts.

    CLI Reference

Quick Example

# Find the right CRS for Khartoum
sudapy crs suggest --lon 32.5 --lat 15.6

# Reproject a vector file
sudapy vector reproject --in regions.gpkg --out regions_utm.gpkg --to 32636

# Generate a quick map
sudapy map quick --in regions.gpkg --out map.html
from sudapy.crs.registry import suggest_utm_zone
from sudapy.vector.ops import reproject, calculate_area

# Suggest CRS for a point in Sudan
suggestions = suggest_utm_zone(lon=32.5, lat=15.6)
print(suggestions)
# [{'epsg': 32636, 'zone': 36, 'name': 'WGS 84 / UTM zone 36N', ...}]

# Reproject and calculate area
gdf = reproject("parcels.gpkg", to_epsg=32636, out="parcels_utm.gpkg")
gdf = calculate_area(gdf, field="area_m2", out="parcels_area.gpkg")

Install

pip install sudapy

For geospatial dependencies on Windows, use conda first:

conda install -c conda-forge geopandas rasterio fiona pyproj
pip install sudapy

Full installation guide