pystac.summaries¶
- class pystac.summaries.RangeSummary(minimum: T, maximum: T)[source]
- classmethod from_dict(d: dict[str, Any]) RangeSummary[T] [source]
- maximum: T
- minimum: T
- to_dict() dict[str, Any] [source]
- update_with_value(v: T) None [source]
- class pystac.summaries.Summaries(summaries: dict[str, Any], maxcount: int = 25)[source]
- add(prop_key: str, summary: list[Any] | RangeSummary[Any] | dict[str, Any]) None [source]
- get_list(prop: str) list[Any] | None [source]
- get_range(prop: str) RangeSummary[Any] | None [source]
- get_schema(prop: str) dict[str, Any] | None [source]
- is_empty() bool [source]
- lists: dict[str, list[Any]]
- maxcount: int
- other: dict[str, Any]
- ranges: dict[str, RangeSummary[Any]]
- remove(prop_key: str) None [source]
- schemas: dict[str, dict[str, Any]]
- to_dict() dict[str, Any] [source]
- class pystac.summaries.Summarizer(fields: str | dict[str, SummaryStrategy] | None = None)[source]
The Summarizer computes summaries from values, following the definition of fields to summarize.
The fields to summarize can be provided as a JSON file or as a dictionary of field names and SummaryStrategys. If nothing is provided, a default JSON file will be used.
Only fields that are in the Item properties can be summarized. Thus it is not possible to summarize the top-level fields such as id or assets.
For more information about the structure of the fields JSON file, see: https://github.com/stac-utils/stac-fields
The default JSON file used is a snapshot of the following file at the time of the pystac release: https://cdn.jsdelivr.net/npm/@radiantearth/stac-fields/fields-normalized.json
- Parameters:
fields – A string containing the path to the json file with field descriptions. Alternatively, a dict with the field names as keys and SummaryStrategys as values. If nothing is passed, a default file with field descriptions will be used.
- summarize(source: Collection | Iterable[Item]) Summaries [source]
Creates summaries from items
- summaryfields: dict[str, SummaryStrategy]
- class pystac.summaries.SummaryStrategy(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
- ARRAY = 'v'
- DEFAULT = True
- DONT_SUMMARIZE = False
- RANGE = 'r'
- SCHEMA = 's'