Network map widget¶
Network map is an interactive widget that displays a network’s substations and lines on a map. If the network does not contain geo data (in its substation’s and line’s IIDM extensions), the map will be empty. The widget allows you to pan and zoom the map. A filter on the network’s nominal voltages list can be used to improve the readability of the map, in case of a large network.
The following code, to be run in a notebook, first creates a network, then displays the Network map widget on it.
Please note that substation’s and line’s IIDM extensions are only available in PyPowSyBl starting from v1.5.0; With earlier versions of PyPowSyBl the map would be empty.
import pypowsybl.network as pn
from pypowsybl_jupyter import NetworkMapWidget
# load a CGMES file containing a GL profile (Graphical Layout) and run a LF
network1 = pn.load('./data/MicroGridTestConfiguration_T4_BE_BB_Complete_v2.zip', {'iidm.import.cgmes.post-processors': 'cgmesGLImport'})
NetworkMapWidget(network1)

A click on a substation pops up a list of its VL.

Widget API¶
NetworkMapWidget(network:Network, sub_id:str = None, use_name:bool = True, display_lines:bool = True, use_line_geodata:bool = False, nominal_voltages_top_tiers_filter = -1, dark_mode:bool = False, on_hover_func: OnHoverFuncType = None) -> NetworkMapWidget
network: the input network.
sub_id: if not None, centers the network on the substation with the given substation id. Default is None.
use_name: When True (default) the widget displays network’s elements names (if available, otherwise their ids); When False, the widget displays network’s elements ids.
display_lines: When True (default) the network lines are displayed on the map. When false, the widget displays only the substations.
use_line_geodata: When False (default) the widget does not use the network’s line geodata extensions; Each line is drawn as a straight line connecting two substations.
nominal_voltages_top_tiers_filter: filters the elements in the map based on the network’s top nominal voltages. N displays the top n nominal voltages; -1 (default) displays all.
dark_mode: When True, sets the widget’s display theme to dark (default is False).
on_hover_func: a callback function that is invoked when hovering on the network equipments. The function parameters (OnHoverFuncType = Callable[[str], str]) is the line id; It must return an HTML string. None disables the hovering feature. Note that currently the map viewer component supports hovering on lines.
Customize widget’s interactions¶
It is possible to customize the widget’s behaviour when one entry is clicked in a substation’s voltage levels popup. This feature could be used to create more complex interactions (e.g., by integrating other widgets).
Use these widget’s method to register a callback on a specific event:
on_selectvl
The network explorer demonstrates the approach.
Example: the code below activate a callback when a VL entry is clicked in the VL list popup. This example just prints the voltage level.
map_widget = NetworkMapWidget(network)
map_widget.on_selectvl(lambda event : print_infos('Selected VL : ' + event.selected_vl))