Core Concepts#
CoreLens is built on three main layers:
AoI (Area of Interest): The primary entry point. It represents a spatial boundary and acts as a gateway to all registered entities that intersect that boundary.
View: A lazy, immutable query definition. Filtering by attributes (
where), space (spatial_filter), or time (between) returns a newViewwithout reading any Parquet data.Result: The lazy computation graph. Accessing
.static,.annual, or.sub_annualon aViewresolves the query plan and returns aResultobject wrapping a PolarsLazyFrame. Data is not actually read until you materialise it by calling.df()or.gdf(). This delays execution and reduces memory footprint, allowing the Polars streaming engine (automatically routed to the GPU if RAPIDScudf-polarsis installed) to optimize the query globally. All statistical operations, aggregations, and plotting are done onResultobjects.