DatabaseTopologicalFamily

class lsst.daf.butler.DatabaseTopologicalFamily(name: str, space: TopologicalSpace, *, members: NamedValueAbstractSet[DimensionElement])

Bases: TopologicalFamily

Database topological family implementation.

A TopologicalFamily implementation for the DatabaseDimension and DatabaseDimensionCombination objects that have direct database representations.

Parameters:
namestr

Name of the family.

spaceTopologicalSpace

Space in which this family’s regions live.

membersNamedValueAbstractSet [ DimensionElement ]

The members of this family, ordered according to the priority used in choose (first-choice member first).

Attributes Summary

governor

Return GovernorDimension common to all members of this family.

Methods Summary

choose(dimensions)

Select the best member of this family to use.

make_column_reference(endpoint)

Create a column reference to the generalized region column for the given endpoint.

Attributes Documentation

governor

Return GovernorDimension common to all members of this family.

(GovernorDimension).

Methods Documentation

choose(dimensions: DimensionGroup) DimensionElement

Select the best member of this family to use.

These are to be used in a query join or data ID when more than one is present.

Usually this should correspond to the most fine-grained region.

Parameters:
dimensionsDimensionGroup

Dimensions to choose from, if this is a dimension-based topological family.

Returns:
bestTopologicalRelationshipEndpoint

The best endpoint from this family for these dimensions.

make_column_reference(endpoint: TopologicalRelationshipEndpoint) DimensionFieldReference

Create a column reference to the generalized region column for the given endpoint.

Parameters:
endpointTopologicalRelationshipEndpoint

Endpoint to create a column reference to.

Returns:
columnqueries.tree.ColumnReference

Column reference.