rslearn.data_sources.data_source¶
data_source ¶
Base classes for rslearn data sources.
Item ¶
An item in a data source.
Items correspond to distinct objects in the data source, such as a raster file (e.g., Sentinel-2 scene) or a vector file (e.g., a single shapefile).
Source code in rslearn/data_sources/data_source.py
DataSource ¶
Bases: ABC, Generic[ItemType]
A set of raster or vector files that can be retrieved.
Data sources should support at least one of ingest and materialize.
Source code in rslearn/data_sources/data_source.py
get_items
abstractmethod
¶
get_items(geometries: list[STGeometry], query_config: QueryConfig) -> list[list[MatchedItemGroup[ItemType]]]
Get a list of items in the data source intersecting the given geometries.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
geometries
|
list[STGeometry]
|
the spatiotemporal geometries |
required |
query_config
|
QueryConfig
|
the query configuration |
required |
Returns:
| Type | Description |
|---|---|
list[list[MatchedItemGroup[ItemType]]]
|
List of groups of items that should be retrieved for each geometry. |
Source code in rslearn/data_sources/data_source.py
deserialize_item
abstractmethod
¶
ingest ¶
ingest(tile_store: TileStoreWithLayer, items: list[ItemType], geometries: list[list[STGeometry]]) -> None
Ingest items into the given tile store.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tile_store
|
TileStoreWithLayer
|
the tile store to ingest into |
required |
items
|
list[ItemType]
|
the items to ingest |
required |
geometries
|
list[list[STGeometry]]
|
a list of geometries needed for each item |
required |
Source code in rslearn/data_sources/data_source.py
materialize ¶
materialize(window: Window, item_groups: list[list[ItemType]], layer_name: str, layer_cfg: LayerConfig, group_time_ranges: list[tuple[datetime, datetime] | None] | None = None) -> None
Materialize data for the window.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
window
|
Window
|
the window to materialize |
required |
item_groups
|
list[list[ItemType]]
|
the items from get_items |
required |
layer_name
|
str
|
the name of this layer |
required |
layer_cfg
|
LayerConfig
|
the config of this layer |
required |
group_time_ranges
|
list[tuple[datetime, datetime] | None] | None
|
optional request time range for each item group |
None
|
Source code in rslearn/data_sources/data_source.py
ItemLookupDataSource ¶
Bases: DataSource[ItemType]
A data source that can look up items by name.
Source code in rslearn/data_sources/data_source.py
RetrieveItemDataSource ¶
Bases: DataSource[ItemType]
A data source that can retrieve items in their raw format.
Source code in rslearn/data_sources/data_source.py
retrieve_item
abstractmethod
¶
Retrieves the rasters corresponding to an item as file streams.
DataSourceContext ¶
This context is passed to every data source.
When initializing data sources within rslearn, we always set the ds_path and layer_config. However, for convenience (for users directly initializing the data sources externally), each data source should allow for initialization when one or both are missing.