Пример #1
0
 /// <summary>
 /// Add Water Mass Instrument data set.
 /// </summary>
 /// <param name="ensemble">Ensemble to add the dataset.</param>
 /// <param name="numBeams">Number of beam sin the dataset.</param>
 public static void AddWaterMassInstrument(ref DataSet.Ensemble ensemble, int numBeams = DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM)
 {
     ensemble.AddInstrumentWaterMassData(DataSet.Ensemble.DATATYPE_FLOAT,
                                         DataSet.InstrumentWaterMassDataSet.NUM_DATA_ELEMENTS, // Num elements (Bins)
                                         DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM,              // Num Beams
                                         DataSet.Ensemble.DEFAULT_IMAG,                        // Image
                                         DataSet.Ensemble.DEFAULT_NAME_LENGTH,                 // Name length
                                         DataSet.Ensemble.WaterMassInstrumentID,               // Name (Dataset ID)
                                         0.0f,                                                 // Water Mass East Velocity in m/s.
                                         0.0f,                                                 // Water Mass North Velocity in m/s.
                                         0.0f,                                                 // Water Mass Vertical Velocity in m/s.
                                         0.0f,                                                 // Water Mass Error Velocity in m/s.
                                         0.0f);                                                // Depth layer of the Water Mass measurement in meters.
 }
Пример #2
0
        /// <summary>
        /// Create a dataset.  Set the bottom track instrument velocity and water mass velocity.
        /// </summary>
        /// <param name="sentence">Sentence containing DVL data.</param>
        /// <returns>Dataset with values set.</returns>
        private DataSet.Ensemble CreateDataSet(Prti03Sentence sentence)
        {
            DataSet.Ensemble adcpData = new DataSet.Ensemble();

            // Add the Ensemble number to EnsembleDataSet
            adcpData.AddEnsembleData(sentence);

            // Add the Temp to AncillaryDataSet
            adcpData.AddAncillaryData(sentence);

            // Add Bottom Track data
            adcpData.AddBottomTrackData(sentence);

            // Add Water Mass data
            adcpData.AddInstrumentWaterMassData(sentence);

            return(adcpData);
        }
