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]