Wave:API: Difference between revisions
Jump to navigation
Jump to search
m (→Example2: updated function name) |
(updated for v1.8.0 (r621)) |
||
Line 20: | Line 20: | ||
Dim Wave1 As New BlueM.Wave.Wave() | Dim Wave1 As New BlueM.Wave.Wave() | ||
Dim myFile As BlueM.Wave.FileFormatBase | Dim myFile As BlueM.Wave.FileFormatBase | ||
Dim ts | Dim ts As BlueM.Wave.TimeSeries | ||
'read a file | 'read a file | ||
myFile = BlueM.Wave.FileFactory.getFileInstance( | myFile = BlueM.Wave.FileFactory.getFileInstance(Me.FileName) | ||
'check the available time series | 'check the available time series | ||
For Each c As BlueM.Wave.FileFormatBase. | For Each c As BlueM.Wave.FileFormatBase.SeriesInfo In myFile.SeriesList | ||
Console.WriteLine(c.Name) | |||
Next | Next | ||
'select all | 'select all series for import | ||
myFile. | myFile.selectAllSeries() | ||
'read the selected time series from the file | 'read the selected time series from the file | ||
myFile. | myFile.readFile() | ||
'loop over all series and print some information about them | 'loop over all series read from the file and print some information about them | ||
For Each ts | 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 | Next | ||
'get one particular time series | 'get one particular time series | ||
ts = myFile.getTimeSeries(" | ts = myFile.getTimeSeries("S1 _1AB") | ||
'cut the time series | 'cut the time series | ||
ts.Cut(New DateTime( | ts.Cut(New DateTime(1959, 1, 1), New DateTime(1960, 1, 1)) | ||
'loop over the nodes of the time series | 'loop over the nodes of the time series | ||
Line 51: | Line 51: | ||
Dim v As Double | Dim v As Double | ||
For Each node As KeyValuePair(Of DateTime, Double) In ts.Nodes | For Each node As KeyValuePair(Of DateTime, Double) In ts.Nodes | ||
d = node.Key | |||
v = node.Value | |||
Next | Next | ||
Line 66: | Line 66: | ||
'create a new time series | 'create a new time series | ||
Dim ts As New BlueM.Wave.TimeSeries("my 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 | 'add some nodes to the time series | ||
ts.AddNode(New DateTime(2000, 1, 1), 10 | ts.AddNode(New DateTime(2000, 1, 1), 10) | ||
ts.AddNode(New DateTime(2000, 1, 2), 20 | ts.AddNode(New DateTime(2000, 1, 2), 20) | ||
ts.AddNode(New DateTime(2000, 1, 3), 30 | ts.AddNode(New DateTime(2000, 1, 3), 30) | ||
ts.AddNode(New DateTime(2000, 1, 4), 15 | ts.AddNode(New DateTime(2000, 1, 4), 15) | ||
' | 'Display the series in Wave | ||
Wave1.Import_Series(ts) | Wave1.Import_Series(ts) | ||
Wave1.Show() | Wave1.Show() |
Revision as of 04:42, 11 June 2020
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()