def setup(self): test_file_path = mm.datasets.get_path("bubenec") self.df_buildings = gpd.read_file(test_file_path, layer="buildings") self.df_streets = gpd.read_file(test_file_path, layer="streets") self.df_tessellation = gpd.read_file(test_file_path, layer="tessellation") self.df_streets["nID"] = mm.unique_id(self.df_streets) self.df_buildings["height"] = np.linspace(10.0, 30.0, 144) self.df_tessellation["area"] = self.df_tessellation.geometry.area self.df_buildings["area"] = self.df_buildings.geometry.area self.df_buildings["fl_area"] = mm.FloorArea(self.df_buildings, "height").series self.df_buildings["nID"] = mm.get_network_id(self.df_buildings, self.df_streets, "nID") blocks = mm.Blocks(self.df_tessellation, self.df_streets, self.df_buildings, "bID", "uID") self.blocks = blocks.blocks self.df_buildings["bID"] = blocks.buildings_id self.df_tessellation["bID"] = blocks.tessellation_id self.swb = Queen.from_dataframe(self.df_buildings) self.sw5 = mm.sw_high(k=5, gdf=self.df_tessellation, ids="uID") self.sw3 = mm.sw_high(k=3, gdf=self.df_tessellation, ids="uID") self.sws = mm.sw_high(k=2, gdf=self.df_streets) nx = mm.gdf_to_nx(self.df_streets) nx = mm.node_degree(nx) self.nodes, self.edges, W = mm.nx_to_gdf(nx, spatial_weights=True) self.swn = mm.sw_high(k=3, weights=W)
def test_FloorArea(self): self.df_buildings["area"] = self.df_buildings.geometry.area self.df_buildings["floor_area"] = mm.FloorArea(self.df_buildings, "height", "area").series check = self.df_buildings.geometry[0].area * ( self.df_buildings.height[0] // 3) assert self.df_buildings["floor_area"][0] == check area = self.df_buildings.geometry.area height = np.linspace(10.0, 30.0, 144) self.df_buildings["floor_area"] = mm.FloorArea(self.df_buildings, height, area).series assert self.df_buildings["floor_area"][0] == check self.df_buildings["floor_area"] = mm.FloorArea(self.df_buildings, "height").series assert self.df_buildings["floor_area"][0] == check with pytest.raises(KeyError): self.df_buildings["floor_area"] = mm.FloorArea( self.df_buildings, "height", "nonexistent")
def setup_method(self): test_file_path = mm.datasets.get_path("bubenec") self.df_buildings = gpd.read_file(test_file_path, layer="buildings") self.df_streets = gpd.read_file(test_file_path, layer="streets") self.df_tessellation = gpd.read_file(test_file_path, layer="tessellation") self.df_streets["nID"] = mm.unique_id(self.df_streets) self.df_buildings["height"] = np.linspace(10.0, 30.0, 144) self.df_tessellation["area"] = self.df_tessellation.geometry.area self.df_buildings["area"] = self.df_buildings.geometry.area self.df_buildings["fl_area"] = mm.FloorArea(self.df_buildings, "height").series self.df_buildings["nID"] = mm.get_network_id( self.df_buildings, self.df_streets, "nID" ) blocks = mm.Blocks( self.df_tessellation, self.df_streets, self.df_buildings, "bID", "uID" ) self.blocks = blocks.blocks self.df_buildings["bID"] = blocks.buildings_id self.df_tessellation["bID"] = blocks.tessellation_id