rasterizer is a lightweight Python package for rasterizing geopandas GeoDataFrames.
- Rasterize lines into a binary (presence/absence) or length-based grid.
- Rasterize polygons into a binary (presence/absence) or area-based grid.
- Weighted rasterization: Rasterize geometries while weighting the output by a numerical column in the GeoDataFrame.
- Works with
geopandasGeoDataFrames. - Outputs an
xarray.DataArrayfor easy integration with other scientific Python libraries. - No GDAL dependency for the rasterization algorithm itself.
For detailed usage and API documentation, please see the full documentation.
Here are some examples of what you can do with rasterizer.
import geopandas as gpd
from rasterizer import rasterize_polygons
polys = gpd.read_file("polygons.gpkg")
area_raster = rasterize_polygons(polys, your_x_grid, your_y_grid, polys.crs, mode="area")You can rasterize lines in either binary or length mode.
| Binary Mode | Length Mode |
|---|---|
![]() |
![]() |
You can rasterize polygons in either binary or area mode.
| Binary Mode | Area Mode |
|---|---|
![]() |
![]() |
You can install the package directly from PyPI:
pip install rasterizerThis package provides functionalities that are not present in rasterio.features, such as area and length-based rasterization. It is also lighter and faster than using GDAL-based solutions. GDAL's rasterization only burns values per pixel; it cannot return exact fractional area or length contributions without an expensive workaround. The common workaround is to rasterize at a much finer resolution and then downsample with averaging, which approximates the true area/length but is not exact and can be slow, e.g.:
gdal_rasterize -burn 1 -tr 1 1 -ot Float32 -of GTiff input.gpkg tmp_fine.tif
gdalwarp -tr 10 10 -r average tmp_fine.tif out_area_approx.tifDoing this purely in geopandas by generating one polygon per grid cell and overlaying it with the input geometry is also slow because it creates a huge number of tiny geometries, triggers expensive overlay operations, and scales poorly with grid size.



