From 99c82fcf15562f0d500e9fe0616f323674006c52 Mon Sep 17 00:00:00 2001 From: "WQY\\qiong" Date: Fri, 19 May 2023 22:59:25 +0800 Subject: [PATCH] Support inflate delta --- api/s33_dma_gen.py | 8 ++++---- api/s34_sa_gen.py | 4 ++-- api/s35_vd_gen.py | 4 ++-- tjnetwork.py | 16 ++++++++-------- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/api/s33_dma_gen.py b/api/s33_dma_gen.py index 1153ba4..577672f 100644 --- a/api/s33_dma_gen.py +++ b/api/s33_dma_gen.py @@ -4,7 +4,7 @@ from .s33_dma import get_all_district_metering_area_ids, get_all_district_meteri from .batch_exe import execute_batch_command -def generate_district_metering_area(name: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> ChangeSet: +def generate_district_metering_area(name: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB, inflate_delta: float = 0.5) -> ChangeSet: cs = ChangeSet() dmas = get_all_district_metering_areas(name) @@ -21,14 +21,14 @@ def generate_district_metering_area(name: str, part_count: int = 1, part_type: i i = 1 for nodes in calculate_district_metering_area_for_network(name, part_count, part_type): boundary = calculate_boundary(name, nodes) - boundary = inflate_boundary(name, boundary) + boundary = inflate_boundary(name, boundary, inflate_delta) cs.add({ 'type': 'district_metering_area', 'id': f"DMA_1_{i}", 'boundary': boundary, 'parent': None, 'nodes': nodes }) i += 1 return execute_batch_command(name, cs) -def generate_sub_district_metering_area(name: str, dma: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> ChangeSet: +def generate_sub_district_metering_area(name: str, dma: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB, inflate_delta: float = 0.5) -> ChangeSet: cs = ChangeSet() for id in get_all_district_metering_area_ids(name): @@ -40,7 +40,7 @@ def generate_sub_district_metering_area(name: str, dma: str, part_count: int = 1 i = 1 for nodes in calculate_district_metering_area_for_region(name, dma, part_count, part_type): boundary = calculate_boundary(name, nodes) - boundary = inflate_boundary(name, boundary) + boundary = inflate_boundary(name, boundary, inflate_delta) cs.add({ 'type': 'district_metering_area', 'id': f"DMA_{level}_{i}", 'boundary': boundary, 'parent': dma, 'nodes': nodes }) i += 1 diff --git a/api/s34_sa_gen.py b/api/s34_sa_gen.py index a500f47..8aaaa00 100644 --- a/api/s34_sa_gen.py +++ b/api/s34_sa_gen.py @@ -3,7 +3,7 @@ from .s34_sa_cal import * from .s34_sa import get_all_service_area_ids from .batch_exe import execute_batch_command -def generate_service_area(name: str) -> ChangeSet: +def generate_service_area(name: str, inflate_delta: float = 0.5) -> ChangeSet: cs = ChangeSet() for id in get_all_service_area_ids(name): @@ -15,7 +15,7 @@ def generate_service_area(name: str) -> ChangeSet: for sas in sass: for source, nodes in sas.items(): boundary = calculate_boundary(name, nodes) - boundary = inflate_boundary(name, boundary) + boundary = inflate_boundary(name, boundary, inflate_delta) cs.add({ 'type': 'service_area', 'id': f"SA_{source}_{time_index}", 'boundary': boundary, 'time_index': time_index, 'source': source, 'nodes': nodes }) time_index += 1 diff --git a/api/s35_vd_gen.py b/api/s35_vd_gen.py index 639ffd1..6a3bc72 100644 --- a/api/s35_vd_gen.py +++ b/api/s35_vd_gen.py @@ -3,7 +3,7 @@ from .s35_vd_cal import * from .s35_vd import get_all_virtual_district_ids from .batch_exe import execute_batch_command -def generate_virtual_district(name: str, centers: list[str]) -> ChangeSet: +def generate_virtual_district(name: str, centers: list[str], inflate_delta: float = 0.5) -> ChangeSet: cs = ChangeSet() for id in get_all_virtual_district_ids(name): @@ -15,7 +15,7 @@ def generate_virtual_district(name: str, centers: list[str]) -> ChangeSet: center = vd['center'] nodes = vd['nodes'] boundary = calculate_boundary(name, nodes) - boundary = inflate_boundary(name, boundary) + boundary = inflate_boundary(name, boundary, inflate_delta) cs.add({ 'type': 'virtual_district', 'id': f"VD_{center}", 'boundary': boundary, 'center': center, 'nodes': nodes }) return execute_batch_command(name, cs) diff --git a/tjnetwork.py b/tjnetwork.py index ac12cb3..3600578 100644 --- a/tjnetwork.py +++ b/tjnetwork.py @@ -1057,11 +1057,11 @@ def get_all_district_metering_area_ids(name: str) -> list[str]: def get_all_district_metering_areas(name: str) -> list[dict[str, Any]]: return api.get_all_district_metering_areas(name) -def generate_district_metering_area(name: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> ChangeSet: - return api.generate_district_metering_area(name, part_count, part_type) +def generate_district_metering_area(name: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB, inflate_delta: float = 0.5) -> ChangeSet: + return api.generate_district_metering_area(name, part_count, part_type, inflate_delta) -def generate_sub_district_metering_area(name: str, dma: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> ChangeSet: - return api.generate_sub_district_metering_area(name, dma, part_count, part_type) +def generate_sub_district_metering_area(name: str, dma: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB, inflate_delta: float = 0.5) -> ChangeSet: + return api.generate_sub_district_metering_area(name, dma, part_count, part_type, inflate_delta) ############################################################ @@ -1092,8 +1092,8 @@ def get_all_service_area_ids(name: str) -> list[str]: def get_all_service_areas(name: str) -> list[dict[str, Any]]: return api.get_all_service_areas(name) -def generate_service_area(name: str) -> ChangeSet: - return api.generate_service_area(name) +def generate_service_area(name: str, inflate_delta: float = 0.5) -> ChangeSet: + return api.generate_service_area(name, inflate_delta) ############################################################ @@ -1124,8 +1124,8 @@ def get_all_virtual_district_ids(name: str) -> list[str]: def get_all_virtual_districts(name: str) -> list[dict[str, Any]]: return api.get_all_virtual_districts(name) -def generate_virtual_district(name: str, centers: list[str]) -> ChangeSet: - return api.generate_virtual_district(name, centers) +def generate_virtual_district(name: str, centers: list[str], inflate_delta: float = 0.5) -> ChangeSet: + return api.generate_virtual_district(name, centers, inflate_delta) ############################################################