Skip to main content

Python package for raster and vector geospatial processing

Project description

pysatgeo

PyPI version conda-forge version

pysatgeo is a small Python package for raster and vector geospatial processing.

The project started as a learning repo for packaging, CI, and geospatial utilities. It has now been trimmed down to a smaller set of maintained modules with clearer imports, better tests, and lighter docs.

Current Scope

The package is organized into a few focused modules:

  • raster: reprojection, clipping, stacking, alignment, polygonizing
  • vector: CRS assignment, format conversion, clipping, dissolve
  • raster_analysis: normalization, reclassification, clustering
  • terrain: DEM-related helpers such as slope and aspect
  • sampling: point generation and raster sampling
  • ranking: simple AHP-style ranking helpers
  • styles, netcdf, and gee: smaller utility modules

Project Status

This package is still modest, but it is much more coherent than the original experimental repo.

  • Public imports are available from pysatgeo itself.
  • Top-level imports are resolved lazily to keep import pysatgeo lightweight.
  • Core behavior is covered by automated tests.
  • Old experimental modules that were not maintained or documented have been removed.

Installation

Because the package depends on GDAL, rasterio, and geopandas, a Conda environment is usually the easiest setup, especially on Windows.

Example:

conda create -n pysatgeo python=3.11 -y
conda activate pysatgeo
conda install -c conda-forge geopandas rasterio rioxarray gdal pyarrow shapely xarray scikit-learn matplotlib mapclassify scipy pytest -y
pip install pysatgeo

If you are working from this repository:

pip install -r requirements.txt
pip install -e .

Quick Start

Import the package directly:

import pysatgeo

Use functions from the top level:

import pysatgeo

pysatgeo.reproject_clip_resample_tiff(...)
pysatgeo.assign_crs_to_vector(...)

Module-level imports still work too:

from pysatgeo.raster import reproject_clip_resample_tiff
from pysatgeo.vector import assign_crs_to_vector

Development

Run the test suite from the repository root:

conda run -n pysatgeo pytest -q

The current test suite covers:

  • top-level package import behavior
  • raster and vector validation paths
  • raster sampling and analysis helpers
  • ranking helpers
  • NetCDF and style parsing utilities

Documentation

Project documentation lives in the docs/ folder and is published at:

https://JPPereira93.github.io/pysatgeo

The most useful pages are:

  • docs/usage.md for quick examples
  • docs/installation.md for environment setup
  • the API Reference pages for module docs

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysatgeo-1.0.0.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysatgeo-1.0.0-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file pysatgeo-1.0.0.tar.gz.

File metadata

  • Download URL: pysatgeo-1.0.0.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for pysatgeo-1.0.0.tar.gz
Algorithm Hash digest
SHA256 aecb9682b140fff26e0db249a31a301f7c177a3615315cd998afe74df6e77998
MD5 be420cb81b60e6bbf17a8c340dc47f33
BLAKE2b-256 f85ffca4d602c658c07bd2d9e4fead94407f7c8cf6b720e74bb0c2496fcb7b4d

See more details on using hashes here.

File details

Details for the file pysatgeo-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pysatgeo-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 22.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for pysatgeo-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 71ea791831c2f63a131045e30669d1d1ed91514df857369e8ee8f0e00a3d8b36
MD5 6a9454f033dee0f4505bbde815298ac6
BLAKE2b-256 3da6daa8e0f3cb0e15afa062fb4fcd0748add4fe307688509db8bbfca0e3e793

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page