Add more api for dma
This commit is contained in:
@@ -145,7 +145,7 @@ from .s32_region import get_region_schema, get_region, set_region, add_region, d
|
||||
from .s32_water_distribution import calculate_demand_to_nodes, calculate_demand_to_region, calculate_demand_to_network
|
||||
|
||||
from .s33_district_metering_area import PARTITION_TYPE_RB, PARTITION_TYPE_KWAY
|
||||
from .s33_district_metering_area import calculate_district_metering_area
|
||||
from .s33_district_metering_area import calculate_district_metering_area_for_nodes, calculate_district_metering_area_for_region, calculate_district_metering_area_for_network
|
||||
|
||||
from .s34_service_area import calculate_service_area
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import ctypes
|
||||
import os
|
||||
from .database import *
|
||||
from .s0_base import get_nodes
|
||||
from .s32_region_util import get_nodes_in_region
|
||||
from .s32_region_util import Topology
|
||||
|
||||
|
||||
@@ -8,7 +10,7 @@ PARTITION_TYPE_RB = 0
|
||||
PARTITION_TYPE_KWAY = 1
|
||||
|
||||
|
||||
def calculate_district_metering_area(name: str, nodes: list[str], part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> list[list[str]]:
|
||||
def calculate_district_metering_area_for_nodes(name: str, nodes: list[str], part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> list[list[str]]:
|
||||
if part_type != PARTITION_TYPE_RB and part_type != PARTITION_TYPE_KWAY:
|
||||
return []
|
||||
if part_count <= 0:
|
||||
@@ -83,3 +85,13 @@ def calculate_district_metering_area(name: str, nodes: list[str], part_count: in
|
||||
dmas[c_out_part[i]].append(t_node_list[i])
|
||||
|
||||
return dmas
|
||||
|
||||
|
||||
def calculate_district_metering_area_for_region(name: str, region: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> list[list[str]]:
|
||||
nodes = get_nodes_in_region(name, region)
|
||||
return calculate_district_metering_area_for_nodes(name, nodes, part_count, part_type)
|
||||
|
||||
|
||||
def calculate_district_metering_area_for_network(name: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> list[list[str]]:
|
||||
nodes = get_nodes(name)
|
||||
return calculate_district_metering_area_for_nodes(name, nodes, part_count, part_type)
|
||||
|
||||
Reference in New Issue
Block a user