From 42a0c6b26c718fcd6a86161fc1247a541ae15d8f Mon Sep 17 00:00:00 2001 From: NTedjosantoso Date: Wed, 18 Feb 2026 13:59:45 +0100 Subject: [PATCH 01/21] Edit workflow to read wkb directly --- .gitignore | 4 +- src/geo/{from_shapely.rs => geo_inputs.rs} | 46 +++++++++++++++++++++- src/lib.rs | 6 +-- 3 files changed, 51 insertions(+), 5 deletions(-) rename src/geo/{from_shapely.rs => geo_inputs.rs} (56%) diff --git a/.gitignore b/.gitignore index 5b68623..0ac06b6 100644 --- a/.gitignore +++ b/.gitignore @@ -29,4 +29,6 @@ README_files benchmarks/data .git uv.lock -**/*.xml + +# Rust outputs +target/ \ No newline at end of file diff --git a/src/geo/from_shapely.rs b/src/geo/geo_inputs.rs similarity index 56% rename from src/geo/from_shapely.rs rename to src/geo/geo_inputs.rs index 63028d7..b0db1d9 100644 --- a/src/geo/from_shapely.rs +++ b/src/geo/geo_inputs.rs @@ -11,8 +11,11 @@ use pyo3::{ intern, prelude::*, pybacked::PyBackedBytes, - types::{PyAny, PyDict}, + types::{PyAny, PyDict, PyList, PyBytes}, }; +use polars::prelude::*; +use pyo3_polars::PySeries; +use pyo3::Bound; use wkb::reader::read_wkb; fn parse_wkb_to_geometry(wkb: &[u8]) -> Option> { @@ -58,3 +61,44 @@ pub fn from_shapely(py: Python, input: &Bound) -> PyResult) -> PyResult>> { + let pyseries: PySeries = input.extract()?; + let mut wkb_output = Vec::with_capacity(pyseries.0.len()); + for item in pyseries.0.iter() { + match item { + AnyValue::Null => continue, // Skip nulls + _ => { + if let Some(buf) = item.extract_bytes() { + let parsed = parse_wkb_to_geometry(buf); // &[u8] + wkb_output.push(parsed); + } + } + } + } + let wkb_output: Vec> = wkb_output.into_iter().flatten().collect(); + Ok(wkb_output) +} + +pub fn from_wkb_list(py_list: &Bound<'_, PyList>) -> PyResult>> { + let geometries: Vec> = py_list + .iter() + .filter_map(|py_item| { + let bytes = py_item.downcast::().ok()?; + // parse → Option → ? early None on fail + let parsed = parse_wkb_to_geometry(bytes.as_bytes())?; + Some(parsed) + }) + .collect(); + Ok(geometries) +} + +pub fn from_input(py: Python, input: &Bound) -> PyResult>> { + if input.hasattr("geom_type")? { + from_shapely(py, input) + } else if let Ok(py_list) = input.downcast::() { + from_wkb_list(py_list) + } else { + from_polars_wkb(input) + } +} diff --git a/src/lib.rs b/src/lib.rs index 3dce591..68d2ee3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,7 +1,7 @@ mod allocator; mod geo { pub mod edges; - pub mod from_shapely; + pub mod geo_inputs; pub mod raster; } mod encoding { @@ -21,7 +21,7 @@ mod prelude; use crate::{ encoding::pyarrays::{PyOut, Pythonize}, - geo::from_shapely::from_shapely, + geo::geo_inputs::from_input, prelude::*, rasterization::{ pixel_functions::set_pixel_function, @@ -100,7 +100,7 @@ fn rusterize_py<'py>( let df: Option = pydf.map(|inner| inner.into()); // parse geometries - let geometry = from_shapely(py, pygeometry)?; + let geometry = from_input(py, pygeometry)?; // extract raster information let raster_info = RasterInfo::extract_bound(pyinfo)?; From aa3d0b99677dfb5827ce75611b415e46cf1ff9b1 Mon Sep 17 00:00:00 2001 From: NTedjosantoso Date: Wed, 18 Feb 2026 14:01:52 +0100 Subject: [PATCH 02/21] add polars-st for convenient --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index fbd0d9b..326cd25 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,6 +23,7 @@ dependencies = [ "pandas>=2.2.3", "pyarrow>=18.1.0", "polars>=1.19.0", + "polars-st>=0.4.3", ] [project.optional-dependencies] From ba14cf2a0f55c2761a2638b115d855b3a9af3885 Mon Sep 17 00:00:00 2001 From: NTedjosantoso Date: Wed, 18 Feb 2026 14:46:06 +0100 Subject: [PATCH 03/21] adjust the python layer of rusterize to accept polars and also numpy arrays --- .gitignore | 10 ++++- Cargo.lock | 2 +- Cargo.toml | 2 +- python/rusterize/__init__.py | 71 +++++++++++++++++++++++++++------- python/rusterize/rusterize.pyi | 10 +++-- 5 files changed, 74 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 0ac06b6..518769c 100644 --- a/.gitignore +++ b/.gitignore @@ -31,4 +31,12 @@ benchmarks/data uv.lock # Rust outputs -target/ \ No newline at end of file +target/ + +# Temporary maturin development +*.pyd + +# Jupyter Notebooks +.ipynb_checkpoints +*/.ipynb_checkpoints/* +dev_notebooks/ \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index d362da4..48e1da1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2622,7 +2622,7 @@ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rusterize" -version = "0.7.1" +version = "0.8.0" dependencies = [ "bitflags", "fixedbitset", diff --git a/Cargo.toml b/Cargo.toml index 6824bf7..a8518ac 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ cargo-features = ["profile-rustflags"] [package] name = "rusterize" -version = "0.7.1" +version = "0.8.0" edition = "2024" resolver = "3" diff --git a/python/rusterize/__init__.py b/python/rusterize/__init__.py index 8a07e97..cb53daf 100644 --- a/python/rusterize/__init__.py +++ b/python/rusterize/__init__.py @@ -3,10 +3,13 @@ import importlib.metadata from types import NoneType from typing import TYPE_CHECKING, List, Tuple +from collections.abc import Iterable import numpy as np import polars as pl +import polars_st as st from geopandas import GeoDataFrame +from shapely import total_bounds, from_wkb from .rusterize import _rusterize @@ -19,7 +22,9 @@ def rusterize( - gdf: GeoDataFrame, + gdf: GeoDataFrame | pl.DataFrame | list | np.ndarray, + geom_col : str = None, + value : list | np.ndarray | None = None, like: DataArray | Dataset | None = None, res: Tuple | List | None = None, out_shape: Tuple | List | None = None, @@ -38,11 +43,13 @@ def rusterize( Fast geopandas rasterization in Rust. Args: - :param gdf: geopandas dataframe to rasterize. + :param gdf: geopandas dataframe or polars dataframe to rasterize. + :param geom_col: geometry column for polars dataframe. Has to be provided if polars dataframe is used. Default to None. + :param value: value to use in case numpy array or list is used as input. :param like: array to use as blueprint for spatial matching (resolution, shape, extent). Mutually exlusive with res, out_shape, and extent. :param res: (xres, yres) for rasterized data. :param out_shape: (nrows, ncols) for regularized output shape. - :param extent: (xmin, ymin, xmax, ymax) for regularized extent. + :param extent: (xmin, xmax, ymin, ymax) for regularized extent. :param field: field to rasterize, mutually exclusive with `burn`. Default is None. :param by: column to rasterize, assigns each unique value to a layer in the stack based on field. Default is None. :param burn: burn a value onto the raster, mutually exclusive with `field`. Default is None. @@ -69,8 +76,8 @@ def rusterize( A `None` value for `dtype` corresponds to the default of that dtype. An illegal value for a dtype will be replaced with the default of that dtype. For example, a `background=np.nan` for `dtype="uint8"` will become `background=0`, where `0` is the default for `uint8`. """ # type checks - if not isinstance(gdf, GeoDataFrame): - raise TypeError("`gdf` must be a geopandas dataframe.") + if not isinstance(gdf, (GeoDataFrame, pl.DataFrame, list, np.ndarray)): + raise TypeError("`gdf` must be either geopandas dataframe, polars DataFrame, list, or numpy array") if type(like).__name__ not in ("DataArray", "Dataset", "NoneType"): raise TypeError("`like' must be a xarray.DataArray or xarray.Dataset") if not isinstance(res, (tuple, list, NoneType)): @@ -101,6 +108,8 @@ def rusterize( ) # value checks and defaults + if isinstance(gdf, pl.DataFrame) and not geom_col: + raise ValueError("Geometry column has to be provided when polars DataFrame is used.") if field and burn: raise ValueError("Only one of `field` or `burn` can be specified.") if encoding not in ["xarray", "numpy", "sparse"]: @@ -140,7 +149,41 @@ def rusterize( # defaults _res = res if res else (0, 0) _shape = out_shape if out_shape else (0, 0) - (_bounds, _has_extent) = (extent, True) if extent else (gdf.total_bounds, False) + + # extract columns of interest and convert to polars + cols = list(set([col for col in (field, by) if col])) + + # Type checking to determin how the information for bounds are to be generated + if isinstance(gdf, GeoDataFrame): + (_bounds, _has_extent) = (extent, True) if extent else (gdf.total_bounds, False) + epsg = gdf.crs.to_epsg() if gdf.crs else None + try: + df = pl.from_pandas(gdf[cols]) if cols else None + except KeyError as e: + raise KeyError("Column not found in GeoDataFrame.") from e + + elif isinstance(gdf, pl.DataFrame): + (_bounds, _has_extent) = (extent, True) if extent else (gdf.select(pl.col(geom_col).st.total_bounds()).item().to_numpy(), False) + # Check whether the geometry has srid. When it is 0 (no srid) + # If the first one is zero --> meaning no srid --> give None back + # If otherwise assume epsg is all consistent --> take first srid + epsg = (gdf.select(pl.col("geometry").st.srid().alias("srid")) + .select( + pl.when(pl.col("srid").first().eq(0)) + .then(None) + .otherwise(pl.col("srid").first()) + ).item()) + try: + df = gdf.select(pl.col(cols)) if cols else None + except KeyError as e: + raise KeyError("Column not found in polars DataFrame.") from e + + else: + (_bounds, _has_extent) = (extent, True) if extent else (total_bounds([from_wkb(g) for g in gdf]), False) + # Simplification for now. + # Parsing epsg theoretically possible but spared for now + epsg = None + df = pl.DataFrame({"value":value}) # RawRasterInfo raw_raster_info = { @@ -154,14 +197,12 @@ def rusterize( "yres": _res[1], "has_extent": _has_extent, "tap": tap, - "epsg": gdf.crs.to_epsg() if gdf.crs else None, + "epsg": epsg, } - # extract columns of interest and convert to polars - cols = list(set([col for col in (field, by) if col])) - try: - df = pl.from_pandas(gdf[cols]) if cols else None - except KeyError as e: - raise KeyError("Column not found in GeoDataFrame.") from e - - return _rusterize(gdf.geometry, raw_raster_info, fun, df, field, by, burn, background, all_touched, encoding, dtype) + if isinstance(gdf, GeoDataFrame): + return _rusterize(gdf.geometry, raw_raster_info, fun, df, field, by, burn, background, all_touched, encoding, dtype) + elif isinstance(gdf, pl.DataFrame): + return _rusterize(gdf.select(pl.col(geom_col)).to_series(), raw_raster_info, fun, df, field, by, burn, background, all_touched, encoding, dtype) + else: + return _rusterize(gdf, raw_raster_info, fun, df, field, by, burn, background, all_touched, encoding, dtype) diff --git a/python/rusterize/rusterize.pyi b/python/rusterize/rusterize.pyi index 8887c7b..e57a6ad 100644 --- a/python/rusterize/rusterize.pyi +++ b/python/rusterize/rusterize.pyi @@ -6,7 +6,9 @@ from polars import DataFrame from xarray import DataArray, Dataset def rusterize( - gdf: GeoDataFrame, + gdf: GeoDataFrame | pl.DataFrame | list | np.ndarray, + geom_col : str = None, + value : list | np.ndarray | None = None, like: DataArray | Dataset | None = None, res: Tuple | List | None = None, out_shape: Tuple | List | None = None, @@ -25,11 +27,13 @@ def rusterize( Fast geopandas rasterization in Rust. Args: - :param gdf: geopandas dataframe to rasterize. + :param gdf: geopandas dataframe or polars dataframe to rasterize. + :param geom_col: geometry column for polars dataframe. Has to be provided if polars dataframe is used. Default to None. + :param value: value to use in case numpy array or list is used as input. :param like: array to use as blueprint for spatial matching (resolution, shape, extent). Mutually exlusive with res, out_shape, and extent. :param res: (xres, yres) for rasterized data. :param out_shape: (nrows, ncols) for regularized output shape. - :param extent: (xmin, ymin, xmax, ymax) for regularized extent. + :param extent: (xmin, xmax, ymin, ymax) for regularized extent. :param field: field to rasterize, mutually exclusive with `burn`. Default is None. :param by: column to rasterize, assigns each unique value to a layer in the stack based on field. Default is None. :param burn: burn a value onto the raster, mutually exclusive with `field`. Default is None. From 2e808211f5a12bf8710a81ef769a9248361efe9a Mon Sep 17 00:00:00 2001 From: NTedjosantoso <63661348+NTedjosantoso@users.noreply.github.com> Date: Wed, 18 Feb 2026 15:25:50 +0100 Subject: [PATCH 04/21] fix Wrong parameter order in docstring --- python/rusterize/rusterize.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/rusterize/rusterize.pyi b/python/rusterize/rusterize.pyi index e57a6ad..e8d9c02 100644 --- a/python/rusterize/rusterize.pyi +++ b/python/rusterize/rusterize.pyi @@ -33,7 +33,7 @@ def rusterize( :param like: array to use as blueprint for spatial matching (resolution, shape, extent). Mutually exlusive with res, out_shape, and extent. :param res: (xres, yres) for rasterized data. :param out_shape: (nrows, ncols) for regularized output shape. - :param extent: (xmin, xmax, ymin, ymax) for regularized extent. + :param extent: (xmin, ymin, xmax, ymax) for regularized extent. :param field: field to rasterize, mutually exclusive with `burn`. Default is None. :param by: column to rasterize, assigns each unique value to a layer in the stack based on field. Default is None. :param burn: burn a value onto the raster, mutually exclusive with `field`. Default is None. From 26a7f9b1577cae40f6a38964f05460c76bb33b94 Mon Sep 17 00:00:00 2001 From: NTedjosantoso <63661348+NTedjosantoso@users.noreply.github.com> Date: Wed, 18 Feb 2026 15:26:58 +0100 Subject: [PATCH 05/21] Fix parameter order in docstring for extent --- python/rusterize/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/rusterize/__init__.py b/python/rusterize/__init__.py index cb53daf..4d32b47 100644 --- a/python/rusterize/__init__.py +++ b/python/rusterize/__init__.py @@ -49,7 +49,7 @@ def rusterize( :param like: array to use as blueprint for spatial matching (resolution, shape, extent). Mutually exlusive with res, out_shape, and extent. :param res: (xres, yres) for rasterized data. :param out_shape: (nrows, ncols) for regularized output shape. - :param extent: (xmin, xmax, ymin, ymax) for regularized extent. + :param extent: (xmin, ymin, xmax, ymax) for regularized extent. :param field: field to rasterize, mutually exclusive with `burn`. Default is None. :param by: column to rasterize, assigns each unique value to a layer in the stack based on field. Default is None. :param burn: burn a value onto the raster, mutually exclusive with `field`. Default is None. From 51a3c289a85d0e4e14d0efe60c057d90bda125f0 Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:21:04 -0800 Subject: [PATCH 06/21] update gitignore --- .gitignore | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 518769c..529adfd 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ target/ # Virtual environment .venv .env +uv.lock # Shared object **/*.so @@ -23,15 +24,11 @@ target/ # Benchmarks .benchmarks -# other stuff +# Other stuff README_files .ruff_cache benchmarks/data .git -uv.lock - -# Rust outputs -target/ # Temporary maturin development *.pyd @@ -39,4 +36,4 @@ target/ # Jupyter Notebooks .ipynb_checkpoints */.ipynb_checkpoints/* -dev_notebooks/ \ No newline at end of file +dev_notebooks/ From c75082cb7280e79bfd22d1ea46171282b5d5601f Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:21:21 -0800 Subject: [PATCH 07/21] update gdal benchmarks --- benchmarks/benchmark_rusterize.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/benchmarks/benchmark_rusterize.py b/benchmarks/benchmark_rusterize.py index 7b49daa..9e8c084 100644 --- a/benchmarks/benchmark_rusterize.py +++ b/benchmarks/benchmark_rusterize.py @@ -5,6 +5,7 @@ from osgeo import gdal from pyogrio import read_dataframe from rusterize import rusterize +import rioxarray # POLYGONS (~468MB) url = "https://ftp.maps.canada.ca/pub/nrcan_rncan/vector/canvec/shp/Hydro/canvec_50K_BC_Hydro_shp.zip" @@ -33,9 +34,7 @@ # GDAL gdal.UseExceptions() src_water = gdal.OpenEx("canvec_50K_BC_Hydro/waterbody_2.shp") -dest_water = "/vsimem/output_water.tif" src_roads = gdal.OpenEx("lrnf000r25p_e/lrnf000r25p_e.gpkg") -dest_roads = "/vsimem/output_roads.tif" # BENCHES @@ -59,27 +58,27 @@ def test_roads_uint8(benchmark): benchmark(rusterize, roads, res=(50, 50), dtype="uint8") -def test_water_large_gdal_vsimem_f64(benchmark): +def test_water_large_gdal_f64(benchmark): benchmark( gdal.Rasterize, - dest_water, + "", src_water, xRes=1 / 6, yRes=1 / 6, - format="GTIFF", + format="MEM", outputType=gdal.GDT_Float64, burnValues=1, ) -def test_roads_gdal_vsimem_uint8(benchmark): +def test_roads_gdal_uint8(benchmark): benchmark( gdal.Rasterize, - dest_roads, + "", src_roads, xRes=50, yRes=50, - format="GTIFF", + format="MEM", outputType=gdal.GDT_Byte, burnValues=1, ) From d9bacb32019bbcb9a1a397dd296f6e2c3cc119fc Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:21:41 -0800 Subject: [PATCH 08/21] update LICENSE --- LICENSE | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/LICENSE b/LICENSE index 1dc9ea0..b93fcf9 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,6 @@ MIT License -Copyright (c) 2025 Tommaso Trotto -Copyright (c) 2017 EcoHealth Alliance +Copyright (c) 2024-2026 Tommaso Trotto Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -20,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. From 1b81c188aa0db49497c171e0199a1b7495ce8a1f Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:22:08 -0800 Subject: [PATCH 09/21] new test suite --- test/data/standard_output_sum.tif | Bin 0 -> 47687 bytes .../data/standard_output_sum_custom_shape.tif | Bin 0 -> 1302 bytes test/test_many.py | 408 ++++++++++++++++++ 3 files changed, 408 insertions(+) create mode 100644 test/data/standard_output_sum.tif create mode 100644 test/data/standard_output_sum_custom_shape.tif create mode 100644 test/test_many.py diff --git a/test/data/standard_output_sum.tif b/test/data/standard_output_sum.tif new file mode 100644 index 0000000000000000000000000000000000000000..46a71fc05134e85ebda1981ad2d52f5b98024529 GIT binary patch literal 47687 zcmeI)zmFw35eM*oGjC=uSb+#w5`K(y5dlf3j>Cs`Grr*Ciz4XVQ|N1;1zxwWvzW3qNx4-rD zji(>};QLR%{KZEDY%T4a{R?HW zj?0*jlFpO|K_6qyF(2}n=9q1t9dkQ}57zBksmC*4zNL9(KU=v0&2lgfM@?>DY?1lG z(q(2#=-^9_eSToJ#C$<%N!hfcDKHs>TFqe<=1V=ME6j${#5Nf=8`cx6%08f8rZ=Ll zd=Y5p-g_r}KEym;8e%qkNGDyKpYm26vncb}mIjr5SjWAR)Lb^7A>rLaoOxtRE0~R- zb5(Yx+jlLXVjd-}Qnu=7mX)0}u+}mUk=8QXNVBBH$v*1_X7k5%gYps3Jzs@1F&npZ z8?(hjy4btILQ`9}G8;;_D*L>qdnQQ&r?^B)K*J7ZE9oBQdi)v^{)wKh=pC93il^+1Dv-Ay1nr`$F(FQa z8f9JmoJEygoF2OI>keI;g3&YcIO__ug888Vz?r-DrFOb>NI^1ESRaaWr8$I%9BOvZ8Y$j8$6LWY)PQ*|p|uXm z{@C4_tpzrZ`d}9WMtivsY{jg#rpyOI`PXub7nWw`nlhm7nukr&Cb&x=DDn3%_<++(*iD8YIb%MBc)4yU1YxYmR3NM zw`cj$uCdSzwV-@pOH-HPxXpR}#2yXp>eEL^h1o6lK5iTHi@Ib1hu)L+o4Bdj}?zEs&JZha|W_PwX-LR2o zo?mtAZm`w@Mc}Z2LND{`o(oyBiFpq{#m}`BFd%-`(h?Xn~uk#@E zR)w)1_QY5UC)D!O166T9S%8N^k(&@d&^r4nsr6uJSAMsanH67hSUcCgfrmk7Z&GAE z9(uK|D7$5-_vRpL=!__yXms{Pi1kIJ&voVlolP1#es9QGu)YBFvQ^FcxQ4DkLk&%2 z^Wh9I96G$C?kHJ5V`ne#?tZ8=QC@~c>zjtoo0ypy2%Rze37+~uXZgv2JUAFtX3AF@ zfz2u}lZ^F&(2NP00-#B>I9y5@TMNwdQeu6eb9Y0Fxa(s4c9~h%l=Hs6Vd$E3Y#h!k ztTAREwYBv#bq=chvCkS;ULqIk+l4OmGjE&DHd||%=lCQ4EFvo`&`pj3R<@l69x@-q8NKE7aEo4dN-o3fBG1w4p23 z7j`!9SCl-nHc(C*dZ8{nLM{$%{bWF;<8MCMFy{?jv>xCrKBE1F;56ouOJ5r)7aDr8 zPXEm~0D65>g@d`DreO3VqMhWzJ-Q`oJ;1rz(C!j6Ft)KXO(*Z3E<;o60npXWeSobV zTy4L$9jjxsmn)B!wjSV&H1sjj8Ab>3lA2ZIC!FD%-k{5xFUid+e(Zxj*u^oo z4?72cz8eIx7qCvYTT4~rwFh@9sx>UeJ4j~+fLICXBIdO=>uT98z&pE_*W7=PU@}ru zFEyc$7*l5ybS2S`nW5}pWf!(WyOA9qJ%)DwpE2Ol<5=jC(l|sEiCRZV;t6$j9X-D&@iJCIi#u|Q9Stj` za$CW3kTqP5JfU6A3hfSw^=RlJJ&hw2BWu{j#B3pIXab#B>!7n;fC;HFTh@Rru@KQ3 zE8(LAXxi4}p>2B_2S6f=)=2Ua6FbKpO&`}6fVPvyZy%53t?~RS^!f-Y~8*7{^D z1GUDg@llDK=9DiuVm4ThsJ+&Nth@Ht(9+nhP4&s%TA!uLs9USbWx-Sr9cM+J$3%s? z_a;%@Ev|RNYtEOfyRUl_LtHE@~Gz3#+0HLwR0 z61ELTCPXzA>V%^znF$Vc!jTD~Kditm(@C+;9(X1Xjfi>=QH|)fbgU{uf@uvpCLyXJ ztwG0mk)^Hk`FKXIvBml@`c&Siw+P)J-8MbfRm&eh7p~{5ty2;uS8Jn~Sr`XIw5fSFRARfVq2EB<+4nL|hI%E9I5uYjsO`rTJ^Amt045xx4fn z6|E(CrBf+KT6>Q5$UUXEzDjQq>H4-%7}Vlx>uK3qd~N;cdh7noWjg8j;+U8?fSe(* zNK7b+#3C_A)^mHKm-sd=yixHHbOFQW+DI%C6D|~qMPhECp5`|E?bPCH>wzR3Yw@-9 zP$wK~@wN3(Cmd_>we__Q7#4P&k5Z1b78M~UQjWAnN<>2`M_P-DkP|6KS_4avuxwZ= zUz*PfBon2)(tMJhotE-S^I3spqLf#f2h)=<_LSR#n`4uiNiLV0V^Y~EE|;5QlbJ~_ zmzx7qnXuwix=ngsOe`#<`RREftvH?Lr{~4Q!a|y#o`Y$HFmal0MaN>2ut;mrv5+Dz z(He9tCJBqQ1|5SbLRfVvY!{Bzgi1iD6ONVe>T;+Pj@5)pK&TUrV0a}ATJ~Fl+y39x RYy3`J$;p!0@9})<{SQq63wHnj literal 0 HcmV?d00001 diff --git a/test/data/standard_output_sum_custom_shape.tif b/test/data/standard_output_sum_custom_shape.tif new file mode 100644 index 0000000000000000000000000000000000000000..c6b40d778e62050aac8b210618ea4fbea9bb5f2c GIT binary patch literal 1302 zcmebD)MDUZU|`^5U|?isU<9)4fdnIztq3u*f ziX<)uWlI9Z#i44p0ogK0YHX3%!ANYrW*!D+pxR?V+|a^&km!5KMy_X+$de5wf_51H9i^r&mv$F1eR2WvnW-gm>_)x)4 zo29e)yUwKLPdZaqZatA9wIoVsU$*aZhU1@a?Ty{;zWzphskH5~W#Vh@w^LY>3QnnimLZ+9Qd;@-FR~Hh7VOy3F_f%uQL_yj(Ev#_xkLI@>N^q=1=>4<4aYw z?EX|c#Yd+qEcbKGbw2xjcGdp){o&jHwAxMJVVSYg|In7k&HPV9S@-vU?rL->=uzoY z|6sJCd2K<8Deu7vMGu&c2y$?99+@Ci%&qbIP%oeB#2j;ehC-24$s-$A@0od&=a!(j z`@}a<*W8MDS_O|?(oULsTz8Ye+~b#W=8CVpB(qfW#HH1mDo&T8_Nt$r^!gh!!=*V# zwY)BCy_)2$F0g@^OScRy9Sn7J*XAgIdpQf}elq-^u-z29Z~Ped;MVY4jEv#0IqMu{~~J{!iJ zcu^8%r5EkH{QUW6JNLZXmc4S_OS5PzH)H?pD{}NMy-nL)Yj`(e+ZMKp_q1TgTx)iB`x9GBR|w6RvWEZuhl-jwzM9Kh%U)Gw?5o?J4Pv-+o#>HWu_ z&aAPOTdV&1&*M$!e@Xqc%U{AX)yDtOYep;oM<3aoxL$91>(Ei6_5WZ%_jh)UfGajP zY(M;QVKBWYoy_NQ(I-@N8~2=u3yPc`LQ~dn4ANpz+E{HbecbS}q#Q%9SJi*_b(0Wr^NKO066FH037ZlB6)i&&{UaMm!G;6}t6Gl-wyS*p;In{CI!`p!sl<0 Sapw=HmM4T?6Y2V)pa1~83G>DP literal 0 HcmV?d00001 diff --git a/test/test_many.py b/test/test_many.py new file mode 100644 index 0000000..43447d4 --- /dev/null +++ b/test/test_many.py @@ -0,0 +1,408 @@ +from osgeo import gdal + +import os +import re +import warnings +from tempfile import NamedTemporaryFile +from unittest.mock import patch + +import geopandas as gpd +import numpy as np +import polars_st as st +import pytest +import xarray as xr +from rusterize import rusterize +from shapely import wkt + +gdal.UseExceptions() + +GEOMS = [ + "POLYGON ((-180 -20, -140 55, 10 0, -140 -60, -180 -20), (-150 -20, -100 -10, -110 20, -150 -20))", + "POLYGON ((-10 0, 140 60, 160 0, 140 -55, -10 0))", + "POLYGON ((-125 0, 0 60, 40 5, 15 -45, -125 0))", + "MULTILINESTRING ((-180 -70, -140 -50), (-140 -50, -100 -70), (-100 -70, -60 -50), (-60 -50, -20 -70), (-20 -70, 20 -50), (20 -50, 60 -70), (60 -70, 100 -50), (100 -50, 140 -70), (140 -70, 180 -50))", + "GEOMETRYCOLLECTION (POINT (50 -40), POLYGON ((75 -40, 75 -30, 100 -30, 100 -40, 75 -40)), LINESTRING (60 -40, 80 0), GEOMETRYCOLLECTION (POLYGON ((100 20, 100 30, 110 30, 110 20, 100 20))))", +] + +geometries = [wkt.loads(geom) for geom in GEOMS] +GDF = gpd.GeoDataFrame({"value": range(1, len(GEOMS) + 1)}, geometry=geometries) + + +@pytest.fixture(scope="module") +def exploded_gpkg(): + """Temporary GPKG with exploded geometries for GDAL""" + with NamedTemporaryFile(suffix=".gpkg", delete=False) as tmp: + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + # GDAL struggles with nested collections, so we explode all of them to be safe + GDF.explode().explode().to_file(tmp.name, driver="GPKG", layer="test") + path = tmp.name + yield path + + if os.path.exists(path): + os.remove(path) + + +class TestTypeChecks: + @pytest.mark.parametrize( + "kwargs, expected_match", + [ + ({"data": "not_a_dataframe", "res": (1, 1)}, "`data` must be either geopandas"), + ({"like": "not_an_xarray", "res": (1, 1)}, "`like` must be a xarray.DataArray"), + ({"res": "1x1"}, "`resolution` must be a tuple or list"), + ({"out_shape": "100x100"}, "`out_shape` must be a tuple or list"), + ({"extent": "0,0,10,10"}, "`extent` must be a tuple or list"), + ({"field": 123}, "`field` must be a string"), + ({"by": 123}, "`by` must be a string"), + ({"burn": "hot"}, "`burn` must be an integer or float"), + ({"fun": 1}, "`pixel_fn` must be one of"), + ({"background": "black"}, "`background` must be integer, float, or None"), + ({"encoding": 1}, "`encoding` must be one of 'xarray'"), + ({"all_touched": "yes"}, "`all_touched` must be a boolean"), + ({"tap": "yes"}, "`tap` must be a boolean"), + ({"dtype": 64}, "`dtype` must be a one of"), + ], + ) + def test_type_errors(self, kwargs, expected_match): + args = {"data": GDF, "res": (1, 1)} + args.update(kwargs) + + with pytest.raises(TypeError, match=expected_match): + rusterize(**args) + + +class TestMissingDependencies: + def test_geopandas_missing(self): + import geopandas as gpd + from shapely import wkt + + gdf = gpd.GeoDataFrame(geometry=wkt.loads(GEOMS)) + + with patch("rusterize._check_for_geopandas", return_value=False): + with pytest.raises(TypeError, match="`data` must be either geopandas.GeoDataFrame"): + rusterize(gdf, res=(1, 1), encoding="numpy") + + def test_polars_missing(self): + import geopandas as gpd + from shapely import wkt + + gdf = gpd.GeoDataFrame(geometry=wkt.loads(GEOMS)) + + with patch("rusterize._check_for_geopandas", return_value=True): + with patch("rusterize._polars_available", return_value=False): + with pytest.raises(ModuleNotFoundError, match="polars must be installed when data is geopandas.GeoDataFrame."): + rusterize(gdf, res=(1, 1), encoding="numpy") + + def test_polars_st_missing(self): + import polars_st as st + + plst = st.GeoDataFrame({"geometry": GEOMS}) + + with patch("rusterize._check_for_polars_st", return_value=False): + with pytest.raises(TypeError, match="`data` must be either geopandas.GeoDataFrame, polars.DataFrame"): + rusterize(plst, res=(1, 1), encoding="numpy") + + def test_xarray_encoding_missing(self): + with patch("rusterize._xarray_available", return_value=False): + with pytest.raises(ModuleNotFoundError, match="`xarray` and `rioxarray` must be installed"): + rusterize(GEOMS, res=(1, 1), encoding="xarray") + + def test_xarray_like_missing(self): + with patch("rusterize._xarray_available", return_value=False): + import xarray as xr + like = xr.DataArray() + + with pytest.raises(TypeError, match="`like` must be a xarray.DataArray or xarray.Dataset"): + rusterize(GEOMS, like=like, encoding="numpy") + + +class TestArguments: + def test_burn_parameter(self): + r = rusterize(GDF, res=(1, 1), burn=99, encoding="numpy").squeeze() + assert np.nanmax(r) == 99 + assert np.nanmin(r[r > 0]) == 99 + + def test_background_parameter(self): + bg_value = -1 + r = rusterize(GDF, res=(1, 1), burn=1, background=bg_value, encoding="numpy").squeeze() + assert r[0, 0] == bg_value + + def test_mutually_exclusive_field_burn(self): + with pytest.raises(ValueError, match="Only one of `field` or `burn` can be specified"): + rusterize(GDF, res=(1, 1), field="value", burn=5) + + def test_missing_spatial_metadata_error(self): + with pytest.raises(ValueError, match="One of `res`, `out_shape`, or `extent` must be provided"): + rusterize(GDF) + + def test_invalid_resolution_error(self): + with pytest.raises(ValueError, match="`res` must be 2 positive numbers"): + rusterize(GDF, res=(-1, 1)) + + def test_invalid_shape_error(self): + with pytest.raises(ValueError, match="`out_shape` must be 2 positive integers"): + rusterize(GDF, out_shape=(-1, 1)) + + def test_invalid_extent_error1(self): + with pytest.raises(ValueError, match="Must also specify `res` or `out_shape` with extent."): + rusterize(GDF, extent=(1, 2, 3, 4)) + + def test_invalid_extent_error2(self): + expected_msg = "`extent` must be a tuple or list of (xmin, ymin, xmax, ymax)." + with pytest.raises(ValueError, match=re.escape(expected_msg)): + rusterize(GDF, res=(1, 1), extent=(0, 0, 0, 0)) + + def test_mutually_exclusive_like(self): + like = rusterize(GDF, res=(1, 1), field="value", encoding="xarray") + with pytest.raises(ValueError, match="`like` is mutually exclusive with `res`, `out_shape`, and `extent`."): + rusterize(GDF, like=like, res=(1, 1)) + + +class TestFormats: + def test_inputs(self): + # geopandas + r_gpd = rusterize(GDF, res=(1, 1), dtype="uint8", fun="sum", encoding="numpy") + + # list or numpy WKT + r_list = rusterize(GEOMS, res=(1, 1), dtype="uint8", fun="sum", encoding="numpy") + r_numpy = rusterize(np.asarray(GEOMS), res=(1, 1), dtype="uint8", fun="sum", encoding="numpy") + + # list or numpy WKB + r_list_wkb = rusterize(GDF.to_wkb().geometry.tolist(), res=(1, 1), dtype="uint8", fun="sum", encoding="numpy") + r_numpy_wkb = rusterize( + np.asarray(GDF.to_wkb().geometry), res=(1, 1), dtype="uint8", fun="sum", encoding="numpy" + ) + + # polars ST WKT + plst = st.GeoDataFrame({"value": list(range(1, len(GEOMS) + 1)), "geometry": GEOMS}) + r_plst = rusterize(plst, res=(1, 1), dtype="uint8", fun="sum", encoding="numpy") + + # polars ST WKB + plst_wkb = plst.st.to_wkb() + r_plst_wkb = rusterize(plst_wkb, res=(1, 1), dtype="uint8", fun="sum", encoding="numpy") + + assert np.allclose(r_gpd, r_list) + assert np.allclose(r_gpd, r_numpy) + assert np.allclose(r_gpd, r_plst) + assert np.allclose(r_gpd, r_list_wkb) + assert np.allclose(r_gpd, r_numpy_wkb) + assert np.allclose(r_gpd, r_plst_wkb) + + def test_outputs(self): + r_numpy = rusterize(GDF, res=(1, 1), dtype="uint8", field="value", encoding="numpy") + r_xarray = rusterize(GDF, res=(1, 1), dtype="uint8", field="value") + r_sparse1 = rusterize(GDF, res=(1, 1), dtype="uint8", field="value", encoding="sparse").to_numpy() + r_sparse2 = rusterize(GDF, res=(1, 1), dtype="uint8", field="value", encoding="sparse").to_xarray() + + assert np.allclose(r_numpy, r_xarray.data) + assert np.allclose(r_numpy, r_sparse1) + assert np.allclose(r_numpy, r_sparse2.data) + + +class TestCoherence: + def test_standard(self): + # comparing against a known-good static file + r = rusterize(GDF, res=(1, 1), dtype="uint8", field="value", fun="sum", encoding="numpy").squeeze() + + data_path = "test/data/standard_output_sum.tif" + with gdal.Open(data_path) as src: + gdal_array = src.ReadAsArray() + assert np.allclose(r, gdal_array) + + def test_alltouched(self, exploded_gpkg): + src_gdal = gdal.OpenEx(exploded_gpkg) + out_ds = gdal.Rasterize( + "", + src_gdal, + format="MEM", + outputType=gdal.GDT_Byte, + xRes=0.5, + yRes=0.5, + attribute="value", + layers=["test"], + allTouched=True, + add=True, + ) + + r = rusterize( + GDF.explode().explode(), + res=(0.5, 0.5), + dtype="uint8", + field="value", + fun="sum", + encoding="numpy", + all_touched=True, + ).squeeze() + + assert np.allclose(r, out_ds.ReadAsArray()) + + +class TestCustomRaster: + def test_extent_standard(self, exploded_gpkg): + extent = [-349, -507, 1, 0] + src_gdal = gdal.OpenEx(exploded_gpkg) + out_ds = gdal.Rasterize( + "", + src_gdal, + format="MEM", + outputType=gdal.GDT_Byte, + xRes=1, + yRes=1, + outputBounds=extent, + attribute="value", + layers=["test"], + add=True, + ) + + r = rusterize( + GDF.explode().explode(), + res=(1, 1), + dtype="uint8", + field="value", + extent=extent, + fun="sum", + encoding="numpy", + ).squeeze() + + assert np.allclose(r, out_ds.ReadAsArray()) + + def test_extent_alltouched(self, exploded_gpkg): + extent = [-349, -507, 1, 0] + src_gdal = gdal.OpenEx(exploded_gpkg) + out_ds = gdal.Rasterize( + "", + src_gdal, + format="MEM", + outputType=gdal.GDT_Byte, + xRes=1, + yRes=1, + outputBounds=extent, + attribute="value", + layers=["test"], + allTouched=True, + add=True, + ) + + r = rusterize( + GDF.explode().explode(), + res=(1, 1), + dtype="uint8", + field="value", + extent=extent, + fun="sum", + encoding="numpy", + all_touched=True, + ).squeeze() + + assert np.allclose(r, out_ds.ReadAsArray()) + + def test_shape_standard(self, exploded_gpkg): + shape = (47, 319) # (height, width) + + # interestingly, GDAL cuts the end/start of the lines with this custom shape + data_path = "test/data/standard_output_sum_custom_shape.tif" + with gdal.Open(data_path) as src: + gdal_array = src.ReadAsArray() + + r = rusterize( + GDF.explode().explode(), + dtype="uint8", + field="value", + out_shape=shape, + fun="sum", + encoding="numpy", + ).squeeze() + + assert np.allclose(r, gdal_array) + + def test_shape_alltouched(self, exploded_gpkg): + shape = (47, 319) # (height, width) + src_gdal = gdal.OpenEx(exploded_gpkg) + out_ds = gdal.Rasterize( + "", + src_gdal, + format="MEM", + outputType=gdal.GDT_Byte, + width=shape[1], + height=shape[0], + attribute="value", + layers=["test"], + allTouched=True, + add=True, + ) + + r = rusterize( + GDF.explode().explode(), + dtype="uint8", + field="value", + out_shape=shape, + fun="sum", + encoding="numpy", + all_touched=True, + ).squeeze() + + assert np.allclose(r, out_ds.ReadAsArray()) + + def test_some_user_inputs_standard(self, exploded_gpkg): + # GDAL doesn't directly support res + shape as input parameters here + extent = [-349, -507, 1, 0] + shape = (47, 319) + + src_gdal = gdal.OpenEx(exploded_gpkg) + out_ds = gdal.Rasterize( + "", + src_gdal, + format="MEM", + outputType=gdal.GDT_Byte, + width=shape[1], + height=shape[0], + outputBounds=extent, + attribute="value", + layers=["test"], + add=True, + ) + + r = rusterize( + GDF.explode().explode(), + dtype="uint8", + field="value", + out_shape=shape, + extent=extent, + fun="sum", + encoding="numpy", + ).squeeze() + + assert np.allclose(r, out_ds.ReadAsArray()) + + def test_some_user_inputs_alltouched(self, exploded_gpkg): + # GDAL doesn't directly support res + shape as input parameters here + extent = [-349, -507, 1, 0] + shape = (47, 319) + + src_gdal = gdal.OpenEx(exploded_gpkg) + out_ds = gdal.Rasterize( + "", + src_gdal, + format="MEM", + outputType=gdal.GDT_Byte, + width=shape[1], + height=shape[0], + outputBounds=extent, + attribute="value", + layers=["test"], + allTouched=True, + add=True, + ) + + r = rusterize( + GDF.explode().explode(), + dtype="uint8", + field="value", + out_shape=shape, + extent=extent, + fun="sum", + encoding="numpy", + all_touched=True, + ).squeeze() + + assert np.allclose(r, out_ds.ReadAsArray()) From c106b8679e065c3cb0383037ee59c15ae5b1a6bb Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:24:10 -0800 Subject: [PATCH 10/21] bump rusterize to 0.8.0 --- Cargo.lock | 397 ++++++++++++++++++++++++++++++++----------------- Cargo.toml | 11 +- pyproject.toml | 12 +- 3 files changed, 272 insertions(+), 148 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 48e1da1..4994753 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,6 +23,12 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -34,9 +40,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.101" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "approx" @@ -62,6 +68,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70f13d10a41ac8d2ec79ee34178d61e6f47a29c2edfe7ef1721c7383b0359e65" dependencies = [ + "half", "num-traits", ] @@ -130,9 +137,9 @@ dependencies = [ [[package]] name = "atoi_simd" -version = "0.16.1" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a49e05797ca52e312a0c658938b7d00693ef037799ef7187678f212d7684cf" +checksum = "8ad17c7c205c2c28b527b9845eeb91cf1b4d008b438f98ce0e628227a822758e" dependencies = [ "debug_unsafe", ] @@ -215,9 +222,9 @@ checksum = "36f64beae40a84da1b4b26ff2761a5b895c12adc41dc25aaee1c4f2bbfe97a6e" [[package]] name = "bumpalo" -version = "3.19.1" +version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" [[package]] name = "bytemuck" @@ -289,14 +296,15 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.43" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ + "android-tzdata", "iana-time-zone", "num-traits", "serde", - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -450,6 +458,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + [[package]] name = "crypto-common" version = "0.1.7" @@ -613,6 +627,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "form_urlencoded" version = "1.2.2" @@ -844,6 +864,20 @@ dependencies = [ "tracing", ] +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "bytemuck", + "cfg-if", + "crunchy", + "num-traits", + "serde", + "zerocopy", +] + [[package]] name = "hash32" version = "0.3.1" @@ -861,9 +895,7 @@ checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", - "foldhash", - "rayon", - "serde", + "foldhash 0.1.5", ] [[package]] @@ -871,6 +903,14 @@ name = "hashbrown" version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash 0.2.0", + "rayon", + "serde", + "serde_core", +] [[package]] name = "heapless" @@ -1259,9 +1299,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.85" +version = "0.3.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" +checksum = "14dc6f6450b3f6d4ed5b16327f38fed626d375a886159ca555bd7822c0c3a5a6" dependencies = [ "once_cell", "wasm-bindgen", @@ -1297,9 +1337,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" @@ -1419,9 +1459,9 @@ dependencies = [ [[package]] name = "ndarray" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882ed72dce9365842bf196bdeedf5055305f11fc8c03dee7bb0194a6cad34841" +checksum = "520080814a7a6b4a6e9070823bb24b4531daac8c4627e08ba5de8c5ef2f2752d" dependencies = [ "matrixmultiply", "num-complex", @@ -1451,6 +1491,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "num-integer" version = "0.1.46" @@ -1494,9 +1545,9 @@ dependencies = [ [[package]] name = "numpy" -version = "0.25.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29f1dee9aa8d3f6f8e8b9af3803006101bb3653866ef056d530d53ae68587191" +checksum = "7aac2e6a6e4468ffa092ad43c39b81c79196c2bb773b8db4085f695efe3bba17" dependencies = [ "libc", "ndarray", @@ -1519,9 +1570,9 @@ dependencies = [ [[package]] name = "object_store" -version = "0.12.5" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbfbfff40aeccab00ec8a910b57ca8ecf4319b335c542f2edcd19dd25a1e2a00" +checksum = "c2858065e55c148d294a9f3aae3b0fa9458edadb41a108397094566f4e3c0dfb" dependencies = [ "async-trait", "base64", @@ -1590,7 +1641,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -1647,15 +1698,18 @@ dependencies = [ [[package]] name = "polars" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5f7feb5d56b954e691dff22a8b2d78d77433dcc93c35fe21c3777fdc121b697" +checksum = "899852b723e563dc3cbdc7ea833b14ec44e61309f55df29ba86d45cfd6bc141a" dependencies = [ "getrandom 0.2.17", "getrandom 0.3.4", "polars-arrow", + "polars-buffer", + "polars-compute", "polars-core", "polars-error", + "polars-expr", "polars-io", "polars-lazy", "polars-ops", @@ -1668,13 +1722,14 @@ dependencies = [ [[package]] name = "polars-arrow" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b4fed2343961b3eea3db2cee165540c3e1ad9d5782350cc55a9e76cf440148" +checksum = "6f672743a042b72ace4f88b29f8205ab200b29c5ac976c0560899680c07d2d09" dependencies = [ "atoi_simd", "bitflags", "bytemuck", + "bytes", "chrono", "chrono-tz", "dyn-clone", @@ -1682,11 +1737,13 @@ dependencies = [ "ethnum", "getrandom 0.2.17", "getrandom 0.3.4", - "hashbrown 0.15.5", + "half", + "hashbrown 0.16.1", "itoa", "lz4", "num-traits", "polars-arrow-format", + "polars-buffer", "polars-error", "polars-schema", "polars-utils", @@ -1708,37 +1765,50 @@ dependencies = [ "serde", ] +[[package]] +name = "polars-buffer" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d7011424c3a79ca9c1272c7b4f5fe98695d3bed45595e37bb23c16a2978c80c" +dependencies = [ + "bytemuck", + "either", + "serde", + "version_check", +] + [[package]] name = "polars-compute" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138785beda4e4a90a025219f09d0d15a671b2be9091513ede58e05db6ad4413f" +checksum = "42a32eca8e08ac4cc5de2ac3996d2b38567bba72cdb19bbfd94c370193ed51dd" dependencies = [ "atoi_simd", "bytemuck", "chrono", "either", "fast-float2", - "hashbrown 0.15.5", + "half", + "hashbrown 0.16.1", "itoa", "num-traits", "polars-arrow", + "polars-buffer", "polars-error", "polars-utils", "rand", - "ryu", "serde", - "skiplist", "strength_reduce", "strum_macros", "version_check", + "zmij", ] [[package]] name = "polars-core" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77b1f08ef6dbb032bb1d0d3365464be950df9905f6827a95b24c4ca5518901d" +checksum = "726296966d04268ee9679c2062af2d06c83c7a87379be471defe616b244c5029" dependencies = [ "bitflags", "boxcar", @@ -1747,11 +1817,13 @@ dependencies = [ "chrono-tz", "comfy-table", "either", - "hashbrown 0.15.5", + "getrandom 0.3.4", + "hashbrown 0.16.1", "indexmap", "itoa", "num-traits", "polars-arrow", + "polars-buffer", "polars-compute", "polars-dtype", "polars-error", @@ -1772,12 +1844,12 @@ dependencies = [ [[package]] name = "polars-dtype" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89c43d0ea57168be4546c4d8064479ed8b29a9c79c31a0c7c367ee734b9b7158" +checksum = "51976dc46d42cd1e7ca252a9e3bdc90c63b0bfa7030047ebaf5250c2b7838fa6" dependencies = [ "boxcar", - "hashbrown 0.15.5", + "hashbrown 0.16.1", "polars-arrow", "polars-error", "polars-utils", @@ -1787,9 +1859,9 @@ dependencies = [ [[package]] name = "polars-error" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cb5d98f59f8b94673ee391840440ad9f0d2170afced95fc98aa86f895563c0" +checksum = "8c13126f8baebc13dadf26a80dcf69a607977fc8a67b18671ad2cefc713a7bdd" dependencies = [ "object_store", "parking_lot", @@ -1802,14 +1874,15 @@ dependencies = [ [[package]] name = "polars-expr" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "343931b818cf136349135ba11dbc18c27683b52c3477b1ba8ca606cf5ab1965c" +checksum = "2151f54b0ae5d6b86c3c47df0898ff90edfe774807823f742f36e44973d51ea1" dependencies = [ "bitflags", - "hashbrown 0.15.5", + "hashbrown 0.16.1", "num-traits", "polars-arrow", + "polars-buffer", "polars-compute", "polars-core", "polars-io", @@ -1821,13 +1894,25 @@ dependencies = [ "rand", "rayon", "recursive", + "regex", + "version_check", +] + +[[package]] +name = "polars-ffi" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9526b18335cfddc556eb5c34cdecba3ecf49bba7734470a82728569d44e72a0" +dependencies = [ + "polars-arrow", + "polars-core", ] [[package]] name = "polars-io" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10388c64b8155122488229a881d1c6f4fdc393bc988e764ab51b182fcb2307e4" +checksum = "059724d7762d7332cbc225e6504d996091b28fa1337716e06e5a81d9e54a34ad" dependencies = [ "async-trait", "atoi_simd", @@ -1838,7 +1923,7 @@ dependencies = [ "fs4", "futures", "glob", - "hashbrown 0.15.5", + "hashbrown 0.16.1", "home", "itoa", "memchr", @@ -1847,6 +1932,8 @@ dependencies = [ "object_store", "percent-encoding", "polars-arrow", + "polars-buffer", + "polars-compute", "polars-core", "polars-error", "polars-parquet", @@ -1856,26 +1943,25 @@ dependencies = [ "rayon", "regex", "reqwest", - "ryu", "serde", "serde_json", "simdutf8", "tokio", - "tokio-util", - "url", + "zmij", ] [[package]] name = "polars-lazy" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fb6e2c6c2fa4ea0c660df1c06cf56960c81e7c2683877995bae3d4e3d408147" +checksum = "02e1e24d4db8c349e9576564cfff47a3f08bb831dba9168f6599be178bc725e8" dependencies = [ "bitflags", "chrono", "either", "memchr", "polars-arrow", + "polars-buffer", "polars-compute", "polars-core", "polars-expr", @@ -1892,9 +1978,9 @@ dependencies = [ [[package]] name = "polars-mem-engine" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20a856e98e253587c28d8132a5e7e5a75cb2c44731ca090f1481d45f1d123771" +checksum = "c394e4cd90186043d4051ce118e90794afbe81ac5eb9a51e358a56728e8ebde3" dependencies = [ "memmap2", "polars-arrow", @@ -1912,9 +1998,9 @@ dependencies = [ [[package]] name = "polars-ops" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf6062173fdc9ba05775548beb66e76643a148d9aeadc9984ed712bc4babd76" +checksum = "7e47b2d9b3627662650da0a8c76ce5101ed1c61b104cb2b3663e0dc711571b12" dependencies = [ "argminmax", "base64", @@ -1922,13 +2008,14 @@ dependencies = [ "chrono", "chrono-tz", "either", - "hashbrown 0.15.5", + "hashbrown 0.16.1", "hex", "indexmap", "libm", "memchr", "num-traits", "polars-arrow", + "polars-buffer", "polars-compute", "polars-core", "polars-error", @@ -1945,22 +2032,24 @@ dependencies = [ [[package]] name = "polars-parquet" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc1d769180dec070df0dc4b89299b364bf2cfe32b218ecc4ddd8f1a49ae60669" +checksum = "436bae3e89438cafe69400e7567057d7d9820d21ac9a4f69a33b413f2666f03d" dependencies = [ "async-stream", "base64", "bytemuck", "ethnum", "futures", - "hashbrown 0.15.5", + "hashbrown 0.16.1", "num-traits", "polars-arrow", + "polars-buffer", "polars-compute", "polars-error", "polars-parquet-format", "polars-utils", + "regex", "serde", "simdutf8", "streaming-decompression", @@ -1978,21 +2067,24 @@ dependencies = [ [[package]] name = "polars-plan" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd3a2e33ae4484fe407ab2d2ba5684f0889d1ccf3ad6b844103c03638e6d0a0" +checksum = "f7930d5ae1d006179e65f01af57c859307b5875a4cc078dc75257250b9ae5162" dependencies = [ "bitflags", + "blake3", "bytemuck", "bytes", "chrono", "chrono-tz", "either", - "hashbrown 0.15.5", + "futures", + "hashbrown 0.16.1", "memmap2", "num-traits", "percent-encoding", "polars-arrow", + "polars-buffer", "polars-compute", "polars-core", "polars-error", @@ -2004,19 +2096,22 @@ dependencies = [ "recursive", "regex", "sha2", + "slotmap", "strum_macros", + "tokio", "version_check", ] [[package]] name = "polars-row" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18734f17e0e348724df3ae65f3ee744c681117c04b041cac969dfceb05edabc0" +checksum = "d29ea1a4554fe06442db1d6229235cd358e8eacba96aed8718f612caf3e3a646" dependencies = [ "bitflags", "bytemuck", "polars-arrow", + "polars-buffer", "polars-compute", "polars-dtype", "polars-error", @@ -2025,9 +2120,9 @@ dependencies = [ [[package]] name = "polars-schema" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6c1ab13e04d5167661a9854ed1ea0482b2ed9b8a0f1118dabed7cd994a85e3" +checksum = "d688e73f9156f93cb29350be144c8f1e84c1bc705f00ee7f15eb9706a7971273" dependencies = [ "indexmap", "polars-error", @@ -2038,9 +2133,9 @@ dependencies = [ [[package]] name = "polars-sql" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e7766da02cc1d464994404d3e88a7a0ccd4933df3627c325480fbd9bbc0a11" +checksum = "100415f86069d7e9fbf54737148fc161a7c7316a6a7d375fb6cfc7fc64f570ae" dependencies = [ "bitflags", "hex", @@ -2051,7 +2146,6 @@ dependencies = [ "polars-plan", "polars-time", "polars-utils", - "rand", "regex", "serde", "sqlparser", @@ -2059,24 +2153,30 @@ dependencies = [ [[package]] name = "polars-stream" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f6c6ca1ea01f9dea424d167e4f33f5ec44cd67fbfac9efd40575ed20521f14" +checksum = "65a0c054bdf16efd16bbc587e8d5418ae28464d61afd735513579cd3c338fa70" dependencies = [ "async-channel", "async-trait", "atomic-waker", "bitflags", + "bytes", + "chrono-tz", "crossbeam-channel", "crossbeam-deque", "crossbeam-queue", "crossbeam-utils", "futures", + "memchr", "memmap2", + "num-traits", "parking_lot", "percent-encoding", "pin-project-lite", "polars-arrow", + "polars-buffer", + "polars-compute", "polars-core", "polars-error", "polars-expr", @@ -2085,21 +2185,21 @@ dependencies = [ "polars-ops", "polars-parquet", "polars-plan", + "polars-time", "polars-utils", "rand", "rayon", "recursive", "slotmap", "tokio", - "tokio-util", "version_check", ] [[package]] name = "polars-time" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6a3a6e279a7a984a0b83715660f9e880590c6129ec2104396bfa710bcd76dee" +checksum = "72e80404e1e418c997230e3b2972c3be331f45df8bdd3150fe3bef562c7a332f" dependencies = [ "atoi_simd", "bytemuck", @@ -2120,21 +2220,24 @@ dependencies = [ [[package]] name = "polars-utils" -version = "0.51.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b267021b0e5422d7fbc70fd79e51b9f9a8466c585779373a18b0199e973f29" +checksum = "c97cabf53eb8fbf6050cde3fef8f596c51cc25fd7d55fbde108d815ee6674abf" dependencies = [ + "argminmax", "bincode", "bytemuck", "bytes", "compact_str", "either", "flate2", - "foldhash", - "hashbrown 0.15.5", + "foldhash 0.2.0", + "half", + "hashbrown 0.16.1", "indexmap", "libc", "memmap2", + "num-derive", "num-traits", "polars-error", "rand", @@ -2224,9 +2327,9 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.25.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a" +checksum = "ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d" dependencies = [ "indoc", "libc", @@ -2241,20 +2344,19 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.25.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598" +checksum = "b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6" dependencies = [ - "once_cell", "python3-dll-a", "target-lexicon", ] [[package]] name = "pyo3-ffi" -version = "0.25.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c" +checksum = "1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089" dependencies = [ "libc", "pyo3-build-config", @@ -2262,9 +2364,9 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.25.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50" +checksum = "0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02" dependencies = [ "proc-macro2", "pyo3-macros-backend", @@ -2274,9 +2376,9 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.25.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc" +checksum = "03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9" dependencies = [ "heck", "proc-macro2", @@ -2287,9 +2389,9 @@ dependencies = [ [[package]] name = "pyo3-polars" -version = "0.24.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e7954e98cb5af21afca4b68c73d2e00035b07b06dc2cab9355e99d03d09557" +checksum = "f29248c4baefdfa23a7768341d1e431a5dee7348a757fa74315c810f3b8710d4" dependencies = [ "libc", "once_cell", @@ -2297,6 +2399,7 @@ dependencies = [ "polars-arrow", "polars-core", "polars-error", + "polars-ffi", "pyo3", "thiserror 1.0.69", ] @@ -2518,9 +2621,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "reqwest" @@ -2639,13 +2742,14 @@ dependencies = [ "rayon", "tikv-jemallocator", "wkb", + "wkt", ] [[package]] name = "rustix" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ "bitflags", "errno", @@ -2656,9 +2760,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.36" +version = "0.23.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c665f33d38cea657d9614f766881e4d510e0eda4239891eea56b4cadcf01801b" +checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" dependencies = [ "once_cell", "ring", @@ -2739,9 +2843,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "security-framework" -version = "3.6.0" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d17b898a6d6948c3a8ee4372c17cb384f90d2e6e912ef00895b14fd7ab54ec38" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ "bitflags", "core-foundation", @@ -2752,9 +2856,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.16.0" +version = "2.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "321c8673b092a9a42605034a9879d73cb79101ed5fd117bc9a597b89b4e9e61a" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" dependencies = [ "core-foundation-sys", "libc", @@ -2851,9 +2955,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook" -version = "0.3.18" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +checksum = "3b57709da74f9ff9f4a27dce9526eec25ca8407c45a7887243b031a58935fb8e" dependencies = [ "libc", "signal-hook-registry", @@ -2887,16 +2991,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" -[[package]] -name = "skiplist" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f354fd282d3177c2951004953e2fdc4cb342fa159bbee8b829852b6a081c8ea1" -dependencies = [ - "rand", - "thiserror 2.0.18", -] - [[package]] name = "slab" version = "0.4.12" @@ -2942,11 +3036,24 @@ dependencies = [ [[package]] name = "sqlparser" -version = "0.53.0" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05a528114c392209b3264855ad491fcce534b94a38771b0a0b97a79379275ce8" +checksum = "505aa16b045c4c1375bf5f125cce3813d0176325bfe9ffc4a903f423de7774ff" dependencies = [ "log", + "recursive", + "sqlparser_derive", +] + +[[package]] +name = "sqlparser_derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "028e551d5e270b31b9f3ea271778d9d827148d4287a5d96167b6bb9787f5cc38" +dependencies = [ + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -3015,9 +3122,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.116" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3df424c70518695237746f84cede799c9c58fcb37450d7b23716568cc8bc69cb" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -3180,7 +3287,6 @@ dependencies = [ "bytes", "futures-core", "futures-sink", - "futures-util", "pin-project-lite", "tokio", ] @@ -3450,9 +3556,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.108" +version = "0.2.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" +checksum = "60722a937f594b7fde9adb894d7c092fc1bb6612897c46368d18e7a20208eff2" dependencies = [ "cfg-if", "once_cell", @@ -3463,9 +3569,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.58" +version = "0.4.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" +checksum = "8a89f4650b770e4521aa6573724e2aed4704372151bd0de9d16a3bbabb87441a" dependencies = [ "cfg-if", "futures-util", @@ -3477,9 +3583,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.108" +version = "0.2.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" +checksum = "0fac8c6395094b6b91c4af293f4c79371c163f9a6f56184d2c9a85f5a95f3950" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3487,9 +3593,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.108" +version = "0.2.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" +checksum = "ab3fabce6159dc20728033842636887e4877688ae94382766e00b180abac9d60" dependencies = [ "bumpalo", "proc-macro2", @@ -3500,9 +3606,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.108" +version = "0.2.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +checksum = "de0e091bdb824da87dc01d967388880d017a0a9bc4f3bdc0d86ee9f9336e3bb5" dependencies = [ "unicode-ident", ] @@ -3556,9 +3662,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.85" +version = "0.3.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" +checksum = "705eceb4ce901230f8625bd1d665128056ccbe4b7408faa625eec1ba80f59a97" dependencies = [ "js-sys", "wasm-bindgen", @@ -3613,7 +3719,7 @@ checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ "windows-implement", "windows-interface", - "windows-link", + "windows-link 0.2.1", "windows-result", "windows-strings", ] @@ -3640,6 +3746,12 @@ dependencies = [ "syn", ] +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + [[package]] name = "windows-link" version = "0.2.1" @@ -3652,7 +3764,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -3661,7 +3773,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -3697,7 +3809,7 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -3722,7 +3834,7 @@ version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-link", + "windows-link 0.2.1", "windows_aarch64_gnullvm 0.53.1", "windows_aarch64_msvc 0.53.1", "windows_i686_gnu 0.53.1", @@ -3938,6 +4050,19 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "wkt" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efb2b923ccc882312e559ffaa832a055ba9d1ac0cc8e86b3e25453247e4b81d7" +dependencies = [ + "geo-traits", + "geo-types", + "log", + "num-traits", + "thiserror 1.0.69", +] + [[package]] name = "writeable" version = "0.6.2" diff --git a/Cargo.toml b/Cargo.toml index a8518ac..bada9b5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,14 +16,15 @@ fixedbitset = "0.5.7" geo = "0.30.0" geo-traits = "0.3.0" geo-types = "0.7.18" -ndarray = { version = "0.16.1", features = ["rayon"] } +ndarray = { version = "0.17.2", features = ["rayon"] } num-traits = "0.2.19" -numpy = "0.25.0" -polars = { version = "0.51.0", features = ["lazy", "simd", "performant", "nightly"] } -pyo3 = { version = "0.25.1", features = ["extension-module", "abi3-py311", "generate-import-lib"] } -pyo3-polars = "0.24.0" +numpy = "0.27.1" +polars = { version = "0.53.0", features = ["lazy", "simd", "performant", "nightly"] } +pyo3 = { version = "0.27.2", features = ["extension-module", "abi3-py311", "generate-import-lib"] } +pyo3-polars = "0.26.0" rayon = "1.11.0" wkb = "0.9.2" +wkt = "0.14.0" # OS-specific allocators [target.'cfg(not(target_family = "unix"))'.dependencies] diff --git a/pyproject.toml b/pyproject.toml index 326cd25..0356405 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,16 +18,11 @@ classifiers = [ "Programming Language :: Python :: Implementation :: PyPy", ] dynamic = ["version"] -dependencies = [ - "geopandas>=1.0.1", - "pandas>=2.2.3", - "pyarrow>=18.1.0", - "polars>=1.19.0", - "polars-st>=0.4.3", -] +dependencies = ["numpy>=2.0.0"] [project.optional-dependencies] xarray = ["xarray>=2025.01.1", "rioxarray>=0.18.2"] +all = ["geopandas>=1.0.0", "pandas>=2.0.0", "pyarrow>=18.1.0", "polars>=1.19.0", "polars-st>=0.4.3", "rioxarray>=0.18.2", "xarray>=2025.01.1"] [project.urls] repository = "https://github.com/ttrotto/rusterize" @@ -36,3 +31,6 @@ repository = "https://github.com/ttrotto/rusterize" python-source = "python" module-name = "rusterize" include = [{ path = "rust-toolchain.toml", format = "sdist" }] + +[tool.ruff] +exclude = ["test/test_many.py", "benchmarks/benchmark_rusterize.py"] From aebe7940c8d0303229a6de0c6c70c870a2ffb5af Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:26:44 -0800 Subject: [PATCH 11/21] infer bounding box for list or numpy input data --- src/geo/raster.rs | 54 +++++++++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/src/geo/raster.rs b/src/geo/raster.rs index 617741b..7f186dc 100644 --- a/src/geo/raster.rs +++ b/src/geo/raster.rs @@ -1,5 +1,7 @@ /* Structure to contain information on raster data */ +use geo::BoundingRect; +use geo_types::{Geometry, Rect, coord}; use num_traits::Num; use numpy::{ IntoPyArray, PyArray1, @@ -22,31 +24,22 @@ pub struct RasterInfo { #[derive(FromPyObject)] #[pyo3(from_item_all)] -struct RawRasterInfo { +pub struct RawRasterInfo { ncols: usize, nrows: usize, xmin: f64, - xmax: f64, ymin: f64, + xmax: f64, ymax: f64, xres: f64, yres: f64, - has_extent: bool, + with_user_extent: bool, tap: bool, epsg: Option, } -impl<'py> FromPyObject<'py> for RasterInfo { - fn extract_bound(ob: &Bound<'py, PyAny>) -> PyResult { - let raw: RawRasterInfo = ob.extract()?; - let info = RasterInfo::from(raw); - Ok(info) - } -} - impl RasterInfo { - #[inline] - fn from(raw: RawRasterInfo) -> Self { + pub fn from(raw: RawRasterInfo, geoms: &[Geometry]) -> Self { let mut info = RasterInfo { ncols: raw.ncols, nrows: raw.nrows, @@ -59,11 +52,36 @@ impl RasterInfo { epsg: raw.epsg, }; + if info.xmin.is_infinite() { + // list or numpy.ndarray do not carry bounding information + let bounds = geoms.iter().fold(None, |acc, geom| { + let bounds = geom.bounding_rect(); + + match (acc, bounds) { + (None, None) => None, + (None, Some(r)) | (Some(r), None) => Some(r), + (Some(r1), Some(r2)) => Some(Rect::new( + coord! { x: r1.min().x.min(r2.min().x), y: r1.min().y.min(r2.min().y) }, + coord! { x: r1.max().x.max(r2.max().x), y: r1.max().y.max(r2.max().y) }, + )), + } + }); + + if let Some(b) = bounds { + info.xmin = b.min().x; + info.ymin = b.min().y; + info.xmax = b.max().x; + info.ymax = b.max().y; + } else { + panic!("Cannot infer bounding box from geometry.") + } + } + let has_res = info.xres != 0.0; let has_shape = info.nrows != 0; // extent by half pixel if custom extent not provided - if !raw.has_extent && !raw.tap && has_res { + if !raw.with_user_extent && !raw.tap && has_res { info.xmin -= info.xres / 2.0; info.xmax += info.xres / 2.0; info.ymin -= info.yres / 2.0; @@ -71,7 +89,7 @@ impl RasterInfo { } if !has_res { - info.resolution(); + info.assign_resolution(); } else if raw.tap && has_res { info.xmin = (info.xmin / info.xres).floor() * info.xres; info.xmax = (info.xmax / info.xres).ceil() * info.xres; @@ -80,20 +98,20 @@ impl RasterInfo { } if !has_shape { - info.shape(); + info.assign_shape(); } info } #[inline] - fn shape(&mut self) { + fn assign_shape(&mut self) { self.nrows = (0.5 + (self.ymax - self.ymin) / self.yres) as usize; self.ncols = (0.5 + (self.xmax - self.xmin) / self.xres) as usize } #[inline] - fn resolution(&mut self) { + fn assign_resolution(&mut self) { self.xres = (self.xmax - self.xmin) / self.ncols as f64; self.yres = (self.ymax - self.ymin) / self.nrows as f64; } From be3c7d65204e5525815a1ec79706abca4ba27bf8 Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:28:44 -0800 Subject: [PATCH 12/21] support generic input as list, numpy, geopandas, or polars --- python/rusterize/__init__.py | 307 ++++++++++++++++++------------ python/rusterize/_dependencies.py | 171 +++++++++++++++++ python/rusterize/rusterize.pyi | 91 +++++---- src/geo/geo_inputs.rs | 104 ---------- src/geo/parse_geometry.rs | 177 +++++++++++++++++ src/lib.rs | 133 +++++++------ 6 files changed, 655 insertions(+), 328 deletions(-) create mode 100644 python/rusterize/_dependencies.py delete mode 100644 src/geo/geo_inputs.rs create mode 100644 src/geo/parse_geometry.rs diff --git a/python/rusterize/__init__.py b/python/rusterize/__init__.py index 4d32b47..ed593ee 100644 --- a/python/rusterize/__init__.py +++ b/python/rusterize/__init__.py @@ -2,33 +2,33 @@ import importlib.metadata from types import NoneType -from typing import TYPE_CHECKING, List, Tuple -from collections.abc import Iterable +from typing import TYPE_CHECKING import numpy as np -import polars as pl -import polars_st as st -from geopandas import GeoDataFrame -from shapely import total_bounds, from_wkb +from ._dependencies import ( + _check_for_geopandas, + _check_for_polars_st, + _polars_available, + _xarray_available, +) +from ._dependencies import geopandas as gpd +from ._dependencies import polars as pl +from ._dependencies import xarray as xr from .rusterize import _rusterize if TYPE_CHECKING: - from xarray import DataArray, Dataset - from .rusterize import SparseArray __version__ = importlib.metadata.version("rusterize") def rusterize( - gdf: GeoDataFrame | pl.DataFrame | list | np.ndarray, - geom_col : str = None, - value : list | np.ndarray | None = None, - like: DataArray | Dataset | None = None, - res: Tuple | List | None = None, - out_shape: Tuple | List | None = None, - extent: Tuple | List | None = None, + data: gpd.GeoDataFrame | pl.DataFrame | list | np.ndarray, + like: xr.DataArray | xr.Dataset | None = None, + res: tuple | list | None = None, + out_shape: tuple | list | None = None, + extent: tuple | list | None = None, field: str | None = None, by: str | None = None, burn: int | float | None = None, @@ -38,152 +38,218 @@ def rusterize( all_touched: bool = False, tap: bool = False, dtype: str = "float64", -) -> DataArray | np.ndarray | SparseArray: +) -> xr.DataArray | np.ndarray | SparseArray: """ - Fast geopandas rasterization in Rust. - - Args: - :param gdf: geopandas dataframe or polars dataframe to rasterize. - :param geom_col: geometry column for polars dataframe. Has to be provided if polars dataframe is used. Default to None. - :param value: value to use in case numpy array or list is used as input. - :param like: array to use as blueprint for spatial matching (resolution, shape, extent). Mutually exlusive with res, out_shape, and extent. - :param res: (xres, yres) for rasterized data. - :param out_shape: (nrows, ncols) for regularized output shape. - :param extent: (xmin, ymin, xmax, ymax) for regularized extent. - :param field: field to rasterize, mutually exclusive with `burn`. Default is None. - :param by: column to rasterize, assigns each unique value to a layer in the stack based on field. Default is None. - :param burn: burn a value onto the raster, mutually exclusive with `field`. Default is None. - :param fun: pixel function to use. Available options are `sum`, `first`, `last`, `min`, `max`, `count`, or `any`. Default is `last`. - :param background: background value in final raster. Default is np.nan. - :param encoding: return a dense array (burned geometries onto a raster) or a sparse array in COOrdinate format (coordinates and values of the rasterized geometries). Available options are `xarray`, `numpy`, or `sparse`. The `xarray` encoding requires `xarray` and `rioxarray` to be installed. Default is `xarray`. - :param all_touched: if True, every pixel touched by the geometry is burned. Default is `False`. - :param tap: target aligned pixel to align the extent to the pixel resolution. Defaul is `False`. - :param dtype: specify the output dtype. Default is `float64`. - - Returns: + Fast geometry rasterization in Rust. + + Parameters + ---------- + data : geopandas.GeoDataFrame, polars.DataFrame, list, numpy.ndarray + Input data to rasterize. + - If polars.DataFrame, it must be have a "geometry" column with geometries stored in WKB or WKT format. + - If list or numpy.ndarray, geometries must be in WKT, WKB, or shapely formats (EPSG is not inferred and defaults to None). + like : xarray.DataArray or xarray.Dataset (default: None) + Template array used as a spatial blueprint (resolution, shape, extent). Mutually exclusive with `res`, `out_shape`, and `extent`. Requires xarray and rioxarray. + res : tuple or list (default: None) + Pixel resolution defined as (xres, yres). + out_shape : tuple or list (default: None) + Output raster dimensions defined as (nrows, ncols). + extent : `tuple` or `list` (default: None) + Spatial bounding box defined as `(xmin, ymin, xmax, ymax)`. + field : `str` (default: None) + Column name to use for pixel values. Mutually exclusive with `burn`. Not considered when input is list or numpy.ndarray. + by : `str` (default: None) + Column used for grouping. Each group is rasterized into a distinct band in the output. Not considered when input is list or numpy.ndarray. + burn : `int` or `float` (default: None) + A static value to apply to all geometries. Mutually exclusive with `field`. + fun : `str` (default: "last") + Pixel function to use when burning geometries. Available options: `sum`, `first`, `last`, `min`, `max`, `count`, or `any`. + background : `int` or `float` (default: numpy.nan) + Value assigned to pixels not covered by any geometry. + encoding : `str` (default: "xarray") + The format of the returned object: `"xarray"`, `"numpy"`, or `"sparse"`. + all_touched : `bool` (default: False) + If True, every pixel touched by a geometry is burned. + tap : `bool` (default: False) + Target Aligned Pixels: aligns the extent to the pixel resolution. + dtype : `str` (default: "float64") + Output data type (e.g., `uint8`, `int32`, `float32`). + + Returns + ------- xarray.DataArray, numpy.ndarray, or a sparse array in COO format. - Notes: - If `encoding` is `numpy`, the array is returned without any spatial reference. + Notes + ----- + If `encoding` is "numpy" or input is list or numpy.ndarray, the return array is without any spatial reference. When any of `res`, `out_shape`, or `extent` is not provided, it is inferred from the other arguments when applicable. - If `like` is specified, `res`, `out_shape`, and `extent` are inferred from the `like` DataArray. + If `like` is specified, `res`, `out_shape`, and `extent` are inferred from the `like` DataArray or Dataset. Unless `extent` is specified, a half-pixel buffer is applied to avoid missing points on the border. The logics dictating the final spatial properties of the rasterized geometries follow those of GDAL. - If `field` is not in `gdf`, then a default `burn` value of 1 is rasterized. + If `field` is not in `data`, then a default `burn` value of 1 is rasterized. A `None` value for `dtype` corresponds to the default of that dtype. An illegal value for a dtype will be replaced with the default of that dtype. For example, a `background=np.nan` for `dtype="uint8"` will become `background=0`, where `0` is the default for `uint8`. """ - # type checks - if not isinstance(gdf, (GeoDataFrame, pl.DataFrame, list, np.ndarray)): - raise TypeError("`gdf` must be either geopandas dataframe, polars DataFrame, list, or numpy array") - if type(like).__name__ not in ("DataArray", "Dataset", "NoneType"): - raise TypeError("`like' must be a xarray.DataArray or xarray.Dataset") + data_type = None + if isinstance(data, (list, np.ndarray)): + data_type = "raw" + elif _check_for_geopandas(data) and isinstance(data, gpd.GeoDataFrame): + if data.empty: + raise ValueError("GeoDataFrame is empty.") + data_type = "geopandas" + elif _check_for_polars_st(data) and isinstance(data, pl.DataFrame): + if data.is_empty(): + raise ValueError("GeoDataFrame is empty.") + data_type = "polars" + else: + raise TypeError("`data` must be either geopandas.GeoDataFrame, polars.DataFrame, list, or numpy.ndarray") + if not isinstance(res, (tuple, list, NoneType)): - raise TypeError("`resolution` must be a tuple or list of (x, y).") + raise TypeError("`resolution` must be a tuple or list of (xres, yres).") + if not isinstance(out_shape, (tuple, list, NoneType)): raise TypeError("`out_shape` must be a tuple or list of (nrows, ncols).") + if not isinstance(extent, (tuple, list, NoneType)): raise TypeError("`extent` must be a tuple or list of (xmin, ymin, xmax, ymax).") + if not isinstance(field, (str, NoneType)): raise TypeError("`field` must be a string column name.") + if not isinstance(by, (str, NoneType)): raise TypeError("`by` must be a string column name.") + if not isinstance(burn, (int, float, NoneType)): raise TypeError("`burn` must be an integer or float.") + if not isinstance(fun, str): raise TypeError("`pixel_fn` must be one of sum, first, last, min, max, count, or any.") + if not isinstance(background, (int, float, NoneType)): raise TypeError("`background` must be integer, float, or None.") + if not isinstance(encoding, str): raise TypeError("`encoding` must be one of 'xarray', 'numpy', or 'sparse'.") + if not isinstance(all_touched, bool): raise TypeError("`all_touched` must be a boolean.") + if not isinstance(tap, bool): raise TypeError("`tap` must be a boolean.") + if not isinstance(dtype, str): raise TypeError( "`dtype` must be a one of 'uint8', 'uint16', 'uint32', 'uint64', 'int8', 'int16', 'int32', 'int64', 'float32', 'float64'" ) - # value checks and defaults - if isinstance(gdf, pl.DataFrame) and not geom_col: - raise ValueError("Geometry column has to be provided when polars DataFrame is used.") + # value checks if field and burn: raise ValueError("Only one of `field` or `burn` can be specified.") + if encoding not in ["xarray", "numpy", "sparse"]: raise ValueError("`encoding` must be one of `xarray`, 'numpy', or `sparse`.") - if encoding == "xarray": - try: - import rioxarray - import xarray - except ModuleNotFoundError as e: - raise ModuleNotFoundError( - "`xarray` and `rioxarray` must be installed if encoding is `xarray`. Install with `pip install xarray rioxarray`." - ) from e + + if encoding == "xarray" and not _xarray_available(): + raise ModuleNotFoundError( + "`xarray` and `rioxarray` must be installed if encoding is `xarray`. Install with `pip install xarray rioxarray`." + ) + + _with_user_extent = False + _bounds = (np.inf, np.inf, np.inf, np.inf) + _res = (0, 0) + _shape = (0, 0) + if like is not None: + if not (_xarray_available() and isinstance(like, (xr.DataArray, xr.Dataset))): + raise TypeError("`like` must be a xarray.DataArray or xarray.Dataset") + if any((res, out_shape, extent)): raise ValueError("`like` is mutually exclusive with `res`, `out_shape`, and `extent`.") - elif hasattr(like, "rio"): + + if not hasattr(like, "rio"): + raise AttributeError("The `like` object must have a 'rio' accessor.") + + try: affine = like.rio.transform() _res = (affine.a, abs(affine.e)) _shape = like.squeeze().shape - _bounds, _has_extent = like.rio.bounds(), True - else: - raise AttributeError("The `like` object must have a `rioxarray` accessor.") + _bounds, _with_user_extent = like.rio.bounds(), True + except Exception as e: + raise AttributeError("No spatial dimension found for like object") from e else: if not res and not out_shape and not extent: raise ValueError("One of `res`, `out_shape`, or `extent` must be provided.") - if extent and not res and not out_shape: - raise ValueError("Must also specify `res` or `out_shape` with extent.") - if res and (len(res) != 2 or any(r <= 0 for r in res) or any(not isinstance(r, (int, float)) for r in res)): - raise ValueError("`res` must be 2 positive numbers.") - if out_shape and ( - len(out_shape) != 2 or any(s <= 0 for s in out_shape) or any(not isinstance(s, int) for s in out_shape) - ): - raise ValueError("`out_shape` must be 2 positive integers.") - if extent and len(extent) != 4: - raise ValueError("`extent` must be a tuple or list of (xmin, ymin, xmax, ymax).") - - # defaults - _res = res if res else (0, 0) - _shape = out_shape if out_shape else (0, 0) - - # extract columns of interest and convert to polars - cols = list(set([col for col in (field, by) if col])) - - # Type checking to determin how the information for bounds are to be generated - if isinstance(gdf, GeoDataFrame): - (_bounds, _has_extent) = (extent, True) if extent else (gdf.total_bounds, False) - epsg = gdf.crs.to_epsg() if gdf.crs else None - try: - df = pl.from_pandas(gdf[cols]) if cols else None - except KeyError as e: - raise KeyError("Column not found in GeoDataFrame.") from e - - elif isinstance(gdf, pl.DataFrame): - (_bounds, _has_extent) = (extent, True) if extent else (gdf.select(pl.col(geom_col).st.total_bounds()).item().to_numpy(), False) - # Check whether the geometry has srid. When it is 0 (no srid) - # If the first one is zero --> meaning no srid --> give None back - # If otherwise assume epsg is all consistent --> take first srid - epsg = (gdf.select(pl.col("geometry").st.srid().alias("srid")) - .select( - pl.when(pl.col("srid").first().eq(0)) - .then(None) - .otherwise(pl.col("srid").first()) - ).item()) - try: - df = gdf.select(pl.col(cols)) if cols else None - except KeyError as e: - raise KeyError("Column not found in polars DataFrame.") from e - + + if extent: + if not res and not out_shape: + raise ValueError("Must also specify `res` or `out_shape` with extent.") + + if len(extent) != 4 or all(e == 0 for e in extent): + raise ValueError("`extent` must be a tuple or list of (xmin, ymin, xmax, ymax).") + + _bounds = extent + _with_user_extent = True + + if res: + if len(res) != 2 or any(r <= 0 for r in res) or any(not isinstance(r, (int, float)) for r in res): + raise ValueError("`res` must be 2 positive numbers.") + + _res = res + + if out_shape: + if len(out_shape) != 2 or any(s <= 0 for s in out_shape) or any(not isinstance(s, int) for s in out_shape): + raise ValueError("`out_shape` must be 2 positive integers.") + + _shape = out_shape + + # extract columns of interest if dataframe + cols = list(set([col for col in (field, by) if col and col != "geometry"])) + df = None + epsg = None + + # get bounds + if data_type == "geopandas": + if not _polars_available(): + raise ModuleNotFoundError("polars must be installed when data is geopandas.GeoDataFrame.") + + if not _with_user_extent: + _bounds = data.total_bounds + + epsg = data.crs.to_epsg() if data.crs else None + + if cols: + try: + df = pl.from_pandas(data[cols]) + except KeyError as e: + raise KeyError("Column not found in GeoDataFrame.") from e + + geometries = data.geometry + + elif data_type == "polars": + if not _with_user_extent: + try: + _bounds = data.select(pl.col("geometry").st.total_bounds()).item().to_numpy() + except pl.exceptions.ColumnNotFoundError as e: + raise ValueError("If `polars.DataFrame`, a 'geometry' column is expected.") from e + + # check if geometry has SRID. If 0, then None, else assume first SRID is equal for all geometries + srid = data.select(pl.col("geometry").first().st.srid()).item() + epsg = None if srid == 0 else srid + + if cols: + try: + df = data.select(pl.col([*cols, "geometry"])) + except pl.exceptions.ColumnNotFoundError as e: + raise KeyError("Column not found in polars DataFrame.") from e + + # geometries are extracted directly on the Rust side + geometries = data.select(pl.col("geometry")).to_series() + else: - (_bounds, _has_extent) = (extent, True) if extent else (total_bounds([from_wkb(g) for g in gdf]), False) - # Simplification for now. - # Parsing epsg theoretically possible but spared for now - epsg = None - df = pl.DataFrame({"value":value}) + # list or numpy.ndarray + geometries = data # RawRasterInfo raw_raster_info = { @@ -195,14 +261,21 @@ def rusterize( "ymax": _bounds[3], "xres": _res[0], "yres": _res[1], - "has_extent": _has_extent, + "with_user_extent": _with_user_extent, "tap": tap, "epsg": epsg, } - if isinstance(gdf, GeoDataFrame): - return _rusterize(gdf.geometry, raw_raster_info, fun, df, field, by, burn, background, all_touched, encoding, dtype) - elif isinstance(gdf, pl.DataFrame): - return _rusterize(gdf.select(pl.col(geom_col)).to_series(), raw_raster_info, fun, df, field, by, burn, background, all_touched, encoding, dtype) - else: - return _rusterize(gdf, raw_raster_info, fun, df, field, by, burn, background, all_touched, encoding, dtype) + return _rusterize( + geometries, + raw_raster_info, + fun, + df, + field, + by, + burn, + background, + all_touched, + encoding, + dtype, + ) diff --git a/python/rusterize/_dependencies.py b/python/rusterize/_dependencies.py new file mode 100644 index 0000000..c1adbcd --- /dev/null +++ b/python/rusterize/_dependencies.py @@ -0,0 +1,171 @@ +# Adapted from https://github.com/pola-rs/polars/blob/628f2273373e1d61d68c6b381e2d67702c990a0c/py-polars/src/polars/_dependencies.py + +import re +import sys +from functools import cache +from importlib import import_module +from importlib.util import find_spec +from types import ModuleType +from typing import TYPE_CHECKING, Any, ClassVar + + +class _LazyModule(ModuleType): + """Module that can act both as a lazy-loader and as a proxy.""" + + __lazy__ = True + + _mod_pfx: ClassVar[dict[str, str]] = { + "geopandas": "gpd.", + "polars": "pl.", + "polars_st": "st.", + "xarray": "xr.", + } + + def __init__( + self, + module_name: str, + *, + module_available: bool, + ): + """ + Initialise lazy-loading proxy module. + + Parameters + ---------- + module_name : str + the name of the module to lazy-load (if available). + + module_available : bool + indicate if the referenced module is actually available (we will proxy it + in both cases, but raise a helpful error when invoked if it doesn't exist). + """ + self._module_available = module_available + self._module_name = module_name + self._globals = globals() + super().__init__(module_name) + + def _import(self) -> ModuleType: + # import the referenced module, replacing the proxy in this module's globals + module = import_module(self.__name__) + self._globals[self._module_name] = module + self.__dict__.update(module.__dict__) + return module + + def __getattr__(self, name: str) -> Any: + # have "hasattr('__wrapped__')" return False without triggering import + if name == "__wrapped__": + msg = f"{self._module_name!r} object has no attribute {name!r}" + raise AttributeError(msg) + + # accessing the proxy module's attributes triggers import of the real thing + if self._module_available: + # import the module and return the requested attribute + module = self._import() + return getattr(module, name) + + # user has not installed the proxied/lazy module + elif name == "__name__": + return self._module_name + elif re.match(r"^__\w+__$", name) and name != "__version__": + # allow some minimal introspection on private module + # attrs to avoid unnecessary error-handling elsewhere + return None + else: + # all other attribute access raises a helpful exception + pfx = self._mod_pfx.get(self._module_name, "") + msg = f"{pfx}{name} requires {self._module_name!r} module to be installed" + raise ModuleNotFoundError(msg) from None + + +def _lazy_import(module_name: str) -> tuple[ModuleType, bool]: + """ + Lazy import the given module; avoids up-front import costs. + + Parameters + ---------- + module_name : str + name of the module to import, eg: "pyarrow". + + Notes + ----- + If the requested module is not available (eg: has not been installed), a proxy + module is created in its place, which raises an exception on any attribute + access. This allows for import and use as normal, without requiring explicit + guard conditions - if the module is never used, no exception occurs; if it + is, then a helpful exception is raised. + + Returns + ------- + tuple of (Module, bool) + A lazy-loading module and a boolean indicating if the requested/underlying + module exists (if not, the returned module is a proxy). + """ + # check if module is LOADED + if module_name in sys.modules: + return sys.modules[module_name], True + + # check if module is AVAILABLE + try: + module_spec = find_spec(module_name) + module_available = not (module_spec is None or module_spec.loader is None) + except ModuleNotFoundError: + module_available = False + + # create lazy/proxy module that imports the real one on first use + # (or raises an explanatory ModuleNotFoundError if not available) + return ( + _LazyModule( + module_name=module_name, + module_available=module_available, + ), + module_available, + ) + + +if TYPE_CHECKING: + import geopandas + import polars + import polars_st + import rioxarray + import xarray +else: + geopandas, GEOPANDAS_AVAILABLE = _lazy_import("geopandas") + polars, POLARS_AVAILABLE = _lazy_import("polars") + polars_st, POLARS_ST_AVAILABLE = _lazy_import("polars_st") + xarray, XARRAY_AVAILABLE = _lazy_import("xarray") + rioxarray, RIOXARRAY_AVAILABLE = _lazy_import("rioxarray") + + +def _xarray_available() -> bool: + return XARRAY_AVAILABLE and RIOXARRAY_AVAILABLE + + +def _polars_available() -> bool: + return POLARS_AVAILABLE + + +@cache +def _might_be(cls: type, type_: str) -> bool: + """Infer if a class hierarchy contains a specific module name.""" + try: + return any(f"{type_}." in str(o) for o in cls.mro()) + except TypeError: + return False + + +def _check_for_geopandas(obj: Any) -> bool: + return GEOPANDAS_AVAILABLE and _might_be(type(obj), "geopandas") + + +def _check_for_polars_st(obj: Any) -> bool: + return POLARS_ST_AVAILABLE and _might_be(type(obj), "polars") + + +__all__ = [ + "_check_for_geopandas", + "_check_for_polars_st", + "_xarray_available", + "geopandas", + "polars", + "xarray", +] diff --git a/python/rusterize/rusterize.pyi b/python/rusterize/rusterize.pyi index e8d9c02..bb7661a 100644 --- a/python/rusterize/rusterize.pyi +++ b/python/rusterize/rusterize.pyi @@ -1,18 +1,15 @@ -from typing import List, Tuple - import numpy as np -from geopandas import GeoDataFrame -from polars import DataFrame -from xarray import DataArray, Dataset + +from ._dependencies import geopandas as gpd +from ._dependencies import polars as pl +from ._dependencies import xarray as xr def rusterize( - gdf: GeoDataFrame | pl.DataFrame | list | np.ndarray, - geom_col : str = None, - value : list | np.ndarray | None = None, - like: DataArray | Dataset | None = None, - res: Tuple | List | None = None, - out_shape: Tuple | List | None = None, - extent: Tuple | List | None = None, + data: gpd.GeoDataFrame | pl.DataFrame | list | np.ndarray, + like: xr.DataArray | xr.Dataset | None = None, + res: tuple | list | None = None, + out_shape: tuple | list | None = None, + extent: tuple | list | None = None, field: str | None = None, by: str | None = None, burn: int | float | None = None, @@ -22,44 +19,62 @@ def rusterize( all_touched: bool = False, tap: bool = False, dtype: str = "float64", -) -> DataArray | np.ndarray | SparseArray: +) -> xr.DataArray | np.ndarray | SparseArray: """ - Fast geopandas rasterization in Rust. + Fast geometry rasterization in Rust. - Args: - :param gdf: geopandas dataframe or polars dataframe to rasterize. - :param geom_col: geometry column for polars dataframe. Has to be provided if polars dataframe is used. Default to None. - :param value: value to use in case numpy array or list is used as input. - :param like: array to use as blueprint for spatial matching (resolution, shape, extent). Mutually exlusive with res, out_shape, and extent. - :param res: (xres, yres) for rasterized data. - :param out_shape: (nrows, ncols) for regularized output shape. - :param extent: (xmin, ymin, xmax, ymax) for regularized extent. - :param field: field to rasterize, mutually exclusive with `burn`. Default is None. - :param by: column to rasterize, assigns each unique value to a layer in the stack based on field. Default is None. - :param burn: burn a value onto the raster, mutually exclusive with `field`. Default is None. - :param fun: pixel function to use. Available options are `sum`, `first`, `last`, `min`, `max`, `count`, or `any`. Default is `last`. - :param background: background value in final raster. Default is np.nan. - :param encoding: return a dense array (burned geometries onto a raster) or a sparse array in COOrdinate format (coordinates and values of the rasterized geometries). Available options are `xarray`, `numpy`, or `sparse`. The `xarray` encoding requires `xarray` and `rioxarray` to be installed. Default is `xarray`. - :param all_touched: if True, every pixel touched by the geometry is burned. Default is `False`. - :param tap: target aligned pixel to align the extent to the pixel resolution. Defaul is `False`. - :param dtype: specify the output dtype. Default is `float64`. + Parameters + ---------- + data : geopandas.GeoDataFrame, polars.DataFrame, list, numpy.ndarray + Input data to rasterize. + - If polars.DataFrame, it must be have a "geometry" column with geometries stored in WKB or WKT format. + - If list or numpy.ndarray, geometries must be in WKT, WKB, or shapely formats (EPSG is not inferred and defaults to None). + like : xarray.DataArray or xarray.Dataset (default: None) + Template array used as a spatial blueprint (resolution, shape, extent). Mutually exclusive with `res`, `out_shape`, and `extent`. Requires xarray and rioxarray. + res : tuple or list (default: None) + Pixel resolution defined as (xres, yres). + out_shape : tuple or list (default: None) + Output raster dimensions defined as (nrows, ncols). + extent : `tuple` or `list` (default: None) + Spatial bounding box defined as `(xmin, ymin, xmax, ymax)`. + field : `str` (default: None) + Column name to use for pixel values. Mutually exclusive with `burn`. Not considered when input is list or numpy.ndarray. + by : `str` (default: None) + Column used for grouping. Each group is rasterized into a distinct band in the output. Not considered when input is list or numpy.ndarray. + burn : `int` or `float` (default: None) + A static value to apply to all geometries. Mutually exclusive with `field`. + fun : `str` (default: "last") + Pixel function to use when burning geometries. Available options: `sum`, `first`, `last`, `min`, `max`, `count`, or `any`. + background : `int` or `float` (default: numpy.nan) + Value assigned to pixels not covered by any geometry. + encoding : `str` (default: "xarray") + The format of the returned object: `"xarray"`, `"numpy"`, or `"sparse"`. + all_touched : `bool` (default: False) + If True, every pixel touched by a geometry is burned. + tap : `bool` (default: False) + Target Aligned Pixels: aligns the extent to the pixel resolution. + dtype : `str` (default: "float64") + Output data type (e.g., `uint8`, `int32`, `float32`). - Returns: + Returns + ------- xarray.DataArray, numpy.ndarray, or a sparse array in COO format. - Notes: - If `encoding` is `numpy`, the array is returned without any spatial reference. + Notes + ----- + If `encoding` is "numpy" or input is list or numpy.ndarray, the return array is without any spatial reference. When any of `res`, `out_shape`, or `extent` is not provided, it is inferred from the other arguments when applicable. - If `like` is specified, `res`, `out_shape`, and `extent` are inferred from the `like` DataArray. + If `like` is specified, `res`, `out_shape`, and `extent` are inferred from the `like` DataArray or Dataset. Unless `extent` is specified, a half-pixel buffer is applied to avoid missing points on the border. The logics dictating the final spatial properties of the rasterized geometries follow those of GDAL. - If `field` is not in `gdf`, then a default `burn` value of 1 is rasterized. + If `field` is not in `data`, then a default `burn` value of 1 is rasterized. A `None` value for `dtype` corresponds to the default of that dtype. An illegal value for a dtype will be replaced with the default of that dtype. For example, a `background=np.nan` for `dtype="uint8"` will become `background=0`, where `0` is the default for `uint8`. """ class SparseArray: - def to_xarray(self) -> DataArray: ... - def to_frame(self) -> DataFrame: ... + def to_xarray(self) -> xr.DataArray: ... + def to_numpy(self) -> np.ndarray: ... + def to_frame(self) -> pl.DataFrame: ... diff --git a/src/geo/geo_inputs.rs b/src/geo/geo_inputs.rs deleted file mode 100644 index b0db1d9..0000000 --- a/src/geo/geo_inputs.rs +++ /dev/null @@ -1,104 +0,0 @@ -/* -Serialize geopandas geoemetries into WKB for Rust and deserialize into geo::Geometry -This is faster than parsing geometries directly via __geo_interface__ -Adapted from https://github.com/geoarrow/geoarrow-rs/blob/main/python/geoarrow-core/src/interop/shapely/from_shapely.rs - */ - -use geo_traits::to_geo::ToGeoGeometry; -use geo_types::Geometry; -use pyo3::{ - exceptions::PyValueError, - intern, - prelude::*, - pybacked::PyBackedBytes, - types::{PyAny, PyDict, PyList, PyBytes}, -}; -use polars::prelude::*; -use pyo3_polars::PySeries; -use pyo3::Bound; -use wkb::reader::read_wkb; - -fn parse_wkb_to_geometry(wkb: &[u8]) -> Option> { - let wkb_result = read_wkb(wkb).unwrap(); - ToGeoGeometry::try_to_geometry(&wkb_result) -} - -fn import_shapely(py: Python) -> PyResult> { - let shapely_mod = py.import(intern!(py, "shapely"))?; - let shapely_version_string = shapely_mod.getattr(intern!(py, "__version__"))?.extract::()?; - if !shapely_version_string.starts_with('2') { - Err(PyValueError::new_err("Shapely version 2 required")) - } else { - Ok(shapely_mod) - } -} - -fn to_wkb<'a>(py: Python<'a>, shapely_mod: &'a Bound, input: &'a Bound) -> PyResult> { - let args = (input,); - - let kwargs = PyDict::new(py); - kwargs.set_item("output_dimension", 2)?; - kwargs.set_item("include_srid", false)?; - kwargs.set_item("flavor", "iso")?; - - shapely_mod.call_method(intern!(py, "to_wkb"), args, Some(&kwargs)) -} - -pub fn from_shapely(py: Python, input: &Bound) -> PyResult>> { - // call `shapely.to_wkb` - let shapely_mod = import_shapely(py)?; - let wkb_result = to_wkb(py, &shapely_mod, input)?; - - // build vector of binary geometries - let mut wkb_output = Vec::with_capacity(wkb_result.len()?); - for item in wkb_result.try_iter()? { - // extract bytes and deserialize - let buf = item?.extract::()?; - if let Some(parsed) = parse_wkb_to_geometry(&buf) { - wkb_output.push(parsed); - } - } - - Ok(wkb_output) -} - -pub fn from_polars_wkb(input: &Bound) -> PyResult>> { - let pyseries: PySeries = input.extract()?; - let mut wkb_output = Vec::with_capacity(pyseries.0.len()); - for item in pyseries.0.iter() { - match item { - AnyValue::Null => continue, // Skip nulls - _ => { - if let Some(buf) = item.extract_bytes() { - let parsed = parse_wkb_to_geometry(buf); // &[u8] - wkb_output.push(parsed); - } - } - } - } - let wkb_output: Vec> = wkb_output.into_iter().flatten().collect(); - Ok(wkb_output) -} - -pub fn from_wkb_list(py_list: &Bound<'_, PyList>) -> PyResult>> { - let geometries: Vec> = py_list - .iter() - .filter_map(|py_item| { - let bytes = py_item.downcast::().ok()?; - // parse → Option → ? early None on fail - let parsed = parse_wkb_to_geometry(bytes.as_bytes())?; - Some(parsed) - }) - .collect(); - Ok(geometries) -} - -pub fn from_input(py: Python, input: &Bound) -> PyResult>> { - if input.hasattr("geom_type")? { - from_shapely(py, input) - } else if let Ok(py_list) = input.downcast::() { - from_wkb_list(py_list) - } else { - from_polars_wkb(input) - } -} diff --git a/src/geo/parse_geometry.rs b/src/geo/parse_geometry.rs new file mode 100644 index 0000000..717b87b --- /dev/null +++ b/src/geo/parse_geometry.rs @@ -0,0 +1,177 @@ +/* +Serialize geopandas geoemetries into WKB for Rust and deserialize into geo_types::Geometry +This is faster than parsing geometries directly via __geo_interface__ + */ + +use geo_traits::to_geo::ToGeoGeometry; +use geo_types::Geometry; +use polars::{datatypes::DataType, error::PolarsError, prelude::*}; +use pyo3::{ + Bound, + exceptions::{PyTypeError, PyValueError}, + intern, + prelude::*, + pybacked::PyBackedBytes, + types::{PyAny, PyBytes, PyDict, PyList, PyString}, +}; +use pyo3_polars::PySeries; +use rayon::iter::ParallelIterator; +use std::ops::Deref; +use wkb::reader::read_wkb; +use wkt::TryFromWkt; + +pub struct ParsedGeometry(pub Vec>); + +impl ParsedGeometry { + pub fn len(&self) -> usize { + self.0.len() + } + + pub fn get(&self, index: usize) -> Option<&Geometry> { + self.0.get(index) + } +} + +impl<'a> IntoIterator for &'a ParsedGeometry { + type Item = &'a Geometry; + type IntoIter = std::slice::Iter<'a, Geometry>; + + fn into_iter(self) -> Self::IntoIter { + self.0.iter() + } +} + +impl Deref for ParsedGeometry { + type Target = [Geometry]; + + fn deref(&self) -> &Self::Target { + self.0.as_slice() + } +} + +impl FromPyObject<'_, '_> for ParsedGeometry { + type Error = PyErr; + + fn extract(obj: Borrowed<'_, '_, PyAny>) -> PyResult { + // geopandas.GeoDataFrame + if obj.hasattr("geom_type")? { + let py = obj.py(); + + // shapely >= 2.0.0 + let shapely_mod = py.import(intern!(py, "shapely"))?; + let shapely_version_string = shapely_mod.getattr(intern!(py, "__version__"))?.extract::()?; + if !shapely_version_string.starts_with('2') { + return Err(PyValueError::new_err("Shapely version 2 required")); + } + + let wkb_result = to_wkb(py, &shapely_mod, &obj)?; + + return parse_iterable_wkb(&wkb_result); + } + + if obj.is_instance_of::() || obj.get_type().name()? == "ndarray" { + if obj.is_empty()? { + return Err(PyValueError::new_err("No geometries found.")); + } + + // check first item to determine parsing strategy + let first = obj.get_item(0)?; + if first.is_instance_of::() { + return parse_iterable_wkb(&obj); + } else if first.is_instance_of::() { + return parse_iterable_wkt(&obj); + } else { + return Err(PyValueError::new_err( + "Iterable must contain geometries as bytes (WKB) or string (WKT).", + )); + } + } + + if let Ok(pyseries) = obj.extract::() { + let series: Series = pyseries.into(); + return parse_polars_series(series).map_err(|e| PyTypeError::new_err(e.to_string())); + } + + Err(PyTypeError::new_err("Unsupported geometry input type.")) + } +} + +fn try_parse_wkb_to_geometry(wkb: &[u8]) -> Option> { + let wkb_result = read_wkb(wkb).expect( + "Cannot parse geometry. Check that the WKB bytes are valid. \ + This may happen when you convert a list of WKB stored as python 'object' into a numpy array.", + ); + ToGeoGeometry::try_to_geometry(&wkb_result) +} + +fn try_parse_wkt_to_geometry(wkt: &str) -> Option> { + Some(Geometry::try_from_wkt_str(wkt).unwrap()) +} + +fn to_wkb<'a>( + py: Python<'a>, + shapely_mod: &'a Bound, + input: &Bound<'a, PyAny>, +) -> PyResult> { + let args = (input,); + + let kwargs = PyDict::new(py); + kwargs.set_item("output_dimension", 2)?; + kwargs.set_item("include_srid", false)?; + kwargs.set_item("flavor", "iso")?; + + shapely_mod.call_method(intern!(py, "to_wkb"), args, Some(&kwargs)) +} + +fn parse_iterable_wkb(input: &Bound) -> PyResult { + let mut geoms = Vec::with_capacity(input.len()?); + for item in input.try_iter()? { + let buf = item?.extract::()?; + if let Some(parsed) = try_parse_wkb_to_geometry(&buf) { + geoms.push(parsed); + } + } + + if geoms.is_empty() { + return Err(PyValueError::new_err( + "Could not parse geometry. Only WKT or WKB formats are supported.", + )); + } + + Ok(ParsedGeometry(geoms)) +} + +fn parse_iterable_wkt(input: &Bound<'_, PyAny>) -> PyResult { + let mut geoms = Vec::with_capacity(input.len().unwrap_or(0)); + for item in input.try_iter()? { + let s = item?.extract::()?; + if let Some(parsed) = try_parse_wkt_to_geometry(&s) { + geoms.push(parsed); + } + } + + if geoms.is_empty() { + return Err(PyValueError::new_err( + "Could not parse geometry. Only WKT or WKB formats are supported.", + )); + } + + Ok(ParsedGeometry(geoms)) +} + +fn parse_polars_series(input: Series) -> Result { + let wkb_output = match input.dtype() { + DataType::Binary => input + .binary()? + .iter() + .filter_map(|item| item.and_then(try_parse_wkb_to_geometry)) + .collect(), + DataType::String => input + .str()? + .par_iter() + .filter_map(|item| item.and_then(try_parse_wkt_to_geometry)) + .collect(), + _ => unimplemented!("Unsupported dtype for geometry column"), + }; + Ok(ParsedGeometry(wkb_output)) +} diff --git a/src/lib.rs b/src/lib.rs index 68d2ee3..476342a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,7 +1,7 @@ mod allocator; mod geo { pub mod edges; - pub mod geo_inputs; + pub mod parse_geometry; pub mod raster; } mod encoding { @@ -21,23 +21,37 @@ mod prelude; use crate::{ encoding::pyarrays::{PyOut, Pythonize}, - geo::geo_inputs::from_input, + geo::parse_geometry::ParsedGeometry, prelude::*, rasterization::{ pixel_functions::set_pixel_function, - rusterize_impl::{Rasterize, rusterize_impl}, + prepare_dataframe::cast_df, + rusterize_impl::{Rasterize, RasterizeContext}, }, }; -use geo::raster::RasterInfo; -use geo_types::Geometry; +use geo::raster::{RasterInfo, RawRasterInfo}; use num_traits::Num; -use numpy::Element; use polars::prelude::DataFrame; -use pyo3::{prelude::*, types::PyAny}; +use pyo3::{conversion::FromPyObject, prelude::*, types::PyAny}; use pyo3_polars::PyDataFrame; +macro_rules! dispatch_rusterize { + ( + $dtype:expr, $encoding:expr, $py:expr, $ctx:expr, + [ $( ($str_val:pat, $rust_type:ty) ),* ] + ) => { + match ($dtype, $encoding) { + $( + ($str_val, "xarray" | "numpy") => rusterize_impl::<$rust_type, Dense>($py, $ctx), + ($str_val, "sparse") => rusterize_impl::<$rust_type, Sparse>($py, $ctx), + )* + _ => unimplemented!("Invalid dtype or encoding combination provided."), + } + }; +} + struct Context<'py> { - geometry: Vec, + geometry: ParsedGeometry, raster_info: RasterInfo, pypixel_fn: &'py str, pybackground: Option<&'py Bound<'py, PyAny>>, @@ -48,10 +62,9 @@ struct Context<'py> { opt_flags: OptFlags, } -#[allow(clippy::too_many_arguments)] -fn execute_rusterize<'py, T, R>(py: Python<'py>, ctx: Context<'py>) -> PyResult> +fn rusterize_impl<'py, T, R>(py: Python<'py>, ctx: Context<'py>) -> PyResult> where - T: Num + Copy + PixelOps + PolarsHandler + FromPyObject<'py> + Element + Default + 'static, + T: Num + Copy + PolarsHandler + Default + PixelOps + for<'a> FromPyObject<'a, 'py>, R: Rasterize, R::Output: Pythonize, { @@ -60,38 +73,41 @@ where .and_then(|inner| inner.extract().ok()) .unwrap_or_default(); let burn = ctx.pyburn.and_then(|inner| inner.extract().ok()).unwrap_or(T::one()); - let pixel_fn = set_pixel_function(ctx.pypixel_fn); - // rusterize - let ret = rusterize_impl::( - ctx.geometry, - ctx.raster_info, + // extract column from dataframe (cloning is cheap) + let casted = cast_df(ctx.df, ctx.pyfield, ctx.pyby, burn, ctx.geometry.len()); + let field = casted.column("field_casted").unwrap().clone(); + let by = casted.column("by_str").ok().and_then(|by| by.str().ok()); + + // rasterize + let rctx = RasterizeContext { + raster_info: ctx.raster_info, + geometry: ctx.geometry, + field, pixel_fn, background, - ctx.df, - ctx.pyfield, - ctx.pyby, - burn, - ctx.opt_flags, - ); + opt_flags: ctx.opt_flags, + }; + + let ret = R::rasterize(rctx, by); ret.pythonize(py, ctx.opt_flags) } #[pyfunction] #[pyo3(name = "_rusterize")] -#[pyo3(signature = (pygeometry, pyinfo, pypixel_fn, pydf=None, pyfield=None, pyby=None, pyburn=None, pybackground=None, pytouched=false, pyencoding="xarray", pydtype="float64"))] +#[pyo3(signature = (geometry, raw_raster_info, pypixel_fn, pydf=None, pyfield=None, pyby=None, pyburn=None, pybackground=None, pytouched=false, pyencoding="xarray", pydtype="float64"))] #[allow(clippy::too_many_arguments)] fn rusterize_py<'py>( py: Python<'py>, - pygeometry: &Bound<'py, PyAny>, - pyinfo: &Bound<'py, PyAny>, + geometry: ParsedGeometry, + raw_raster_info: RawRasterInfo, pypixel_fn: &'py str, pydf: Option, pyfield: Option<&'py str>, pyby: Option<&'py str>, - pyburn: Option<&'py Bound<'py, PyAny>>, - pybackground: Option<&'py Bound<'py, PyAny>>, + pyburn: Option<&'py Bound>, + pybackground: Option<&'py Bound>, pytouched: bool, pyencoding: &str, pydtype: &str, @@ -99,11 +115,8 @@ fn rusterize_py<'py>( // extract dataframe let df: Option = pydf.map(|inner| inner.into()); - // parse geometries - let geometry = from_input(py, pygeometry)?; - - // extract raster information - let raster_info = RasterInfo::extract_bound(pyinfo)?; + // construct raster info + let raster_info = RasterInfo::from(raw_raster_info, &geometry); // optional runtime flags let opt_flags = OptFlags::new(pytouched, pyencoding, pypixel_fn); @@ -120,46 +133,28 @@ fn rusterize_py<'py>( opt_flags, }; - match (pydtype, pyencoding) { - ("uint8", "xarray" | "numpy") => execute_rusterize::(py, ctx), - ("uint8", "sparse") => execute_rusterize::(py, ctx), - - ("uint16", "xarray" | "numpy") => execute_rusterize::(py, ctx), - ("uint16", "sparse") => execute_rusterize::(py, ctx), - - ("uint32", "xarray" | "numpy") => execute_rusterize::(py, ctx), - ("uint32", "sparse") => execute_rusterize::(py, ctx), - - ("uint64", "xarray" | "numpy") => execute_rusterize::(py, ctx), - ("uint64", "sparse") => execute_rusterize::(py, ctx), - - ("int8", "xarray" | "numpy") => execute_rusterize::(py, ctx), - ("int8", "sparse") => execute_rusterize::(py, ctx), - - ("int16", "xarray" | "numpy") => execute_rusterize::(py, ctx), - ("int16", "sparse") => execute_rusterize::(py, ctx), - - ("int32", "xarray" | "numpy") => execute_rusterize::(py, ctx), - ("int32", "sparse") => execute_rusterize::(py, ctx), - - ("int64", "xarray" | "numpy") => execute_rusterize::(py, ctx), - ("int64", "sparse") => execute_rusterize::(py, ctx), - - ("float32", "xarray" | "numpy") => execute_rusterize::(py, ctx), - ("float32", "sparse") => execute_rusterize::(py, ctx), - - ("float64", "xarray" | "numpy") => execute_rusterize::(py, ctx), - ("float64", "sparse") => execute_rusterize::(py, ctx), - - _ => unimplemented!( - "`dtype` must be one of uint8, uint16, uint32, uint64, int8, int16, int32, int64, float32, float64; \ - and `encoding` must be either 'xarray', 'numpy', or 'sparse'" - ), - } + dispatch_rusterize!( + pydtype, + pyencoding, + py, + ctx, + [ + ("uint8", u8), + ("uint16", u16), + ("uint32", u32), + ("uint64", u64), + ("int8", i8), + ("int16", i16), + ("int32", i32), + ("int64", i64), + ("float32", f32), + ("float64", f64) + ] + ) } #[pymodule] -fn rusterize(m: &Bound<'_, PyModule>) -> PyResult<()> { +fn rusterize(m: &Bound) -> PyResult<()> { m.add_function(wrap_pyfunction!(rusterize_py, m)?)?; Ok(()) } From b70c776a2f10d236c366b5f3f1830ba631e3cfd1 Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:29:41 -0800 Subject: [PATCH 13/21] rust fmt --- rustfmt.toml | 3 +++ src/rasterization/prepare_dataframe.rs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/rustfmt.toml b/rustfmt.toml index 2468c97..69bf4fa 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,2 +1,5 @@ +# https://github.com/rust-lang/rustfmt?tab=readme-ov-file#rusts-editions +edition = "2024" +style_edition = "2024" imports_granularity = "Crate" max_width = 120 diff --git a/src/rasterization/prepare_dataframe.rs b/src/rasterization/prepare_dataframe.rs index 574d2fd..d3dbe6f 100644 --- a/src/rasterization/prepare_dataframe.rs +++ b/src/rasterization/prepare_dataframe.rs @@ -18,7 +18,7 @@ where match df { None => { // case 1: create a dummy `field` - DataFrame::new(vec![burn_value.into_column("field_casted", burn_length)]).unwrap() + DataFrame::new(burn_length, vec![burn_value.into_column("field_casted", burn_length)]).unwrap() } Some(df) => { let mut lf = df.lazy(); From a669725a5feabdf1de0c106f0bf03475777a08b0 Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:30:16 -0800 Subject: [PATCH 14/21] speed up SparseArray -> dataframe conversion --- src/encoding/arrays.rs | 39 ++++++++++++++++----------------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/src/encoding/arrays.rs b/src/encoding/arrays.rs index 255efe9..5088832 100644 --- a/src/encoding/arrays.rs +++ b/src/encoding/arrays.rs @@ -15,6 +15,7 @@ use numpy::{Element, IntoPyArray}; use polars::prelude::*; use pyo3::prelude::*; use pyo3_polars::PyDataFrame; +use rayon::iter::{IntoParallelRefIterator, ParallelIterator}; pub struct DenseArray { raster: Array3, @@ -41,9 +42,7 @@ where let data = self.raster.into_pyarray(py); if opt_flags.with_xarray_output() { - // check dependencies before building the array - let xarray_module = py.import("xarray")?; - let xarray = build_xarray(py, xarray_module, self.raster_info, data, self.band_names)?; + let xarray = build_xarray(py, self.raster_info, data, self.band_names)?; Ok(PyOut::Dense(xarray)) } else { Ok(PyOut::Dense(data.into_any())) @@ -73,7 +72,10 @@ pub struct SparseArray { background: N, } -impl SparseArray { +impl SparseArray +where + N: Num + Copy, +{ pub fn new( band_names: Vec, rows: Vec, @@ -118,9 +120,9 @@ impl SparseArray { } } -impl PySparseArrayTraits for SparseArray +impl PySparseArrayTraits for SparseArray where - N: Num + Element + Copy + PolarsHandler, + T: Num + Element + Copy + PolarsHandler, { // estimated size of the materialized array fn size_str(&self) -> String { @@ -160,21 +162,11 @@ where } fn to_xarray<'py>(&self, py: Python<'py>) -> PyResult> { - // check dependencies before building the array - let xarray_module = py.import("xarray")?; - py.import("rioxarray")?; - let raster = self.build_raster(); let data = raster.into_pyarray(py); - build_xarray( - py, - xarray_module, - self.raster_info.clone(), - data, - self.band_names.clone(), - ) + build_xarray(py, self.raster_info.clone(), data, self.band_names.clone()) } fn to_numpy<'py>(&self, py: Python<'py>) -> PyResult> { @@ -198,23 +190,24 @@ where columns.push(bands_column); } - let rows = self.triplets.rows.iter().map(|v| *v as u64).collect::>(); + let rows = self.triplets.rows.par_iter().map(|v| *v as u64).collect::>(); + let length = rows.len(); columns.push(Column::new("row".into(), rows)); - let cols = self.triplets.cols.iter().map(|v| *v as u64).collect::>(); + let cols = self.triplets.cols.par_iter().map(|v| *v as u64).collect::>(); columns.push(Column::new("col".into(), cols)); - columns.push(N::from_named_vec("data", &self.triplets.data)); + columns.push(T::from_named_vec("data", &self.triplets.data)); - let df = DataFrame::new(columns).unwrap(); + let df = DataFrame::new(length, columns).unwrap(); PyDataFrame(df) } } // conversion to python -impl Pythonize for SparseArray +impl Pythonize for SparseArray where - N: Num + Element + Copy + PolarsHandler + 'static, + T: Num + Element + Copy + PolarsHandler + 'static, { fn pythonize(self, _py: Python, _opt_flags: OptFlags) -> PyResult { Ok(PyOut::Sparse(PySparseArray(Arc::new(self)))) From cffe43da1d9ccec8f07899e54d6ab1f206d4ba3f Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:30:25 -0800 Subject: [PATCH 15/21] simplify module import --- src/encoding/build_xarray.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/encoding/build_xarray.rs b/src/encoding/build_xarray.rs index 0771a1e..5900e53 100644 --- a/src/encoding/build_xarray.rs +++ b/src/encoding/build_xarray.rs @@ -3,7 +3,6 @@ Build xarray object from a dictionary. The xarray module is passed as a function argument to avoid importing it twice for DenseSparse and SparseArray - */ use crate::geo::raster::RasterInfo; @@ -16,7 +15,6 @@ use pyo3::{ pub fn build_xarray<'py, T>( py: Python<'py>, - xarray_module: Bound<'py, PyModule>, raster_info: RasterInfo, data: Bound<'py, PyArray3>, band_names: Vec, @@ -24,6 +22,9 @@ pub fn build_xarray<'py, T>( where T: Num + Element, { + let xarray_module = py.import("xarray")?; + py.import("rioxarray")?; + let (y, x) = raster_info.make_coordinates(py); let bands = PyList::new(py, band_names)?; let dims = PyList::new(py, vec!["bands", "y", "x"])?; From 6d8ccfb589a44666cffc81584e4f7d415b23b837 Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:31:34 -0800 Subject: [PATCH 16/21] initial x_at_line should be INFINITY, not NAN --- src/geo/edges.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/geo/edges.rs b/src/geo/edges.rs index 2a55c0d..e09a99b 100644 --- a/src/geo/edges.rs +++ b/src/geo/edges.rs @@ -43,7 +43,7 @@ impl PolyEdge { x0: x_top, y0: y_top, dxdy, - x_at_yline: f64::NAN, // dummy + x_at_yline: f64::INFINITY, // dummy } } @@ -106,8 +106,8 @@ pub fn extract_ring(edges: &mut Vec, line: &LineString, raster_in for i in 0..nrows { // world-to-pixel conversion let x0 = (node_array[[i, 0]] - raster_info.xmin) / raster_info.xres; - let x1 = (node_array[[i + 1, 0]] - raster_info.xmin) / raster_info.xres; let y0 = (raster_info.ymax - node_array[[i, 1]]) / raster_info.yres; + let x1 = (node_array[[i + 1, 0]] - raster_info.xmin) / raster_info.xres; let y1 = (raster_info.ymax - node_array[[i + 1, 1]]) / raster_info.yres; // skip horizontal From f7ce264b68dcf9a8d0f1467eebad142e68fb3520 Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:32:10 -0800 Subject: [PATCH 17/21] improve Standard/AllTouched rasterization logic specialization --- src/rasterization/burn_geometry.rs | 121 +++++++++------------------- src/rasterization/burners.rs | 20 +++-- src/rasterization/rusterize_impl.rs | 117 +++++++++------------------ 3 files changed, 89 insertions(+), 169 deletions(-) diff --git a/src/rasterization/burn_geometry.rs b/src/rasterization/burn_geometry.rs index fae4351..762600d 100644 --- a/src/rasterization/burn_geometry.rs +++ b/src/rasterization/burn_geometry.rs @@ -6,7 +6,6 @@ use crate::{ edges::{LineEdge, PolyEdge, extract_line, extract_point, extract_ring}, raster::RasterInfo, }, - prelude::OptFlags, rasterization::{ burners::{LineBurnStrategy, burn_point, burn_polygon}, rusterize_impl::PixelCache, @@ -20,37 +19,22 @@ where T: Num + Copy, W: PixelWriter, { - fn burn( - &self, - raster_info: &RasterInfo, - field_value: T, - writer: &mut W, - background: T, - opt_flags: &OptFlags, - ); + fn burn(&self, raster_info: &RasterInfo, field_value: T, writer: &mut W, background: T); } -#[rustfmt::skip] impl Burn for Geometry where T: Num + Copy, W: PixelWriter, { - fn burn( - &self, - raster_info: &RasterInfo, - field_value: T, - writer: &mut W, - background: T, - opt_flags: &OptFlags, - ) { + fn burn(&self, raster_info: &RasterInfo, field_value: T, writer: &mut W, background: T) { match self { Geometry::Point(geom) => { let mut pointedge = Vec::new(); extract_point(&mut pointedge, geom, raster_info); burn_point(pointedge, field_value, writer, background); - }, + } Geometry::MultiPoint(geom) => { let mut pointedge = Vec::new(); for point in geom { @@ -58,23 +42,13 @@ where } burn_point(pointedge, field_value, writer, background); - }, - Geometry::Polygon(geom) => { - geom.burn::(raster_info, field_value, writer, background, opt_flags) - } - Geometry::MultiPolygon(geom) => { - geom.burn::(raster_info, field_value, writer, background, opt_flags) - } - Geometry::LineString(geom) => { - geom.burn::(raster_info, field_value, writer, background, opt_flags) - } - Geometry::MultiLineString(geom) => { - geom.burn::(raster_info, field_value, writer, background, opt_flags) } - Geometry::GeometryCollection(geom) => { - geom.burn::(raster_info, field_value, writer, background, opt_flags) - }, - _ => () // not a shapely geometry + Geometry::Polygon(geom) => geom.burn::(raster_info, field_value, writer, background), + Geometry::MultiPolygon(geom) => geom.burn::(raster_info, field_value, writer, background), + Geometry::LineString(geom) => geom.burn::(raster_info, field_value, writer, background), + Geometry::MultiLineString(geom) => geom.burn::(raster_info, field_value, writer, background), + Geometry::GeometryCollection(geom) => geom.burn::(raster_info, field_value, writer, background), + _ => (), // not a shapely geometry } } } @@ -84,34 +58,19 @@ where T: Num + Copy, W: PixelWriter, { - fn burn( - &self, - raster_info: &RasterInfo, - field_value: T, - writer: &mut W, - background: T, - opt_flags: &OptFlags, - ) { + fn burn(&self, raster_info: &RasterInfo, field_value: T, writer: &mut W, background: T) { for geom in self { - geom.burn::(raster_info, field_value, writer, background, opt_flags) + geom.burn::(raster_info, field_value, writer, background) } } } -#[rustfmt::skip] impl Burn for Polygon where T: Num + Copy, W: PixelWriter, { - fn burn( - &self, - raster_info: &RasterInfo, - field_value: T, - writer: &mut W, - background: T, - opt_flags: &OptFlags, - ) { + fn burn(&self, raster_info: &RasterInfo, field_value: T, writer: &mut W, background: T) { // extract edges let mut polyedges = Vec::new(); extract_ring(&mut polyedges, self.exterior(), raster_info); @@ -127,7 +86,7 @@ where extract_line(&mut linedges, hole, raster_info); } - let pixel_cache = if opt_flags.requires_deduplication() { + let pixel_cache = if S::REQUIRES_DEDUPLICATION { Some(PixelCache::new(&linedges)) } else { None @@ -138,24 +97,24 @@ where (None, None) }; - handle_polygon::(raster_info, polyedges, linedges, &mut pixel_cache, field_value, writer, background) + handle_polygon::( + raster_info, + polyedges, + linedges, + &mut pixel_cache, + field_value, + writer, + background, + ) } } -#[rustfmt::skip] impl Burn for MultiPolygon where T: Num + Copy, W: PixelWriter, { - fn burn( - &self, - raster_info: &RasterInfo, - field_value: T, - writer: &mut W, - background: T, - opt_flags: &OptFlags, - ) { + fn burn(&self, raster_info: &RasterInfo, field_value: T, writer: &mut W, background: T) { // extract edges for all polygon let mut polyedges = Vec::new(); for polygon in self { @@ -175,7 +134,7 @@ where } } - let pixel_cache = if opt_flags.requires_deduplication() { + let pixel_cache = if S::REQUIRES_DEDUPLICATION { Some(PixelCache::new(&linedges)) } else { None @@ -186,7 +145,15 @@ where (None, None) }; - handle_polygon::(raster_info, polyedges, linedges, &mut pixel_cache, field_value, writer, background) + handle_polygon::( + raster_info, + polyedges, + linedges, + &mut pixel_cache, + field_value, + writer, + background, + ) } } @@ -195,20 +162,13 @@ where T: Num + Copy, W: PixelWriter, { - fn burn( - &self, - raster_info: &RasterInfo, - field_value: T, - writer: &mut W, - background: T, - opt_flags: &OptFlags, - ) { + fn burn(&self, raster_info: &RasterInfo, field_value: T, writer: &mut W, background: T) { // extract exterior and interior lines let mut linedges = Vec::new(); extract_line(&mut linedges, self, raster_info); // handle cases when pixels are not squares - if raster_info.xres != raster_info.yres || opt_flags.requires_deduplication() { + if raster_info.xres != raster_info.yres || S::REQUIRES_DEDUPLICATION { let mut cache = PixelCache::new(&linedges); let mut line_writer = LineWriter::new(writer, &mut cache); S::burn_line(linedges, raster_info, field_value, &mut line_writer, background) @@ -223,14 +183,7 @@ where T: Num + Copy, W: PixelWriter, { - fn burn( - &self, - raster_info: &RasterInfo, - field_value: T, - writer: &mut W, - background: T, - opt_flags: &OptFlags, - ) { + fn burn(&self, raster_info: &RasterInfo, field_value: T, writer: &mut W, background: T) { // extract all edges first to avoid overlaps when a line ends at the beginning of another let mut linedges = Vec::new(); for line in self { @@ -238,7 +191,7 @@ where } // handle cases when pixels are not squares - if raster_info.xres != raster_info.yres || opt_flags.requires_deduplication() { + if raster_info.xres != raster_info.yres || S::REQUIRES_DEDUPLICATION { let mut cache = PixelCache::new(&linedges); let mut line_writer = LineWriter::new(writer, &mut cache); S::burn_line(linedges, raster_info, field_value, &mut line_writer, background) diff --git a/src/rasterization/burners.rs b/src/rasterization/burners.rs index 6214286..7c95366 100644 --- a/src/rasterization/burners.rs +++ b/src/rasterization/burners.rs @@ -13,14 +13,17 @@ use crate::{ use num_traits::Num; use rayon::prelude::*; -pub struct Standard; -pub struct AllTouched; - const EPSILON_INTERSECT: f64 = 1e-4; const TOLERANCE: f64 = 1e-9; +pub struct Standard; +pub struct AllTouchedBase; +pub type AllTouched = AllTouchedBase; +pub type AllTouchedCached = AllTouchedBase; + pub trait LineBurnStrategy { const IS_ALL_TOUCHED: bool; + const REQUIRES_DEDUPLICATION: bool; fn burn_line( linedges: Vec, @@ -33,8 +36,9 @@ pub trait LineBurnStrategy { W: PixelWriter; } -impl LineBurnStrategy for Standard { +impl LineBurnStrategy for Standard { const IS_ALL_TOUCHED: bool = false; + const REQUIRES_DEDUPLICATION: bool = DEDUP; fn burn_line(linedges: Vec, raster_info: &RasterInfo, field_value: T, writer: &mut W, background: T) where @@ -91,8 +95,9 @@ impl LineBurnStrategy for Standard { } } -impl LineBurnStrategy for AllTouched { +impl LineBurnStrategy for AllTouchedBase { const IS_ALL_TOUCHED: bool = true; + const REQUIRES_DEDUPLICATION: bool = DEDUP; fn burn_line(linedges: Vec, raster_info: &RasterInfo, field_value: T, writer: &mut W, background: T) where @@ -276,9 +281,8 @@ pub fn burn_polygon( // start with first y line let mut yline = polyedges.first().unwrap().ystart; - let mut active_edges: Vec = Vec::new(); + let mut active_edges = Vec::new(); - // rasterize loop let ncols = raster_info.ncols as f64; while yline < raster_info.nrows && (!active_edges.is_empty() || !polyedges.is_empty()) { // transfer current edges to active edges @@ -305,7 +309,7 @@ pub fn burn_polygon( let x1 = &chunk[0].x_at_yline; let x2 = &chunk[1].x_at_yline; - // round down like GDAL + // round down let xstart = (x1 + 0.5).floor().clamp(0.0, ncols) as usize; let xend = (x2 + 0.5).floor().clamp(0.0, ncols) as usize; diff --git a/src/rasterization/rusterize_impl.rs b/src/rasterization/rusterize_impl.rs index 01df22c..21c9053 100644 --- a/src/rasterization/rusterize_impl.rs +++ b/src/rasterization/rusterize_impl.rs @@ -3,20 +3,17 @@ use crate::{ encoding::{ arrays::{DenseArray, SparseArray}, - pyarrays::Pythonize, writers::{DenseArrayWriter, PixelWriter, SparseArrayWriter, ToSparseArray}, }, - geo::{edges::LineEdge, raster::RasterInfo}, + geo::{edges::LineEdge, parse_geometry::ParsedGeometry, raster::RasterInfo}, prelude::{Dense, OptFlags, PolarsHandler, Sparse}, rasterization::{ burn_geometry::Burn, - burners::{AllTouched, LineBurnStrategy, Standard}, + burners::{AllTouched, AllTouchedCached, LineBurnStrategy, Standard}, pixel_functions::PixelFn, - prepare_dataframe::cast_df, }, }; use fixedbitset::FixedBitSet; -use geo_types::Geometry; use ndarray::Axis; use num_traits::Num; use numpy::Element; @@ -29,39 +26,39 @@ use rayon::iter::{IndexedParallelIterator, IntoParallelIterator, ParallelIterato pub struct PixelCache { bits: FixedBitSet, width: usize, - min_x: isize, - min_y: isize, + xmin: isize, + ymin: isize, } impl PixelCache { pub fn new(linedges: &[LineEdge]) -> Self { - let (min_x, max_x, min_y, max_y) = linedges.iter().fold( - (f64::MAX, f64::MIN, f64::MAX, f64::MIN), - |(min_x, max_x, min_y, max_y), edge| { + let (xmin, ymin, xmax, ymax) = linedges.iter().fold( + (f64::MAX, f64::MAX, f64::MIN, f64::MIN), + |(xmin, ymin, xmax, ymax), edge| { ( - min_x.min(edge.x0).min(edge.x1), - max_x.max(edge.x0).max(edge.x1), - min_y.min(edge.y0).min(edge.y1), - max_y.max(edge.y0).max(edge.y1), + xmin.min(edge.x0).min(edge.x1), + ymin.min(edge.y0).min(edge.y1), + xmax.max(edge.x0).max(edge.x1), + ymax.max(edge.y0).max(edge.y1), ) }, ); - let width = (max_x.floor() - min_x.floor()) as usize + 1; - let length = (max_y.floor() - min_y.floor()) as usize + 1; + let width = (xmax.floor() - xmin.floor()) as usize + 1; + let length = (ymax.floor() - ymin.floor()) as usize + 1; Self { bits: FixedBitSet::with_capacity(width * length), width, - min_x: min_x as isize, - min_y: min_y as isize, + xmin: xmin as isize, + ymin: ymin as isize, } } #[inline] fn unravel_index(&self, x: usize, y: usize) -> usize { - let local_x = (x as isize - self.min_x) as usize; - let local_y = (y as isize - self.min_y) as usize; + let local_x = (x as isize - self.xmin) as usize; + let local_y = (y as isize - self.ymin) as usize; local_y * self.width + local_x } @@ -82,46 +79,21 @@ impl PixelCache { pub struct RasterizeContext { pub raster_info: RasterInfo, - geometry: Vec, - field: Column, + pub geometry: ParsedGeometry, + pub field: Column, pub pixel_fn: PixelFn, pub background: N, - opt_flags: OptFlags, + pub opt_flags: OptFlags, } -#[allow(clippy::too_many_arguments)] -pub fn rusterize_impl( - geometry: Vec, - raster_info: RasterInfo, - pixel_fn: PixelFn, - background: T, - df: Option, - field_name: Option<&str>, - by_name: Option<&str>, - burn_value: T, - opt_flags: OptFlags, -) -> R::Output -where - T: Num + PolarsHandler, - R: Rasterize, - R::Output: Pythonize, -{ - // extract column from dataframe (cloning is cheap) - let casted = cast_df(df, field_name, by_name, burn_value, geometry.len()); - let field = casted.column("field_casted").unwrap().clone(); - let by = casted.column("by_str").ok().and_then(|by| by.str().ok()); - - // main - let ctx = RasterizeContext { - raster_info, - geometry, - field, - pixel_fn, - background, - opt_flags, +macro_rules! dispatch_burn { + ($all_touched:expr, $dedup:expr, $func:ident, $ctx:expr, $writer:expr $(, $ext:expr)*) => { + match ($all_touched, $dedup) { + (true, true) => $func::($ctx, $writer $(, $ext)*), + (true, false) => $func::($ctx, $writer $(, $ext)*), + (false, _) => $func::($ctx, $writer $(, $ext)*), + } }; - - R::rasterize(ctx, by) } // rasterization logics @@ -138,6 +110,9 @@ where type Output = DenseArray; fn rasterize(ctx: RasterizeContext, by: Option<&ChunkedArray>) -> Self::Output { + let all_touched = ctx.opt_flags.with_all_touched(); + let dedup = ctx.opt_flags.requires_deduplication(); + match by { Some(by) => { let (n_groups, group_idx) = get_groups(by); @@ -151,11 +126,7 @@ where .map(|(band, (group_idx, idxs))| { let mut writer = DenseArrayWriter::new(band, ctx.pixel_fn); - if ctx.opt_flags.with_all_touched() { - process_multi::(&ctx, &mut writer, &idxs); - } else { - process_multi::(&ctx, &mut writer, &idxs); - } + dispatch_burn!(all_touched, dedup, process_multi, &ctx, &mut writer, &idxs); by.get(group_idx as usize).unwrap().to_string() }) @@ -168,11 +139,7 @@ where let mut raster = ctx.raster_info.build_raster(1, ctx.background); let mut writer = DenseArrayWriter::new(raster.index_axis_mut(Axis(0), 0), ctx.pixel_fn); - if ctx.opt_flags.with_all_touched() { - process_single::(&ctx, &mut writer); - } else { - process_single::(&ctx, &mut writer); - } + dispatch_burn!(all_touched, dedup, process_single, &ctx, &mut writer); DenseArray::new(raster, band_names, ctx.raster_info) } @@ -187,6 +154,9 @@ where type Output = SparseArray; fn rasterize(ctx: RasterizeContext, by: Option<&ChunkedArray>) -> Self::Output { + let all_touched = ctx.opt_flags.with_all_touched(); + let dedup = ctx.opt_flags.requires_deduplication(); + match by { Some(by) => { let (n_groups, group_idx) = get_groups(by); @@ -198,11 +168,7 @@ where let band_name = by.get(group_idx as usize).unwrap().to_string(); let mut writer = SparseArrayWriter::new(band_name); - if ctx.opt_flags.with_all_touched() { - process_multi::(&ctx, &mut writer, &idxs); - } else { - process_multi::(&ctx, &mut writer, &idxs); - } + dispatch_burn!(all_touched, dedup, process_multi, &ctx, &mut writer, &idxs); writer }) @@ -213,11 +179,8 @@ where None => { let mut writer = SparseArrayWriter::new(String::from("band_1")); - if ctx.opt_flags.with_all_touched() { - process_single::(&ctx, &mut writer); - } else { - process_single::(&ctx, &mut writer); - } + dispatch_burn!(all_touched, dedup, process_single, &ctx, &mut writer); + writer.finish(ctx) } } @@ -241,7 +204,7 @@ where .zip(&ctx.geometry) .for_each(|(field_value, geom)| { if let Some(fv) = N::from_anyvalue(field_value) { - geom.burn::(&ctx.raster_info, fv, writer, ctx.background, &ctx.opt_flags) + geom.burn::(&ctx.raster_info, fv, writer, ctx.background) } }); } @@ -257,7 +220,7 @@ where let anyvalue = ctx.field.get(i as usize).unwrap(); (N::from_anyvalue(anyvalue), ctx.geometry.get(i as usize)) } { - geom.burn::(&ctx.raster_info, fv, writer, ctx.background, &ctx.opt_flags) + geom.burn::(&ctx.raster_info, fv, writer, ctx.background) } } } From 16d9172297297b320d25193fbc9378292671991e Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:32:28 -0800 Subject: [PATCH 18/21] updated --- .github/workflows/test-compile.yml | 187 ----------------------------- 1 file changed, 187 deletions(-) delete mode 100644 .github/workflows/test-compile.yml diff --git a/.github/workflows/test-compile.yml b/.github/workflows/test-compile.yml deleted file mode 100644 index 9f48bb2..0000000 --- a/.github/workflows/test-compile.yml +++ /dev/null @@ -1,187 +0,0 @@ -name: CI - -on: - push: - branches: - - compile - -permissions: - contents: read - -jobs: - linux: - runs-on: ${{ matrix.platform.runner }} - strategy: - fail-fast: false - matrix: - platform: - - runner: ubuntu-22.04 - target: x86_64 - - runner: ubuntu-22.04 - target: aarch64 - - runner: ubuntu-22.04 - target: armv7 - - runner: ubuntu-22.04 - target: ppc64le - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: 3.x - - name: Store RUSTFLAGS in ENV - id: features - run: | - FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe - echo "features=$FEATURES" >> $GITHUB_OUTPUT - - name: Set RUSTFLAGS for x86_64 - if: matrix.platform.target == 'x86_64' - env: - FEATURES: ${{ steps.features.outputs.features }} - run: | - echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV - - name: Build wheels - uses: PyO3/maturin-action@v1 - with: - target: ${{ matrix.platform.target }} - args: --profile dist-release --out dist --find-interpreter - sccache: "true" - manylinux: manylinux_2_28 - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-linux-${{ matrix.platform.target }} - path: dist - - musllinux: - runs-on: ${{ matrix.platform.runner }} - strategy: - fail-fast: false - matrix: - platform: - - runner: ubuntu-22.04 - target: x86_64 - - runner: ubuntu-22.04 - target: aarch64 - - runner: ubuntu-22.04 - target: armv7 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: 3.x - - name: Store RUSTFLAGS in ENV - id: features - run: | - FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe - echo "features=$FEATURES" >> $GITHUB_OUTPUT - - name: Set RUSTFLAGS for x86_64 - if: matrix.platform.target == 'x86_64' - env: - FEATURES: ${{ steps.features.outputs.features }} - run: | - echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV - - name: Build wheels - uses: PyO3/maturin-action@v1 - with: - target: ${{ matrix.platform.target }} - args: --profile dist-release --out dist --find-interpreter - sccache: "true" - manylinux: manylinux_2_28 - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-musllinux-${{ matrix.platform.target }} - path: dist - - windows: - runs-on: ${{ matrix.platform.runner }} - strategy: - fail-fast: false - matrix: - platform: - - runner: windows-latest - target: x64 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: 3.x - architecture: ${{ matrix.platform.target }} - - name: Store RUSTFLAGS in ENV - id: features - shell: bash - run: | - FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe - echo "features=$FEATURES" >> $GITHUB_OUTPUT - - name: Set RUSTFLAGS for x64 - if: matrix.platform.target == 'x64' - env: - FEATURES: ${{ steps.features.outputs.features }} - run: | - echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV - - name: Build wheels - uses: PyO3/maturin-action@v1 - with: - target: ${{ matrix.platform.target }} - args: --profile dist-release --out dist --find-interpreter - sccache: "true" - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-windows-${{ matrix.platform.target }} - path: dist - - - macos: - runs-on: ${{ matrix.platform.runner }} - strategy: - fail-fast: false - matrix: - platform: - - runner: macos-13 - target: x86_64 - - runner: macos-14 - target: aarch64 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: 3.x - - name: Store RUSTFLAGS in ENV - id: features - run: | - FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe - echo "features=$FEATURES" >> $GITHUB_OUTPUT - - name: Set RUSTFLAGS for x86_64 - if: matrix.platform.target == 'x86_64' - env: - FEATURES: ${{ steps.features.outputs.features }} - run: | - echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV - - name: Build wheels - uses: PyO3/maturin-action@v1 - with: - target: ${{ matrix.platform.target }} - args: --profile dist-release --out dist --find-interpreter - sccache: "true" - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-macos-${{ matrix.platform.target }} - path: dist - - sdist: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Build sdist - uses: PyO3/maturin-action@v1 - with: - command: sdist - args: --out dist - - name: Upload sdist - uses: actions/upload-artifact@v4 - with: - name: wheels-sdist - path: dist - From 49eaf69ab35a6a66799165f36c4352dd1f00a1e0 Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 16:34:45 -0800 Subject: [PATCH 19/21] update README --- README.md | 129 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 81 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 248398c..c50002b 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,51 @@ -# rusterize +High performance rasterization tool for Python built in Rust, inspired by the [fasterize](https://github.com/ecohealthalliance/fasterize.git) package with lots of useful improvements (see [API](#API)). -High performance rasterization tool for Python built in Rust. This repository is inspired by the [fasterize](https://github.com/ecohealthalliance/fasterize.git) package and ports parts of the logics into Python with a Rust backend, in addition to useful improvements (see [API](#API)). +**rusterize** is designed to work on _all_ shapely geometries, even when they are nested inside complex geometry collections. Functionally, it supports four input types: -**rusterize** is designed to work on _all_ shapely geometries, even when they are nested inside complex geometry collections. Functionally, it takes an input [geopandas](https://geopandas.org/en/stable/) dataframe and returns a [xarray](https://docs.xarray.dev/en/stable/), a [numpy](https://numpy.org/), or a sparse array in COOrdinate format. +- [geopandas](https://geopandas.org/en/stable/) GeoDataFrame +- [polars-st](https://oreilles.github.io/polars-st/) GeoDataFrame +- Python list of geometries in WKB or WKT format +- Numpy array of geometries in WKB or WKT format + +It returns a [xarray](https://docs.xarray.dev/en/stable/), a [numpy](https://numpy.org/), or a sparse array in COOrdinate format. # Installation -`rusterize` is distributed in two flavors. A `core` library that performs the rasterization and returns a bare `numpy` array, or a `xarray` version that returns a georeferenced `xarray`. This latter requires `xarray` and `rioxarray` to be installed. This is the recommended flavor. +`rusterize` comes with numpy as the only required dependency and is distributed in different flavors. A `core` library that performs the rasterization and returns a bare `numpy` array, a `xarray` flavor that returns a georeferenced `xarray` (requires `xarray` and `rioxarray` and is the recommended flavor), or an `all` flavor with dependencies for all supported inputs. Install the current version with pip: ```shell -# Core library +# core library pip install rusterize -# With xarray capabilities +# xarray capabilities pip install 'rusterize[xarray]' + +# support all input types +pip install 'rusterize[all]' ``` # Contributing -Any contribution is welcome! You can install **rusterize** directly from this repo using [maturin](https://www.maturin.rs/) as an editable package. For this to work, you’ll need to have [Rust](https://www.rust-lang.org/tools/install) and [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) -installed. +Any contribution is welcome! You can install **rusterize** directly from this repo using [maturin](https://www.maturin.rs/) as an editable package. For this to work, you’ll need to have [Rust](https://www.rust-lang.org/tools/install) and [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) installed. To run the tests you need to have `gdal` installed as well as the `rusterize[all]` flavor. ```shell -# Clone repo +# clone repo git clone https://github.com//rusterize.git cd rusterize -# Install the Rust nightly toolchain +# install Rust nightly toolchain rustup toolchain install nightly-2026-01-09 - # Install maturin +# install maturin pip install maturin -# Install editable version with optmized code +# install editable version with optmized code maturin develop --profile dist-release + +# test the new contribution +pytest ``` # API @@ -45,10 +55,8 @@ maturin develop --profile dist-release ```python from rusterize import rusterize -# gdf = - rusterize( - gdf, + data, like=None, res=(30, 30), out_shape=(10, 10), @@ -65,26 +73,55 @@ rusterize( ) ``` -- `gdf`: geopandas dataframe to rasterize -- `like`: xr.DataArray to use as template for `res`, `out_shape`, and `extent`. Mutually exclusive with these parameters (default: `None`) -- `res`: (xres, yres) for desired resolution (default: `None`) -- `out_shape`: (ncols, nrows) for desired output shape (default: `None`) -- `extent`: (xmin, ymin, xmax, ymax) for desired output extent (default: `None`) -- `field`: column to rasterize. Mutually exclusive with `burn` (default: `None` -> a value of `1` is rasterized) -- `by`: column for grouping. Assign each group to a band in the stack. Values are taken from `field` if specified, else `burn` is rasterized (default: `None` -> singleband raster) -- `burn`: a single value to burn. Mutually exclusive with `field` (default: `None`). If no field is found in `gdf` or if `field` is `None`, then `burn=1` -- `fun`: pixel function to use when multiple values overlap. Available options are `sum`, `first`, `last`, `min`, `max`, `count`, or `any` (default: `last`) -- `background`: background value in final raster (default: `np.nan`). A `None` value corresponds to the default of the specified dtype. An illegal value for a dtype will be replaced with the default of that dtype. For example, a `background=np.nan` for `dtype="uint8"` will become `background=0`, where `0` is the default for `uint8`. -- `encoding`: defines the output format of the rasterization. This is either a dense xarray/numpy representing the burned rasterized geometries, or a sparse array in COOrdinate format good for sparse observations and low memory consumption. Available options are `xarray`, `numpy`, `sparse` (default: `xarray` -> will trigger an error if `xarray` and `rioxarray` are not found). -- `all_touched`: whether every pixel touching the geometry should be burned. -- `tap`: target aligned pixel to align the extent to the pixel resolution (defaul: `False`). -- `dtype`: dtype of the final raster. Available options are `uint8`, `uint16`, `uint32`, `uint64`, `int8`, `int16`, `int32`, `int64`, `float32`, `float64` (default: `float64`) +- **data** : `geopandas.GeoDataFrame`, `polars.DataFrame`, `list`, `numpy.ndarray`
+ Input data to rasterize. + - If `polars.DataFrame`, it must be have a "geometry" column with geometries stored in WKB or WKT format. + - If `list` or `numpy.ndarray`, geometries must be in WKT, WKB, or shapely formats (EPSG is not inferred and defaults to None). + +- **like** : `xarray.DataArray` or `xarray.Dataset` (default: None)
+ Template array used as a spatial blueprint (resolution, shape, extent). Mutually exclusive with `res`, `out_shape`, and `extent`. Requires xarray and rioxarray. + +- **res** : `tuple` or `list` (default: None)
+ Pixel resolution defined as (xres, yres). + +- **out_shape** : `tuple` or `list` (default: None)
+ Output raster dimensions defined as (nrows, ncols). + +- **extent** : `tuple` or `list` (default: None)
+ Spatial bounding box defined as (xmin, ymin, xmax, ymax). + +- **field** : `str` (default: None)
+ Column name to use for pixel values. Mutually exclusive with `burn`. Not considered when input is list or numpy.ndarray. + +- **by** : `str` (default: None)
+ Column used for grouping. Each group is rasterized into a distinct band in the output. Not considered when input is list or numpy.ndarray. + +- **burn** : `int` or `float` (default: None)
+ A static value to apply to all geometries. Mutually exclusive with `field`. + +- **fun** : `str` (default: "last")
+ Pixel function to use when burning geometries. Available options: `sum`, `first`, `last`, `min`, `max`, `count`, or `any`. + +- **background** : `int` or `float` (default: numpy.nan)
+ Value assigned to pixels not covered by any geometry. + +- **encoding** : `str` (default: "xarray")
+ The format of the returned object: `"xarray"`, `"numpy"`, or `"sparse"`. + +- **all_touched** : `bool` (default: False)
+ If True, every pixel touched by a geometry is burned. + +- **tap** : `bool` (default: False)
+ Target Aligned Pixel: aligns the extent to the pixel resolution. + +- **dtype** : `str` (default: "float64")
+ Output data type (e.g., `uint8`, `int32`, `float32`). Note that control over the desired extent is not as strict as for resolution and shape. That is, when resolution, output shape, and extent are specified, priority is given to resolution and shape. So, extent is not guaranteed, but resolution and shape are. If extent is not given, it is taken from the polygons and is not modified, unless you specify a resolution value. If you only specify an output shape, the extent is maintained. This mimics the logics of `gdal_rasterize`. # Encoding -Version 0.5.0 introduced a new `encoding` parameter to control the output format of the rasterization. This means that you can return a `xarray/numpy` with the rasterized geometries, or a new `SparseArray` structure. This `SparseArray` structure stores the band/row/column triplets of where the geometries should be burned onto the final raster, as well as their corresponding values before applying any pixel function. This can be used as an intermediate output to avoid allocating memory before materializing the final raster, or as a final product. `SparseArray` has three convenience functions: `to_xarray()`, `to_numpy()`, and `to_frame()`. The first two return the final `xarray/numpy` with the appropriate pixel function, the last returns a `polars` dataframe with only the coordinates and values of the rasterized geometries. Note that `SparseArray` avoids allocating memory for the array during rasterization until it's actually needed (e.g. calling `to_xarray()`). See below for an example. +`rusterize` offers three encoding options for the rasterization output. You can return a `xarray/numpy` with the rasterized geometries, or a new `SparseArray` structure. This `SparseArray` structure stores the band/row/column triplets of where the geometries should be burned onto the final raster, as well as their corresponding values before applying any pixel function. This can be used as an intermediate output to avoid allocating memory before materializing the final raster, or as a final product. `SparseArray` has three convenience functions: `to_xarray()`, `to_numpy()`, and `to_frame()`. The first two return the final `xarray/numpy` with the appropriate pixel function, the last returns a `polars` dataframe with only the coordinates and values of the rasterized geometries. Note that `SparseArray` avoids allocating memory for the array during rasterization until it's actually needed (e.g. calling `to_xarray()`). See below for an example. # Usage @@ -103,11 +140,8 @@ geoms = [ "GEOMETRYCOLLECTION (POINT (50 -40), POLYGON ((75 -40, 75 -30, 100 -30, 100 -40, 75 -40)), LINESTRING (60 -40, 80 0), GEOMETRYCOLLECTION (POLYGON ((100 20, 100 30, 110 30, 110 20, 100 20))))" ] -# convert WKT strings to Shapely geometries -geometries = [wkt.loads(geom) for geom in geoms] - -# create a GeoDataFrame -gdf = gpd.GeoDataFrame({'value': range(1, len(geoms) + 1)}, geometry=geometries, crs='EPSG:32619') +# create a GeoDataFrame with shapely geometries from WKT +gdf = gpd.GeoDataFrame({'value': range(1, len(geoms) + 1)}, geometry=wkt.loads(geoms), crs='EPSG:32619') # rusterize to "xarray" -> return a xarray with the burned geometries and spatial reference (default) # will raise a ModuleNotFoundError if xarray and rioxarray are not found @@ -174,18 +208,17 @@ output.to_frame() ``` pytest --benchmark-min-rounds=10 --benchmark-time-unit='s' -------------------------------------------------------------------- benchmark: 7 tests ------------------------------------------------------------ -Name Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations ---------------------------------------------------------------------------------------------------------------------------------------------------- -test_water_small_f64_numpy 0.0044 0.0221 0.0090 0.0047 0.0064 0.0070 32;0 111.4936 156 1 -test_water_small_f64 0.0054 0.0309 0.0084 0.0039 0.0068 0.0026 14;14 118.7794 149 1 -test_water_large_f64_numpy 1.5214 2.1011 1.8225 0.1610 1.8015 0.1500 3;1 0.5487 10 1 -test_water_large_f64 1.6683 2.2734 1.9249 0.2019 1.9257 0.2782 4;0 0.5195 10 1 -test_water_large_gdal_vsimem_f64 2.4127 2.4414 2.4217 0.0085 2.4203 0.0092 2;1 0.4129 10 1 -test_roads_uint8 3.5505 17.1630 6.5959 5.1604 3.6147 5.9051 2;0 0.1516 10 1 -test_roads_gdal_vsimem_uint8 9.6371 11.0570 10.3093 0.6694 10.2655 1.3462 4;0 0.0970 10 1 ---------------------------------------------------------------------------------------------------------------------------------------------------- - +-------------------------------------------------------------- benchmark: 7 tests ------------------------------------------------- +Name (time in s) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations +----------------------------------------------------------------------------------------------------------------------------------- +test_water_small_f64_numpy 0.0045 0.0074 0.0051 0.0006 0.0050 0.0006 29;13 194.3373 155 1 +test_water_small_f64 0.0058 0.0239 0.0110 0.0040 0.0101 0.0059 38;2 91.2137 133 1 +test_water_large_f64 1.6331 2.2212 1.8923 0.2013 1.9070 0.3507 5;0 0.5285 10 1 +test_water_large_f64_numpy 1.6530 2.3126 1.8641 0.2078 1.8139 0.3054 2;0 0.5365 10 1 +test_water_large_gdal_f64 2.3926 2.6120 2.4650 0.0849 2.4217 0.1024 2;0 0.4057 10 1 +test_roads_uint8 3.7092 17.6956 6.6547 5.5787 3.8136 1.8291 2;2 0.1503 10 1 +test_roads_gdal_uint8 9.2405 9.4942 9.3018 0.0727 9.2785 0.0445 1;1 0.1075 10 1 +----------------------------------------------------------------------------------------------------------------------------------- ``` And fasterize ([benchmark_fasterize.r](benchmarks/benchmark_fasterize.r)). Note that it doesn't support custom `dtype` so the returning raster is `float64`. @@ -204,7 +237,7 @@ While **rusterize** is fast, there are other fast alternatives out there, includ The following is a time comparison of 10 runs (median) on the same large water bodies dataset used earlier (dtype is `float64`) ([run_others.py](benchmarks/run_others.py)). ``` -rusterize: 2.1 sec +rusterize: 1.9 sec rasterio: 15.2 sec geocube: 129.2 sec ``` From 22effd45d84d9d472a0b1727315f4ee262775193 Mon Sep 17 00:00:00 2001 From: ttrotto Date: Tue, 24 Feb 2026 20:16:46 -0800 Subject: [PATCH 20/21] update README and add logo --- README.md | 26 ++++++++++++++++++-------- img/logo.png | Bin 0 -> 721168 bytes 2 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 img/logo.png diff --git a/README.md b/README.md index c50002b..fca736f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,9 @@ +