Пример #3
0
        public void TestConstructorData()
        {
            // Create dataset
            DataSet.Ensemble adcpData = new DataSet.Ensemble();

            adcpData.AddInstrumentWaterMassData(DataSet.Ensemble.DATATYPE_FLOAT, DataSet.EarthWaterMassDataSet.NUM_DATA_ELEMENTS, DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, DataSet.Ensemble.DEFAULT_IMAG, DataSet.Ensemble.DEFAULT_NAME_LENGTH, DataSet.Ensemble.WaterMassInstrumentID,
                0.3f,
                -0.2f,
                0.4f,
                0.2f,
                0.1f);

            Assert.IsTrue(adcpData.IsInstrumentWaterMassAvail, "Instrument Water Mass not added to dataset");

            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityX, (new DotSpatial.Positioning.Speed(300, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, 0.00001, "Instrument Water Mass East not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityY, (new DotSpatial.Positioning.Speed(-200, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, 0.00001, "Instrument Water Mass North not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityZ, (new DotSpatial.Positioning.Speed(400, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, 0.00001, "Instrument Water Mass Vertical not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityQ, (new DotSpatial.Positioning.Speed(200, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, 0.00001, "Instrument Water Mass Error not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.WaterMassDepthLayer, (new DotSpatial.Positioning.Distance(100, DotSpatial.Positioning.DistanceUnit.Millimeters)).ToMeters().Value, 0.00001, "Instrument Water Mass Depth Layer not properly set.");
        }
        public void TestConstructorData()
        {
            // Create dataset
            DataSet.Ensemble adcpData = new DataSet.Ensemble();

            adcpData.AddInstrumentWaterMassData(DataSet.Ensemble.DATATYPE_FLOAT, DataSet.EarthWaterMassDataSet.NUM_DATA_ELEMENTS, DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, DataSet.Ensemble.DEFAULT_IMAG, DataSet.Ensemble.DEFAULT_NAME_LENGTH, DataSet.Ensemble.WaterMassInstrumentID,
                                                0.3f,
                                                -0.2f,
                                                0.4f,
                                                0.2f,
                                                0.1f);

            Assert.IsTrue(adcpData.IsInstrumentWaterMassAvail, "Instrument Water Mass not added to dataset");

            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityX, (new DotSpatial.Positioning.Speed(300, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, 0.00001, "Instrument Water Mass East not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityY, (new DotSpatial.Positioning.Speed(-200, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, 0.00001, "Instrument Water Mass North not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityZ, (new DotSpatial.Positioning.Speed(400, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, 0.00001, "Instrument Water Mass Vertical not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityQ, (new DotSpatial.Positioning.Speed(200, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, 0.00001, "Instrument Water Mass Error not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.WaterMassDepthLayer, (new DotSpatial.Positioning.Distance(100, DotSpatial.Positioning.DistanceUnit.Millimeters)).ToMeters().Value, 0.00001, "Instrument Water Mass Depth Layer not properly set.");
        }
        public void TestConstructorPrti01entenceData()
        {
            string nmea = "$PRTI01,379550,1,1468,-99999,-99999,-99999,0,300,-200,400,100,0004*20";

            // Create Sentence
            Prti01Sentence sent = new Prti01Sentence(nmea);

            Assert.AreEqual(true, sent.IsValid, "NMEA sentence incorrect");

            // Create dataset
            DataSet.Ensemble adcpData = new DataSet.Ensemble();

            adcpData.AddInstrumentWaterMassData(sent);

            Assert.IsTrue(adcpData.IsInstrumentWaterMassAvail, "Instrument Water Mass not added to dataset");

            Assert.AreEqual((new DotSpatial.Positioning.Speed(300, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, adcpData.InstrumentWaterMassData.VelocityX, 0.00001, "Instrument Water Mass East not properly set.");
            Assert.AreEqual((new DotSpatial.Positioning.Speed(-200, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, adcpData.InstrumentWaterMassData.VelocityY, 0.00001, "Instrument Water Mass North not properly set.");
            Assert.AreEqual((new DotSpatial.Positioning.Speed(400, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, adcpData.InstrumentWaterMassData.VelocityZ, 0.00001, "Instrument Water Mass Vertical not properly set.");
            Assert.AreEqual((new DotSpatial.Positioning.Distance(100, DotSpatial.Positioning.DistanceUnit.Millimeters)).ToMeters().Value, adcpData.InstrumentWaterMassData.WaterMassDepthLayer, 0.00001, "Instrument Water Mass Depth Layer not properly set.");
        }
        public void TestConstructorPrti01Sentence()
        {
            string nmea = "$PRTI01,379550,1,1468,-99999,-99999,-99999,0,,,,,0004*09";

            // Create Sentence
            Prti01Sentence sent = new Prti01Sentence(nmea);

            Assert.AreEqual(true, sent.IsValid, "NMEA sentence incorrect");

            // Create dataset
            DataSet.Ensemble adcpData = new DataSet.Ensemble();

            adcpData.AddInstrumentWaterMassData(sent);

            Assert.IsTrue(adcpData.IsInstrumentWaterMassAvail, "Instrument Water Mass not added to dataset");

            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityX, DataSet.Ensemble.EMPTY_VELOCITY, "Instrument Water Mass East not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityY, DataSet.Ensemble.EMPTY_VELOCITY, "Instrument Water Mass North not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityZ, DataSet.Ensemble.EMPTY_VELOCITY, "Instrument Water Mass Vertical not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.WaterMassDepthLayer, 0, "Instrument Water Mass Depth Layer not properly set.");
        }
Пример #7
0
        /// <summary>
        /// Create a dataset.  Set the bottom track instrument velocity and water mass velocity.
        /// </summary>
        /// <param name="sentence">Sentence containing DVL data.</param>
        /// <returns>Dataset with values set.</returns>
        private DataSet.Ensemble CreateDataSet(Prti03Sentence sentence)
        {
            DataSet.Ensemble adcpData = new DataSet.Ensemble();

            // Add the Ensemble number to EnsembleDataSet
            adcpData.AddEnsembleData(sentence);

            // Add the Temp to AncillaryDataSet
            adcpData.AddAncillaryData(sentence);

            // Add Bottom Track data
            adcpData.AddBottomTrackData(sentence);

            // Add Water Mass data
            adcpData.AddInstrumentWaterMassData(sentence);

            return adcpData;
        }
Пример #8
0
        public void TestConstructorPrti01entenceData()
        {
            string nmea = "$PRTI01,379550,1,1468,-99999,-99999,-99999,0,300,-200,400,100,0004*20";

            // Create Sentence
            Prti01Sentence sent = new Prti01Sentence(nmea);

            Assert.AreEqual(true, sent.IsValid, "NMEA sentence incorrect");

            // Create dataset
            DataSet.Ensemble adcpData = new DataSet.Ensemble();

            adcpData.AddInstrumentWaterMassData(sent);

            Assert.IsTrue(adcpData.IsInstrumentWaterMassAvail, "Instrument Water Mass not added to dataset");

            Assert.AreEqual((new DotSpatial.Positioning.Speed(300, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, adcpData.InstrumentWaterMassData.VelocityX, 0.00001, "Instrument Water Mass East not properly set.");
            Assert.AreEqual((new DotSpatial.Positioning.Speed(-200, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, adcpData.InstrumentWaterMassData.VelocityY, 0.00001, "Instrument Water Mass North not properly set.");
            Assert.AreEqual((new DotSpatial.Positioning.Speed(400, DotSpatial.Positioning.SpeedUnit.MillimetersPerSecond)).ToMetersPerSecond().Value, adcpData.InstrumentWaterMassData.VelocityZ, 0.00001, "Instrument Water Mass Vertical not properly set.");
            Assert.AreEqual((new DotSpatial.Positioning.Distance(100, DotSpatial.Positioning.DistanceUnit.Millimeters)).ToMeters().Value, adcpData.InstrumentWaterMassData.WaterMassDepthLayer, 0.00001, "Instrument Water Mass Depth Layer not properly set.");
        }
Пример #9
0
        public void TestConstructorPrti01Sentence()
        {
            string nmea = "$PRTI01,379550,1,1468,-99999,-99999,-99999,0,,,,,0004*09";

            // Create Sentence
            Prti01Sentence sent = new Prti01Sentence(nmea);

            Assert.AreEqual(true, sent.IsValid, "NMEA sentence incorrect");

            // Create dataset
            DataSet.Ensemble adcpData = new DataSet.Ensemble();

            adcpData.AddInstrumentWaterMassData(sent);

            Assert.IsTrue(adcpData.IsInstrumentWaterMassAvail, "Instrument Water Mass not added to dataset");

            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityX, DataSet.Ensemble.EMPTY_VELOCITY, "Instrument Water Mass East not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityY, DataSet.Ensemble.EMPTY_VELOCITY, "Instrument Water Mass North not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.VelocityZ, DataSet.Ensemble.EMPTY_VELOCITY, "Instrument Water Mass Vertical not properly set.");
            Assert.AreEqual(adcpData.InstrumentWaterMassData.WaterMassDepthLayer, 0, "Instrument Water Mass Depth Layer not properly set.");
        }