ClassInferenceTransformer#

class ClassInferenceTransformer[source]#

Bases: VectorTransformer

Infers missing class_ids from GeoJSON features.

Rules:
  1. If class_id is in feature[‘properties’], use it.

  2. If class_config is set and class_name or label are in

    feature[‘properties’] and in class_config, use corresponding class_id.

  3. If class_id_to_filter is set and filter is true when applied to

    feature, use corresponding class_id.

  4. Otherwise, return the default_class_id

__init__(default_class_id: Optional[int], class_config: Optional[ClassConfig] = None, class_id_to_filter: Optional[Dict[int, list]] = None)[source]#
Parameters

Methods

__init__(default_class_id[, class_config, ...])

infer_feature_class_id(feature, default_class_id)

Infer the class_id for a GeoJSON feature.

transform(geojson[, crs_transformer])

Add class_id to feature properties and drop features with no class.

__init__(default_class_id: Optional[int], class_config: Optional[ClassConfig] = None, class_id_to_filter: Optional[Dict[int, list]] = None)[source]#
Parameters
static infer_feature_class_id(feature: dict, default_class_id: Optional[int], class_config: Optional[ClassConfig] = None, class_id_to_filter: Optional[Dict[int, list]] = None) Optional[int][source]#

Infer the class_id for a GeoJSON feature.

Rules:
  1. If class_id is in feature[‘properties’], use it.

  2. If class_config is set and class_name or label are in

    feature[‘properties’] and in class_config, use corresponding class_id.

  3. If class_id_to_filter is set and filter is true when applied to

    feature, use corresponding class_id.

  4. Otherwise, return the default_class_id.

Parameters
Returns

Inferred class ID.

Return type

Optional[int]

transform(geojson: dict, crs_transformer: Optional[CRSTransformer] = None) dict[source]#

Add class_id to feature properties and drop features with no class.

For each feature in geojson, the class_id is inferred and is set into feature[‘properties’]. If the class_id is None (because none of the rules apply and the default_class_id is None), the feature is dropped.

Parameters
Return type

dict