.. highlightlang:: us .. index:: NC_Classify .. _nc_classify: NC_Classify =========== .. us.tag NC_Classify GERMAN nc.tools New5514 :ref:`NC_Classify` klassiert eine Datei in Gruppen. Für jede Gruppe wird ein Indexkanal erzeugen. Der Indexkanal beginnt mit dem Wert 1. Der Wert ist konstant für eine Gruppe. Die zweite Gruppe hat den Wert 2 usw. Falls die Funktion mit mehr als 2 Parametern aufgerufen wird, wird die Datei in Abhängigkeit vom angegebenen Indexkanal in einzelne Dateien aufgetrennt. .. function:: bool = NC_Classify(ncid, smClassDefine) bool = NC_Classify(ssNCFile, smClassDefine) svNames = NC_Classify(ncid, smClassDefine, ssSplitBaseName, ssSplitIndexChannel) svNames = NC_Classify(ssNCFile, smClassDefine, ssSplitBaseName, ssSplitIndexChannel) svNames = NC_Classify(ncid, smClassDefine, ssSplitBaseName, ssSplitIndexChannel, svChannelList) svNames = NC_Classify(ssNCFile, smClassDefine, ssSplitBaseName, ssSplitIndexChannel, svChannelList) .. us.return **Returnwert** bool *svNames* sind die Namen der aufgetrennten NC-Dateien. .. us.params **Parameter** .. uparam:: ssNCFile *ssNCFile* ist der Name einer NC-Datei mit Daten mit mehreren Zyklen. .. uparam:: ncid *ncid* ist die Zugriffsnummer einer NC-Datei, die von einem erfolgreichen Aufruf der Funktionen :ref:`nc_create` oder :ref:`nc_open` geliefert wurde. Die Datei muss mit Schreibzugriff geöffnet sein. .. uparam:: smClassDefine *smClassDefine* ist eine Stringmatrix mit 2 Spalten und 1 bis 4 Zeilen. Dir erste Spalte enthält Kanalnamen und die zweite Spalte eine Toleranz. Die Toleranz wird als Zeichenkette definiert, z. B. "0.5". Dezimaltrennzeichen ist ein Punkt, Beispiel:: smClassDefine = ["speed", "10"; "torque", "0.5"]; Bei Textkanälen wird der Toleranzwert nicht ausgewertet. Als Toleranzwert kann ein leerer String "" angegeben werden. .. uparam:: ssSplitBaseName *ssSplitBaseName* ist der vollständige Name, unter dem die einzelnen Dateien gespeichert werden. Der Name der aufgetrennten Dateien wird aus dem angegebenen Namen plus dem Kanalnamen nach dem aufgetrennt wird und der Indexnummer getrennt durch einen Unterstring gebildet. Beispiel: "d:\\map-data_map.xls_N=4590_10.nc" .. uparam:: ssSplitIndexChannel *ssSplitIndexChannel* ist der Name des Indexkanals. Der Name wird aus dem Text ``_index_`` gefolgt vom Kanalnamen gebildet. .. uparam:: svChannelList *svChannelList* ist eine optionale Liste mit Kanalnamen, die in die aufgetrennten Dateien eingefügt werden sollen. .. us.comment **Kommentar** Es können bis zu vier Kanäle definiert werden, nach denen klassiert werden soll. Die Daten des ersten ausgewählten Kanals werden aufsteigend sortiert. Auf den ersten Wert des Kanals (Minimum) wird die zweifache Toleranz addiert und damit die Klassenunter- und -obergrenze der ersten Klasse festgelegt. Die nächste Klasse beginnt bei dem Wert, der größer als die Klassenobergrenze der vorhergehenden Klasse ist. Für jeden Kanal nach dem klassiert wird, erzeugt die Funktion einen neuen Kanal, der sich aus dem Text ``_index_`` und dem entsprechenden Kanalnamen zusammensetzt, z. B. ``_index_n_Motor``. Der Kanal enthält ganze Zahlen, beginnend mit 1. Alle Zeilen (Records) einer Klasse haben den gleichen Indexwert. Falls der Kanal missing values enthält, erhält der Index-Kanal den Wert 0. Der neu erzeugte Index-Kanal kann dann beim Import verwendet werden, z. B. für den Typ 2D: x/y/Zyklus-Index. Wird die Funktion mit mehr als 2 Parametern aufgerufen, wird die Datei anhand eines Indexkanals in Einzeldateien aufgetrennt. Jede Datei enthält alle globalen Attribute der Ausgangsmessung. Sie auch :ref:`browserclassify`. .. us.example **Beispiel** :: def TestSplit() { ssFile = GetRootDirector() + "samples\\map-data.xls"; ssNCFile = auto_ImportData(ssFile); if (ssNCFile == "") { return FALSE; } ssNewNCBaseName = sum(SplitPath(ssNCFile)[1,2,3]); return NC_Classify(ssNCFile, ["N", "20"], ssNewNCBaseName, "_index_N"); } .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - R2013.14 - Neu. .. seealso:: :ref:`uberblick-netcdf-dateien`, :ref:`dateidaten-exportieren`, :ref:`nc_create`, :ref:`browserclassify` :ref:`dateneditormittelwert-zyklus` :sub:`id-1676138`