+ +

+ +
+ High performance rasterization tool for Python built in Rust, inspired by the [fasterize](https://github.com/ecohealthalliance/fasterize.git) package with lots of useful improvements (see [API](#API)). **rusterize** is designed to work on _all_ shapely geometries, even when they are nested inside complex geometry collections. Functionally, it supports four input types: @@ -9,7 +15,7 @@ High performance rasterization tool for Python built in Rust, inspired by the [f It returns a [xarray](https://docs.xarray.dev/en/stable/), a [numpy](https://numpy.org/), or a sparse array in COOrdinate format. -# Installation +### Installation `rusterize` comes with numpy as the only required dependency and is distributed in different flavors. A `core` library that performs the rasterization and returns a bare `numpy` array, a `xarray` flavor that returns a georeferenced `xarray` (requires `xarray` and `rioxarray` and is the recommended flavor), or an `all` flavor with dependencies for all supported inputs. @@ -26,7 +32,7 @@ pip install 'rusterize[xarray]' pip install 'rusterize[all]' ``` -# Contributing +### Contributing Any contribution is welcome! You can install **rusterize** directly from this repo using [maturin](https://www.maturin.rs/) as an editable package. For this to work, you’ll need to have [Rust](https://www.rust-lang.org/tools/install) and [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) installed. To run the tests you need to have `gdal` installed as well as the `rusterize[all]` flavor. @@ -48,7 +54,7 @@ maturin develop --profile dist-release pytest ``` -# API +### API **rusterize** has a simple API consisting of a single function `rusterize()`: @@ -119,11 +125,11 @@ rusterize( Note that control over the desired extent is not as strict as for resolution and shape. That is, when resolution, output shape, and extent are specified, priority is given to resolution and shape. So, extent is not guaranteed, but resolution and shape are. If extent is not given, it is taken from the polygons and is not modified, unless you specify a resolution value. If you only specify an output shape, the extent is maintained. This mimics the logics of `gdal_rasterize`. -# Encoding +### Encoding `rusterize` offers three encoding options for the rasterization output. You can return a `xarray/numpy` with the rasterized geometries, or a new `SparseArray` structure. This `SparseArray` structure stores the band/row/column triplets of where the geometries should be burned onto the final raster, as well as their corresponding values before applying any pixel function. This can be used as an intermediate output to avoid allocating memory before materializing the final raster, or as a final product. `SparseArray` has three convenience functions: `to_xarray()`, `to_numpy()`, and `to_frame()`. The first two return the final `xarray/numpy` with the appropriate pixel function, the last returns a `polars` dataframe with only the coordinates and values of the rasterized geometries. Note that `SparseArray` avoids allocating memory for the array during rasterization until it's actually needed (e.g. calling `to_xarray()`). See below for an example. -# Usage +### Usage ```python from rusterize import rusterize @@ -201,7 +207,7 @@ output.to_frame() ![](img/plot.png) -# Benchmarks +### Benchmarks **rusterize** is fast! Let’s try it on small and large datasets in comparison to GDAL ([benchmark_rusterize.py](benchmarks/benchmark_rusterize.py)). You can run this with [pytest](https://docs.pytest.org/en/stable/) and [pytest-benchmark](https://pytest-benchmark.readthedocs.io/en/stable/): @@ -230,7 +236,7 @@ Unit: seconds fasterize_large_f64 36.91321005 37.71877265 41.0140303 40.81343803 43.9201820 46.5596799 10 ``` -# Comparison with other tools +### Comparison with other tools While **rusterize** is fast, there are other fast alternatives out there, including `rasterio` and `geocube`. However, **rusterize** allows for a seamless, Rust-native processing with similar or lower memory footprint that doesn't require you to install GDAL and returns the geoinformation you need for downstream processing with ample control over resolution, shape, extent, and data type. @@ -242,8 +248,12 @@ rasterio: 15.2 sec geocube: 129.2 sec ``` -# Integrations +### Integrations **rusterize** is integrated into the following libraries: - [rasterix](https://github.com/xarray-contrib/rasterix) + +
+ +Disclaimer: Logo originally generated with Nano Banana Pro diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4a4d90e7777b282085d92a5c2c2807de64467020 GIT binary patch literal 721168 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�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 z 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͟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 eenNJzT8}95xG3olJ+RYMMt Date: Tue, 24 Feb 2026 20:21:35 -0800 Subject: [PATCH 21/21] update gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 529adfd..05d6926 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,7 @@ README_files .ruff_cache benchmarks/data .git +**/*.aux.xml # Temporary maturin development *.pyd