private double calculateTotalDistance(BasicGeoposition lastPos, BasicGeoposition newPos) { if (newPos.Equals(lastPos)) { return(this.dist); } DistanceUtil util = new DistanceUtil(); double tmpDist = util.distance(lastPosition.Latitude, lastPosition.Longitude, newPos.Latitude, newPos.Longitude, 'K'); return(this.dist + tmpDist); }
private GeoboundingBox GetCoordinateGeoboundingBox(IEnumerable <BasicGeoposition> coords) { var topLeft = new BasicGeoposition { Altitude = 0.0, Longitude = coords.Min(x => x.Longitude), Latitude = coords.Max(x => x.Latitude) }; var bottomRight = new BasicGeoposition { Altitude = 0.0, Longitude = coords.Max(x => x.Longitude), Latitude = coords.Min(x => x.Latitude) }; // This is only here because it SEEMS like in the _incredibly_ rare case that my GeoboundingBox is a point, // the whole calculation goes crazy, and you enter up with a .Center in Alaska if (topLeft.Equals(bottomRight)) { bottomRight.Latitude -= 0.000001; } return(new GeoboundingBox(topLeft, bottomRight)); }
private double calculateTotalDistance(BasicGeoposition lastPos, BasicGeoposition newPos) { if (newPos.Equals(lastPos)) { return this.dist; } DistanceUtil util = new DistanceUtil(); double tmpDist = util.distance(lastPosition.Latitude, lastPosition.Longitude, newPos.Latitude, newPos.Longitude, 'K'); return this.dist + tmpDist; }