Exemple #1
0
        } /* AddDeploymentToSeries */

        /// <summary>
        /// Load GPS data that covers the time span of all the deployments that are being plotted.
        /// </summary>
        private void  AddCruiseToSeries()
        {
            DateTime gpsDateTimeStart = DateTime.MaxValue;
            DateTime gpsDateTimeEnd   = DateTime.MinValue;

            foreach (DataSeriesToPlot dsp in series)
            {
                if (dsp.gpsDateTimeStart < gpsDateTimeStart)
                {
                    gpsDateTimeStart = dsp.gpsDateTimeStart;
                }

                if (dsp.gpsDateTimeEnd > gpsDateTimeEnd)
                {
                    gpsDateTimeEnd = dsp.gpsDateTimeEnd;
                }
            }

            int totalSecs        = (int)(gpsDateTimeEnd - gpsDateTimeStart).TotalSeconds;
            int proposedInterval = totalSecs / 1500;

            if (proposedInterval < timeInterval)
            {
                proposedInterval = timeInterval;
            }

            PicesGPSDataPointList gpsData = threadConn.GpsDataQueryByIntervals(cruiseName, gpsDateTimeStart, gpsDateTimeEnd, proposedInterval);

            if (gpsData != null)
            {
                DataSeriesToPlot seriesToPlot = new DataSeriesToPlot(cruise, gpsData);
                seriesToPlot.LocateGPSBounds();
                goalie.StartBlock();
                series.Add(seriesToPlot);
                goalie.EndBlock();
            }
        } /* AddCruiseToSeries */