Source code for blocksnet.method.connectivity.connectivity

import statistics

import geopandas as gpd

from ..base_method import BaseMethod


[docs]class Connectivity(BaseMethod):
[docs] @staticmethod def plot(gdf: gpd.GeoDataFrame): gdf.plot(column="median", legend=True, cmap="cool").set_axis_off()
[docs] def calculate(self): blocks_gdf = self.city_model.get_blocks_gdf()[["geometry"]] blocks_gdf["median"] = 0 for block in self.city_model.blocks: out_edges = self.city_model.get_out_edges(block) filter_edges = filter(lambda edge: block != edge[1], out_edges) map_edges = map(lambda edge: edge[2], filter_edges) # only weights left blocks_gdf.loc[block.id, "median"] = statistics.median(map_edges) # median value set return blocks_gdf