Wave:API
Jump to navigation
Jump to search
Wave | Download | Development
The Wave API provides a few methods for reading time series from files, manipulating and displaying them.
To access the API, include a reference to Wave.exe (or to the Wave project if you have the source code) in your .NET project.
Below are some examples.
Example1
'Load a time series file and display it in Wave Dim Wave1 As New BlueM.Wave.Wave() Wave1.Import_File("path\to\file") 'depending on the file format, this may display an import dialog Wave1.Show()
Example2
'More complex example showcasing some more advanced techniques Dim Wave1 As New BlueM.Wave.Wave() Dim myFile As BlueM.Wave.FileFormatBase Dim ts As BlueM.Wave.TimeSeries 'read a file myFile = BlueM.Wave.FileFactory.getFileInstance(Me.FileName) 'check the available time series For Each c As BlueM.Wave.FileFormatBase.SeriesInfo In myFile.SeriesList Console.WriteLine(c.Name) Next 'select all series for import myFile.selectAllSeries() 'read the selected time series from the file myFile.readFile() 'loop over all series read from the file and print some information about them For Each ts In myFile.FileTimeSeries.Values Console.WriteLine("Series title: " & ts.Title) Console.WriteLine("Extent: " & ts.StartDate & " - " & ts.EndDate) Console.WriteLine("Max value: " & ts.Maximum) Console.WriteLine("Min value: " & ts.Minimum) Next 'get one particular time series ts = myFile.getTimeSeries("S1 _1AB") 'cut the time series ts.Cut(New DateTime(1959, 1, 1), New DateTime(1960, 1, 1)) 'loop over the nodes of the time series Dim d As DateTime Dim v As Double For Each node As KeyValuePair(Of DateTime, Double) In ts.Nodes d = node.Key v = node.Value Next 'Display the series in Wave Wave1.Import_Series(ts) Wave1.Show()
Example3
'Create your own time series and display it in Wave Dim Wave1 As New BlueM.Wave.Wave() 'create a new time series Dim ts As New BlueM.Wave.TimeSeries("my series") ts.Unit = "m3/s" ts.Interpretation = Wave.TimeSeries.InterpretationEnum.BlockRight 'add some nodes to the time series ts.AddNode(New DateTime(2000, 1, 1), 10) ts.AddNode(New DateTime(2000, 1, 2), 20) ts.AddNode(New DateTime(2000, 1, 3), 30) ts.AddNode(New DateTime(2000, 1, 4), 15) 'Display the series in Wave Wave1.Import_Series(ts) Wave1.Show()