Socio-economic indicators evaluation

Read aggregated blocks spatial layer

[1]:
import pandas as pd

blocks_gdf = pd.read_pickle('./../../../data/saint_petersburg/blocks.pickle')

Read drive graph

[2]:
import pickle

with open('./../../../data/saint_petersburg/graph_drive.pickle', "rb") as f:
    graph = pickle.load(f)

Read drive accessibility matrix

[3]:
acc_mx = pd.read_pickle('./../../../data/saint_petersburg/accessibility_matrix_drive.pickle')

General indicators

[4]:
from blocksnet.analysis.indicators.socio_economic import calculate_general_indicators

general_indicators = calculate_general_indicators(blocks_gdf)
general_indicators
[4]:
{Area (km2): 1392.283137517296, Urbanization: 0.3640140273948924}

Demographic indicators

[5]:
from blocksnet.analysis.indicators.socio_economic import calculate_demographic_indicators

demographic_indicators = calculate_demographic_indicators(blocks_gdf)
demographic_indicators
[5]:
{Population: 5477076, Density (people/km2): 3933.880869782465}

Settlement indicators

[6]:
# not calculated within blocksnet

Transport indicators

[7]:
from blocksnet.analysis.indicators.socio_economic import calculate_transport_indicators

transport_indicators = calculate_transport_indicators(blocks_gdf, acc_mx, graph)
transport_indicators
[7]:
{Road network density (km/km2): 8.875121375198045,
 Settlements connectivity: 0.49947916666666664,
 Road network length (km): 12356.681834107552,
 Fuel stations count: 505,
 Average fuel station accessibility (h): 0.0911865234375,
 Railway stops count: 44,
 Average railway stop accessibility (h): 0.1654052734375}

Economic indicators

[8]:
# not calculated within blocksnet

Ecological indicators

[9]:
# not calculated within blocksnet

Engineering indicators

[10]:
from blocksnet.analysis.indicators.socio_economic import calculate_engineering_indicators

tmp_gdf = blocks_gdf.rename(columns={
    'count_school': 'count_treatment_facility',
    'count_kindergarten': 'count_water_intake',
    'count_hairdresser': 'count_gas_distribution',
    'count_fuel': 'count_power_plant',
    'count_park': 'count_reservoir'
})

engineering_indicators = calculate_engineering_indicators(tmp_gdf)
engineering_indicators
[10]:
{Power plant: 505,
 Water intake: 1541,
 Treatment facility: 880,
 Reservoir: 14255,
 Gas distribution: 3876,
 Infrastructure object: 21057}

Social count indicators

[11]:
from blocksnet.analysis.indicators.socio_economic import calculate_social_count_indicators

sc_indicators, missing_sc_indicators = calculate_social_count_indicators(blocks_gdf)
2025-09-30 15:44:10.037 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_college is missing. The indicator is skipped
2025-09-30 15:44:10.038 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_extracurricular is missing. The indicator is skipped
2025-09-30 15:44:10.038 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_ambulance is missing. The indicator is skipped
2025-09-30 15:44:10.039 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_special_medical is missing. The indicator is skipped
2025-09-30 15:44:10.040 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_preventive_medical is missing. The indicator is skipped
2025-09-30 15:44:10.041 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_gym is missing. The indicator is skipped
2025-09-30 15:44:10.041 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_outdoor_sports is missing. The indicator is skipped
2025-09-30 15:44:10.042 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_stadium is missing. The indicator is skipped
2025-09-30 15:44:10.042 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_orphanage is missing. The indicator is skipped
2025-09-30 15:44:10.044 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_nursing_home is missing. The indicator is skipped
2025-09-30 15:44:10.044 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_social_service_center is missing. The indicator is skipped
2025-09-30 15:44:10.045 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_library is missing. The indicator is skipped
2025-09-30 15:44:10.046 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_cultural_center is missing. The indicator is skipped
2025-09-30 15:44:10.047 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_concert_hall is missing. The indicator is skipped
2025-09-30 15:44:10.047 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_ice_arena is missing. The indicator is skipped
2025-09-30 15:44:10.048 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_eco_trail is missing. The indicator is skipped
2025-09-30 15:44:10.048 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_fire_station is missing. The indicator is skipped
2025-09-30 15:44:10.051 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_tourist_base is missing. The indicator is skipped
2025-09-30 15:44:10.052 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_count.core:calculate_social_count_indicators:20 - count_catering is missing. The indicator is skipped
[12]:
sc_indicators
[12]:
{Kindergarten: 1541,
 School: 880,
 University: 226,
 Hospital: 127,
 Polyclinic: 252,
 Sanatorium: 77,
 Pharmacy: 2176,
 Swimming pool: 83,
 Post: 324,
 Bank: 995,
 Multifunctional center: 57,
 Museum: 264,
 Theatre: 112,
 Cinema: 71,
 Mall: 273,
 Park: 14255,
 Beach: 91,
 Police: 343,
 Hotel: 729,
 Hostel: 195}
