Merge "Fix bug when calculating new coordinates in split_fiber"

This commit is contained in:
Jan Kundrát
2020-08-31 21:21:42 +00:00
committed by Gerrit Code Review
2 changed files with 2429 additions and 2431 deletions

View File

@@ -8,7 +8,6 @@ gnpy.core.network
Working with networks which consist of network elements Working with networks which consist of network elements
''' '''
from scipy.interpolate import interp1d
from operator import attrgetter from operator import attrgetter
from gnpy.core import ansi_escapes, elements from gnpy.core import ansi_escapes, elements
from gnpy.core.exceptions import ConfigurationError, NetworkTopologyError from gnpy.core.exceptions import ConfigurationError, NetworkTopologyError
@@ -380,9 +379,8 @@ def split_fiber(network, fiber, bounds, target_length, equipment):
fiber.params.length = new_length fiber.params.length = new_length
f = interp1d([prev_node.lng, next_node.lng], [prev_node.lat, next_node.lat])
xpos = [prev_node.lng + (next_node.lng - prev_node.lng) * (n + 1) / (n_spans + 1) for n in range(n_spans)] xpos = [prev_node.lng + (next_node.lng - prev_node.lng) * (n + 1) / (n_spans + 1) for n in range(n_spans)]
ypos = f(xpos) ypos = [prev_node.lat + (next_node.lat - prev_node.lat) * (n + 1) / (n_spans + 1) for n in range(n_spans)]
for span, lng, lat in zip(range(n_spans), xpos, ypos): for span, lng, lat in zip(range(n_spans), xpos, ypos):
new_span = elements.Fiber(uid=f'{fiber.uid}_({span+1}/{n_spans})', new_span = elements.Fiber(uid=f'{fiber.uid}_({span+1}/{n_spans})',
type_variety=fiber.type_variety, type_variety=fiber.type_variety,

File diff suppressed because it is too large Load Diff