Socio-economic indicators

[1]:
from blocksnet.analysis.indicators.socio_economic import SocioEconomicAggregator

aggregator = SocioEconomicAggregator()
[2]:
from blocksnet.analysis.indicators.socio_economic import (
    GeneralIndicator,
    DemographicIndicator,
    SettlementIndicator,
    TransportIndicator,
    EconomicIndicator,
    EcologicalIndicator,
    EngineeringIndicator,
    SocialCountIndicator
)

count = 0
for enum in [
    GeneralIndicator,
    DemographicIndicator,
    SettlementIndicator,
    TransportIndicator,
    EconomicIndicator,
    EcologicalIndicator,
    EngineeringIndicator,
    SocialCountIndicator
]:
    count += len([e for e in enum if e.meta.aggregatable])

print(f"Количество индикаторов для агрегации: {count}")
Количество индикаторов для агрегации: 87
[5]:
count = 0
for enum in [
    EngineeringIndicator,
    SocialCountIndicator
]:
    count += len(enum)

print(f"Количество индикаторов для оценки: {count}")
Количество индикаторов для оценки: 46
[3]:
aggregator.add(GeneralIndicator.AREA, 10, 20, 100)
[4]:
aggregator.aggregate(GeneralIndicator.AREA)
[4]:
{'child_value_before': 10,
 'child_value_after': 20,
 'parent_value_before': 100,
 'parent_value_after': 110}