[13]:
missing_sc_indicators
[13]:
[College,
 Extracurricular,
 Ambulance,
 Special medical,
 Preventive medical,
 Gym,
 Outdoor sports,
 Stadium,
 Orphanage,
 Nursing home,
 Social service center,
 Library,
 Cultural center,
 Concert hall,
 Ice arena,
 Eco trail,
 Fire station,
 Tourist base,
 Catering]

Social provision indicators

[14]:
from blocksnet.analysis.indicators.socio_economic import calculate_social_provision_indicators

sp_indicators, missing_sp_indicators = calculate_social_provision_indicators(blocks_gdf)
2025-09-30 15:44:10.121 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - college not found in config. The indicator is skipped
2025-09-30 15:44:10.138 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - extracurricular not found in config. The indicator is skipped
2025-09-30 15:44:10.169 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - ambulance not found in config. The indicator is skipped
2025-09-30 15:44:10.187 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - special_medical not found in config. The indicator is skipped
2025-09-30 15:44:10.188 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - preventive_medical not found in config. The indicator is skipped
2025-09-30 15:44:10.206 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - gym not found in config. The indicator is skipped
2025-09-30 15:44:10.223 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - outdoor_sports not found in config. The indicator is skipped
2025-09-30 15:44:10.224 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:24 - capacity_stadium is missing. The indicator is skipped
2025-09-30 15:44:10.224 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - orphanage not found in config. The indicator is skipped
2025-09-30 15:44:10.225 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:24 - capacity_nursing_home is missing. The indicator is skipped
2025-09-30 15:44:10.226 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - social_service_center not found in config. The indicator is skipped
2025-09-30 15:44:10.274 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:24 - capacity_library is missing. The indicator is skipped
2025-09-30 15:44:10.309 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - cultural_center not found in config. The indicator is skipped
2025-09-30 15:44:10.325 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - concert_hall not found in config. The indicator is skipped
2025-09-30 15:44:10.326 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - ice_arena not found in config. The indicator is skipped
2025-09-30 15:44:10.373 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - eco_trail not found in config. The indicator is skipped
2025-09-30 15:44:10.374 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - fire_station not found in config. The indicator is skipped
2025-09-30 15:44:10.419 | WARNING  | blocksnet.analysis.indicators.socio_economic.social_provision.core:calculate_social_provision_indicators:16 - tourist_base not found in config. The indicator is skipped
[15]:
sp_indicators
[15]:
{Kindergarten: 0.9810360465116279,
 School: 1.0,
 University: 0.04035574866325315,
 Hospital: 0.19087287708999667,
 Polyclinic: 0.11763323905314495,
 Sanatorium: 1.0,
 Pharmacy: 1.0,
 Swimming pool: 1.0,
 Post: 1.0,
 Bank: 0.6822466367713005,
 Multifunctional center: 1.0,
 Museum: 0.017770732503950257,
 Theatre: 0.7996120492481386,
 Cinema: 0.9742653088451105,
 Mall: 0.016805370157151195,
 Park: 0.049796142011741075,
 Beach: 1.0,
 Police: 0.6625228014999396,
 Hotel: 0.09557373692721118,
 Hostel: 1.0}
[17]:
missing_sp_indicators
[17]:
[College,
 Extracurricular,
 Ambulance,
 Special medical,
 Preventive medical,
 Gym,
 Outdoor sports,
 Stadium,
 Orphanage,
 Nursing home,
 Social service center,
 Library,
 Cultural center,
 Concert hall,
 Ice arena,
 Eco trail,
 Fire station,
 Tourist base]