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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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.IOException
      CSV-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.