Skip to content

Yirgacheffe 2.0#136

Merged
mdales merged 32 commits into
mainfrom
mwd-2.0-final-refactor
Apr 15, 2026
Merged

Yirgacheffe 2.0#136
mdales merged 32 commits into
mainfrom
mwd-2.0-final-refactor

Conversation

@mdales

@mdales mdales commented Mar 30, 2026

Copy link
Copy Markdown
Contributor

Addresses #38, #70.

Added

  • Added a dimensions property to layers to give the raster equivalent width and height.
  • Added an as_area operator to redefine the area of a layer for use in a calculation. Useful for overriding the default behaviour of operators in terms of the area they take, and for explicit clipping or padding of inputs.
  • Added an as_projection operator to reproject a raster or calculation to a new map projection.
  • Added h3_tile to generate a layer for rasterizing H3 tiles.

Changed

  • Moved find_intersection and find_union to top level of module.
  • Renamed map_projection to projection.
  • Vector rasterisation has performance improvements.
  • Renamed astype to as_type to match similar Yirgacheffe operators for area and projection.

Fixed

  • Fixed a tessellation issue with H3 tiles overlaying each other when summed.

Removed

  • Removed mutable layer properties set_window_for_intersection, set_window_for_union, offset_window_by_pixels, and reset_window. Use the immutable as_area operator instead.
  • Removed window property from the public API.
  • Removed Window class from the public API.
  • Removed PixelScale class, deprecated for a long time, use MapProjection instead.
  • Removed RasteredVectorLayer class (use VectorLayer instead).
  • Removed old projection and pixel_size properties from layers that are now combined in the MapProjection object.
  • Removed layers from the public API, core methods (e.g., read_raster, read_shape) or operators (e.g., as_projection) should be used to access layers instead.
  • Removed properties from internal LayerObject API that was earlier exposed and had to be maintained for backwards compatibility.
  • Remove WGS_84_PROJECTION constant - for a while now this has been deprecated since we added more human readable string support (e.g., "epsg:4326").
  • Removed scaled_raster_from_raster which created an in memory rescaled image. Use read_raster_like to generate a dynamically scaled raster instead.
  • Removed RescaledRasterLayer as it is superceeded by the ReprojectedRasterLayer which does both pixel scaling and map projection conversions.
  • Removed numpy_apply and shader_apply operators, which was a backstop for lack of operators in early Yirgacheffe.
  • Removed geo_transform from layer, as it duplicated the same function on the layer's area object.

@mdales mdales force-pushed the mwd-2.0-final-refactor branch from a68843f to bd64c3d Compare March 30, 2026 15:00
@mdales mdales added 🏗️ enhancement New feature or request and removed 🚨 do not merge labels Apr 15, 2026
@mdales mdales changed the title Yirgacheffe 2.0 prep Yirgacheffe 2.0 Apr 15, 2026
@mdales mdales merged commit ded9506 into main Apr 15, 2026
1 check passed
@mdales mdales deleted the mwd-2.0-final-refactor branch April 15, 2026 12:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🏗️ enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant