diff --git a/api/s34_sa_cal.py b/api/s34_sa_cal.py index 88705c5..078fcc8 100644 --- a/api/s34_sa_cal.py +++ b/api/s34_sa_cal.py @@ -2,7 +2,7 @@ import sys import json from queue import Queue from .database import * -from .s0_base import get_node_links, get_link_nodes, get_nodes +from .s0_base import get_node_links, get_link_nodes sys.path.append('..') from epanet.epanet import run_project @@ -38,7 +38,7 @@ def _calculate_service_area(name: str, inp, time_index: int = 0) -> dict[str, li elif node2 == cursor and link_flows[link] < 0: queue.put(node1) - return sources + #return sources # calculation concentration concentration_map: dict[str, dict[str, float]] = {} @@ -111,11 +111,7 @@ def _calculate_service_area(name: str, inp, time_index: int = 0) -> dict[str, li source_to_main_node[max_source] = [] source_to_main_node[max_source].append(node) - sas: list[dict[str, Any]] = [] - for source, nodes in source_to_main_node.items(): - sas.append({ 'source': source, 'nodes': nodes }) - - return { 'service_areas' : sas, 'concentrations': concentration_map } + return source_to_main_node def calculate_service_area(name: str) -> list[dict[str, list[str]]]: diff --git a/dev.py b/dev.py index 9d4df83..fb603c1 100644 --- a/dev.py +++ b/dev.py @@ -5,6 +5,17 @@ p = 'dev' read_inp(p, f'./inp/net3.inp', '3') open_project(p) -add_region(p, ChangeSet({'id': 'r', 'boundary': [(24.614,13.087), (24.835,11.069), (26.144,10.747), (27.290,11.543), (25.726,12.987), (24.614,13.087)]})) -links = get_links_on_region_boundary(p, 'r') -print(links) \ No newline at end of file +sass = calculate_service_area(p) +assert len(sass) == 25 + +assert sass[0]['River'] == ['River', '60', '61', '123', '601'] +assert sass[0]['3'] == ['121', '120', '119', '117', '257', '151', '157', '115', '259', '261', '149', '159', '111', '113', '263', '147', '161', '197', '193', '105', '145', '163', '195', '191', '267', '107', '141', '164', '265', '187', '189', '143', '166', '169', '204', '15', '167', '171', '269', '173', '271', '199', '201', '203', '3', '20', '127', '125', '129', '153', '131', '139'] +assert sass[0]['1'] == ['185', '184', '205', '273', '1', '40', '179', '177', '183', '181', '35'] +assert sass[0]['2'] == ['207', '275', '2', '50', '255', '247', '253', '251', '241', '249', '239', '243', '237', '211', '229', '209', '213', '231', '208', '215', '206', '217', '219', '225'] + +print(sass[1]) +assert sass[0]['River'] == ['River', '60', '61', '123', '601'] +assert sass[0]['3'] == ['121', '120', '119', '117', '257', '151', '157', '115', '259', '261', '149', '159', '111', '113', '263', '147', '161', '197', '193', '145', '163', '195', '191', '141', '164', '265', '187', '143', '166', '169', '267', '204', '15', '167', '171', '269', '173', '199', '201', '203', '3', '20', '127', '125', '129', '153', '131', '139'] +assert sass[0]['Lake'] == ['105', '107', 'Lake', '10', '101', '103', '109'] +assert sass[0]['1'] == ['189', '185', '271', '184', '205', '273', '1', '40', '179', '177', '183', '181', '35'] +assert sass[0]['2'] == ['207', '275', '2', '50', '255', '247', '253', '251', '241', '249', '239', '243', '237', '211', '229', '209', '213', '231', '208', '215', '206', '217', '219', '225'] diff --git a/test_tjnetwork.py b/test_tjnetwork.py index b893cdb..03055e4 100644 --- a/test_tjnetwork.py +++ b/test_tjnetwork.py @@ -6209,9 +6209,17 @@ class TestApi: sass = calculate_service_area(p) assert len(sass) == 25 - assert sass[0] == {'River': ['River', '60', '61', '123', '601', '121', '120', '119', '117', '257', '151', '157', '115', '259', '261', '149', '159', '111', '113', '263', '147', '161', '197', '193', '105', '145', '163', '195', '191', '267', '107', '141', '164', '265', '187', '189', '143', '166', '169', '204', '15', '167', '171', '269', '185', '173', '271', '184', '199', '205', '201', '207', '273', '203', '275'], '1': ['1', '40', '179', '177', '183', '181', '185', '189', '35', '271', '184', '187', '171', '205', '204', '173', '207', '273', '199', '275', '201', '203'], '2': ['2', '50', '255', '247', '253', '251', '241', '249', '239', '243', '237', '211', '229', '209', '213', '231', '208', '215', '206', '217', '207', '219', '225', '275', '201', '203'], '3': ['3', '20', '127', '125', '129', '121', '153', '131', '139', '120', '119', '151', '141', '117', '257', '157', '149', '143', '115', '259', '261', '159', '147', '15', '111', '113', '263', '161', '145', '197', '193', '105', '163', '195', '191', '267', '107', '164', '265', '187', '189', '166', '169', '204', '167', '171', '269', '185', '173', '271', '184', '199', '205', '201', '207', '273', '203', '275']} - assert sass[1] == {'River': ['River', '60', '61', '123', '601', '121', '120', '119', '117', '257', '151', '157', '115', '259', '261', '149', '159', '111', '113', '263', '147', '161', '197', '193', '105', '145', '163', '195', '191', '107', '141', '164', '265', '187', '143', '166', '169', '267', '204', '15', '167', '171', '269', '189', '185', '173', '271', '184', '199', '205', '201', '207', '273', '203', '275'], 'Lake': ['Lake', '10', '101', '103', '105', '109', '107', '111', '115', '113', '197', '193', '191', '187', '204', '185', '184', '205', '207', '273', '275', '199', '201', '203'], '1': ['1', '40', '179', '177', '183', '181', '185', '189', '35', '271', '184', '187', '171', '205', '204', '173', '207', '273', '199', '275', '201', '203'], '2': ['2', '50', '255', '247', '253', '251', '241', '249', '239', '243', '237', '211', '229', '209', '213', '231', '208', '215', '206', '217', '207', '219', '225', '275', '201', '203'], '3': ['3', '20', '127', '125', '129', '121', '153', '131', '139', '120', '119', '151', '141', '117', '257', '157', '149', '143', '115', '259', '261', '159', '147', '15', '111', '113', '263', '161', '145', '197', '193', '105', '163', '195', '191', '107', '164', '265', '187', '166', '169', '267', '204', '167', '171', '269', '189', '185', '173', '271', '184', '199', '205', '201', '207', '273', '203', '275']} + assert sass[0]['River'] == ['River', '60', '61', '123', '601'] + assert sass[0]['3'] == ['121', '120', '119', '117', '257', '151', '157', '115', '259', '261', '149', '159', '111', '113', '263', '147', '161', '197', '193', '105', '145', '163', '195', '191', '267', '107', '141', '164', '265', '187', '189', '143', '166', '169', '204', '15', '167', '171', '269', '173', '271', '199', '201', '203', '3', '20', '127', '125', '129', '153', '131', '139'] + assert sass[0]['1'] == ['185', '184', '205', '273', '1', '40', '179', '177', '183', '181', '35'] + assert sass[0]['2'] == ['207', '275', '2', '50', '255', '247', '253', '251', '241', '249', '239', '243', '237', '211', '229', '209', '213', '231', '208', '215', '206', '217', '219', '225'] + assert sass[1]['River'] == ['River', '60', '61', '123', '601'] + assert sass[1]['3'] == ['121', '120', '119', '117', '257', '151', '157', '115', '259', '261', '149', '159', '111', '113', '263', '147', '161', '197', '193', '145', '163', '195', '191', '141', '164', '265', '187', '143', '166', '169', '267', '204', '15', '167', '171', '269', '173', '199', '201', '203', '3', '20', '127', '125', '129', '153', '131', '139'] + assert sass[1]['Lake'] == ['105', '107', 'Lake', '10', '101', '103', '109'] + assert sass[1]['1'] == ['189', '185', '271', '184', '205', '273', '1', '40', '179', '177', '183', '181', '35'] + assert sass[1]['2'] == ['207', '275', '2', '50', '255', '247', '253', '251', '241', '249', '239', '243', '237', '211', '229', '209', '213', '231', '208', '215', '206', '217', '219', '225'] + self.leave(p)