cartagen.beams_displacement#
- beams_displacement(lines, distance, E=1.0, A=1.0, I=1.0, gamma=0.5, mu=0.1, preserve_extremities=True, iterations=100, verbose=False)#
Displace lines using the elastic beams algorithm.
This algorithm was proposed by Mats Bader during his PhD supervised by Mathieu Barrault and Robert Weibel [1]. The algorithm models each polyline as an elastic beam and computes displacements based on internal beam forces and external proximity forces from other polylines. The forces are computed based on proximity between those line features.
- Parameters:
lines (
GeoDataFrameofLineString) – The lines to displace.distance (
float) – The minimum distance that should separate each line in the output.E (
float, optional) – Modulus of elasticity (material constant).A (
float, optional) – Cross-sectional area of the beam.I (
float, optional) – Moment of inertia of the beam.gamma (
float, optional) – Time step / inertia factor.mu (
float, optional) – Force multiplier.preserve_extremities (
bool, optional) – Fix the first and last vertex of line if set to True.iterations (
int, optional) – Number of iterations for convergence.verbose (
bool, optional) – If True, prints iteration details.
- Returns:
References