Support inflate delta

This commit is contained in:
WQY\qiong
2023-05-19 22:59:25 +08:00
parent 4e14b9398d
commit 99c82fcf15
4 changed files with 16 additions and 16 deletions

View File

@@ -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