Newer
Older
import networkx as nx
from evrouting.T import Wh, ChargingCoefficient
TemplateEdge = namedtuple('Edge', ['u', 'v', 'distance', 'consumption'])
TemplateNode = namedtuple('Node', ['label', 'charging_coeff'], defaults=(None, None))
NodeData = Dict
EdgeData = Dict
Node = int
Edge = Tuple[int, int]
def node_convert(n: TemplateNode) -> NodeData:
def edge_convert(e: TemplateEdge) -> EdgeData:
return {'weight': e.distance, 'c': e.consumption}
def consumption(G: nx.Graph, u: Node, v: Node) -> Wh:
return G.edges[u, v]['c']
def charging_cofficient(G: nx.Graph, n: Node) -> ChargingCoefficient:
return G.nodes[n]['c']