def linearize(self, ideal_path, zone):
""" Projects 2D positions into an 'ideal' linear trajectory.
Parameters
----------
ideal_path : shapely.LineString
zone : shapely.Polygon
Returns
-------
pos : nept.Position
1D position.
"""
zpos = []
for point_x, point_y in zip(self.x, self.y):
point = Point([point_x, point_y])
if zone.contains(point):
zpos.append(ideal_path.project(Point(point_x, point_y)))
zpos = np.array(zpos)
return Position(zpos, self.time)
评论列表
文章目录