route in progress, region stitching is disabled by default

This commit is contained in:
Anton Martynenko
2025-11-01 15:55:41 +01:00
parent b532f1335e
commit 8714a4817d
23 changed files with 743 additions and 18 deletions
@@ -83,4 +83,39 @@ public static class GeoUtils
return (minLat, maxLat, minLon, maxLon);
}
public static List<GeoPoint> CalculateIntermediatePoints(GeoPoint start, GeoPoint end, double maxSpacingMeters)
{
var direction = start.DirectionTo(end);
var distance = direction.Distance;
if (distance <= maxSpacingMeters)
{
return new List<GeoPoint>();
}
var numSegments = (int)Math.Ceiling(distance / maxSpacingMeters);
var actualSpacing = distance / numSegments;
var intermediatePoints = new List<GeoPoint>();
for (int i = 1; i < numSegments; i++)
{
var segmentDistance = actualSpacing * i;
var intermediateDirection = new Direction
{
Distance = segmentDistance,
Azimuth = direction.Azimuth
};
var intermediatePoint = start.GoDirection(intermediateDirection);
intermediatePoints.Add(intermediatePoint);
}
return intermediatePoints;
}
public static double CalculateDistance(GeoPoint p1, GeoPoint p2)
{
return p1.DirectionTo(p2).Distance;
}
}