Class CsvUpsampling
java.lang.Object
de.tu_bs.isbs.util.math.interpolation.CsvUpsampling
public class CsvUpsampling
extends java.lang.Object
Quelldatei mit äquidistanten Messwerten lesen.
Ausgabe: lineare Interpolation auf höhere zeitl. Auflösung.
FEATURE: Zur Zeit wird nur eine ausgewählte Spalte der Datei behandelt,
Headerzeilen werden verworfen. Evtl. zukünftig allgemein einsetzbar machen,
wenn benötigt.
- Author:
- Stefan
-
Method Summary
Modifier and Type Method Description static void
resample(java.io.File inFile, java.io.File outFile, int factor, int selectedColumn, java.lang.String fieldSep)
CSV-Datei um einen ganzzahligen Faktor hochskalieren.
-
Method Details
-
resample
public static void resample(java.io.File inFile, java.io.File outFile, int factor, int selectedColumn, java.lang.String fieldSep) throws java.io.IOExceptionCSV-Datei um einen ganzzahligen Faktor hochskalieren. Behandelt eine ausgewählte Spalte der Quelldatei und führt dem angegebenen Faktor entsprechend mit linearer Interpolation ein "Upsampling" durch. Bearbeiten eine einzelne vorgegebene Spalte der Quelldatei. Daten werden periodisch behandelt: Es wird am Ende vom letzten zum ersten Datensatz interpoliert. Beispiel: Für einen Faktor factor==3 und eine Quelldatei mit 11 Datensätzen werden 33 Datensätze in die Zieldatei geschrieben. Die letzten 3 ausgegebenen Datensätze werden zwischen Quelldatensatz #1 und Quelldatensatz #11 interpoliert. Die Berechnung erfolgt zwar mit double-Variablen, aber die Ausgabe wird durch Casting auf float gerundet; die ausgegebenen Zahlen haben etwa 8 Stellen.- Parameters:
inFile
- Quelldatei - Kopfzeilen, die mit # oder " beginnen, werden übersprungen. Erwartet Eingaben im Wertebereich von float-Zahlen (32-Bit-Gleitpunktzahlen).outFile
- Zieldatei - enthält genau eine Spalte, keine Kopfzeilen und N * factor Datensätze, wobei N die Anzahl der Datensätze der Quelldatei ist. Ausgaben werden erfolgen mit Float-Genauigkeit im Format, das Float.toString() liefert. Zieldatei wird neu erzeugt.factor
- Skalierungsfaktor soll >= 0 sein.selectedColumn
- Die zu behandelnde Spalte der Quelldatei.fieldSep
- Feldtrenner (kann mehr als 1 Zeichen umfassen).- Throws:
java.io.IOException
- wird geworfen, wenn Fehler beim Lesen oder Schreiben auftreten. Die unvollständige Zieldatei wird geschlossen, aber nicht gelöscht. Darum muss sich der Aufrufer kümmern.
-