public GeoLineSegment resizeFromMiddle(double toLength) { var line2 = ToLine2(); var middlePoint = Line2.Middle(line2.A, line2.B); var geoMiddlePoint = new GeoPoint(First.LatZone, First.LongZone, middlePoint.X, middlePoint.Y); var firstAnchor = new GeoLineSegment(geoMiddlePoint, First); var secondAnchor = new GeoLineSegment(geoMiddlePoint, Second); var firstResSegment = firstAnchor.resizeFromFirst(toLength / 2); var secondResSegment = secondAnchor.resizeFromFirst(toLength / 2); return(new GeoLineSegment(firstResSegment.Second, secondResSegment.Second)); }