/// <summary> /// Generations trajectory station data. /// </summary> /// <param name="numOfStations">The number of stations.</param> /// <param name="startMd">The start md.</param> /// <param name="mdUom">The MD index uom.</param> /// <param name="tvdUom">The Tvd uom.</param> /// <param name="angleUom">The angle uom.</param> /// <param name="includeExtra">True if to generate extra information for trajectory station.</param> /// <returns>The trajectoryStation collection.</returns> public List <TrajectoryStation> GenerationStations(int numOfStations, double startMd, MeasuredDepthUom mdUom = MdUom, WellVerticalCoordinateUom tvdUom = TvdUom, PlaneAngleUom angleUom = AngleUom, bool includeExtra = false) { var stations = new List <TrajectoryStation>(); var random = new Random(numOfStations * 2); var now = DateTimeOffset.Now.AddDays(-1); for (var i = 0; i < numOfStations; i++) { var station = new TrajectoryStation { Uid = StationUidPrefix + (i + 1), TypeTrajStation = i == 0 ? TrajStationType.tieinpoint : TrajStationType.magneticMWD, MD = new MeasuredDepthCoord { Uom = mdUom, Value = startMd }, Tvd = new WellVerticalDepthCoord() { Uom = tvdUom, Value = startMd == 0 ? 0 : startMd - 0.1 }, Azi = new PlaneAngleMeasure { Uom = angleUom, Value = startMd == 0 ? 0 : random.NextDouble() }, Incl = new PlaneAngleMeasure { Uom = angleUom, Value = startMd == 0 ? 0 : random.NextDouble() }, DateTimeStn = now.AddMinutes(i) }; if (includeExtra) { station.Mtf = new PlaneAngleMeasure { Uom = angleUom, Value = random.NextDouble() }; station.MDDelta = new MeasuredDepthCoord { Uom = MeasuredDepthUom.m, Value = 0 }; station.StatusTrajStation = TrajStationStatus.position; } stations.Add(station); startMd++; } return(stations); }
/// <summary> /// Generations trajectory station data. /// </summary> /// <param name="numOfStations">The number of stations.</param> /// <param name="startMd">The start md.</param> /// <param name="mdUom">The MD index uom.</param> /// <param name="tvdUom">The Tvd uom.</param> /// <param name="angleUom">The angle uom.</param> /// <param name="inCludeExtra">True if to generate extra information for trajectory station.</param> /// <returns>The trajectoryStation collection.</returns> public List <TrajectoryStation> TrajectoryStations(int numOfStations, double startMd, MeasuredDepthUom mdUom = MdUom, WellVerticalCoordinateUom tvdUom = TvdUom, PlaneAngleUom angleUom = AngleUom, bool inCludeExtra = false) { return(TrajectoryGenerator.GenerationStations(numOfStations, startMd, mdUom, tvdUom, angleUom, inCludeExtra)); }