Skip to main content

A sleek, object-oriented interface designed for intuitive raster data manipulation in Python.

Project description

rasterra

PyPI PyPI - Python Version PyPI - License


Documentation: https://collijk.github.io/rasterra

Source Code: https://github.com/collijk/rasterra

PyPI: https://pypi.org/project/rasterra/


An in-memory object-oriented raster manipulation library.

rasterra is a library for manipulating raster data in memory. It is designed to be used in lieu of rasterio to allow for easier manipulation of raster data. It is designed to be used in conjunction with geopandas when vector data is also being used.

Currently, rasterra is in a very early stage of development. It's primary limitation at this point is that it only supports single-band raster data. Multi-band support is planned for the near future.

Installation

pip install rasterra

Usage

File I/O

Reading and writing raster data is done using the load_raster and to_file functions.

import rasterra as rt

# Read in a raster
raster = rt.load_raster("path/to/raster.tif")

# Write a raster to disk
raster.to_file("path/to/output.tif")

A raster can also be read and mosaic'd from multiple files using the load_mf_raster function.

import rasterra as rt

# Read in a multi-file raster
raster = rt.load_mf_raster(["path/to/raster1.tif", "path/to/raster2.tif"])

Raster Manipulation

rasterra provides a number of methods for manipulating raster data. These methods are designed to be used in a method-chaining style, similar to pandas and geopandas.

import rasterra as rt
import geopandas as gpd

# Read in a raster
raster = rt.load_raster("path/to/raster.tif")
shapes = gpd.read_file("path/to/polygons.shp")


new_raster = (
    raster
    .to_crs(shapes.crs)          # Reproject the raster to the same CRS as the polygons
    .clip(shapes)                # Clip the raster to the bounding box of the polygons
    .mask(shapes, fill_value=0)  # Mask the raster to the polygons, filling in areas outside the polygons with 0
    .resample(0.5, 'sum')        # Downsample the raster half the original resolution,
                                 # computing the area-weighted sum of the contributing pixels
)

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

rasterra-0.6.3.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

rasterra-0.6.3-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file rasterra-0.6.3.tar.gz.

File metadata

  • Download URL: rasterra-0.6.3.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.10 Linux/6.11.0-1014-azure

File hashes

Hashes for rasterra-0.6.3.tar.gz
Algorithm Hash digest
SHA256 a7ca63aa50c5a13c1091b300d2ebdfb81e28429cf959ddb064a4d0998c5672d5
MD5 166e778f6e518fa84cbcb6a41f6815a2
BLAKE2b-256 55f9f53340bed79e90c1c454b947751f9c3f1973fb8ea54920066c123aff12bb

See more details on using hashes here.

File details

Details for the file rasterra-0.6.3-py3-none-any.whl.

File metadata

  • Download URL: rasterra-0.6.3-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.10 Linux/6.11.0-1014-azure

File hashes

Hashes for rasterra-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 645c269b02ebe950d6abef7a6e11bfa68d6446329b199137261b6a2d0ef83f88
MD5 974e4aaf4836f46e107d2ea74fbc0e42
BLAKE2b-256 56e65e648f55054e2521adacfbc55938fe85b69ab58bf0e76587f2dfbf653563

See more details on using hashes here.

Supported by

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