ASAsense Binary Table (ABT) format/nl: Difference between revisions

From ASAsense Documentation (staging)
nl translation
 
nl translation
 
Line 99: Line 99:
|}
|}


<div lang="en" dir="ltr" class="mw-content-ltr">
De datatype-identificaties kunnen willekeurig zijn, maar de lezer moet minstens de volgende ondersteunen:
The datatype identifiers can be anything, but the reader should support at least the following:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{| class="wikitable"
{| class="wikitable"
! identifier
! identificatie
! description
! beschrijving
|-
|-
| utf8
| utf8
| Interpret the data as a UTF-8 string (with fixed length; it does not need to be terminated with '\0')
| Interpreteer de data als een UTF-8-string (met vaste lengte; hoeft niet te eindigen op '\0')
|-
|-
| int
| int
| Interpret the data as a signed integer
| Interpreteer de data als een geheel getal met teken
|-
|-
| uint
| uint
| Interpret the data as an unsigned integer
| Interpreteer de data als een geheel getal zonder teken
|-
|-
| float
| float
| Interpret the data as floating-point data (only possible for 4- or 8-byte fields)
| Interpreteer de data als kommagetal (alleen mogelijk voor velden van 4 of 8 bytes)
|-
|-
| bool
| bool
| Boolean value (0 = false, anything else = true)
| Booleaanse waarde (0 = false, al het andere = true)
|-
|-
| numtype/div
| numtype/div
| "div" should be replaced by any floating-point number. The data is first interpreted as "numtype" (int, uint or float) and then divided by "div". This is mainly useful for storing decimal numbers in integer fields.
| "div" moet worden vervangen door een willekeurig kommagetal. De data wordt eerst geïnterpreteerd als "numtype" (int, uint of float) en daarna gedeeld door "div". Dit is vooral nuttig om decimale getallen in velden met gehele getallen op te slaan.
|-
|-
| unix_timestamp(numtype/div)
| unix_timestamp(numtype/div)
| Interprets the data as specified within the brackets (so any numtype, with optional divider), but takes into account that it is a Unix timestamp (seconds since the Unix epoch, 1 January 1970 at UTC)
| Interpreteert de data zoals tussen de haakjes aangegeven (dus elk numtype, met optionele deler), maar houdt er rekening mee dat het om een Unix-tijdstempel gaat (seconden sinds de Unix-epoch, 1 januari 1970 om UTC)
|}
|}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Andere, onbekende datatype-identificaties moeten door de lezer als ondoorzichtige binaire data (bytes) worden behandeld.
Other, unknown datatype identifiers should be treated by the reader as opaque binary data (bytes).
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Common_extra_metadata_fields"></span>
== Common extra metadata fields ==
== Veelgebruikte extra metadatavelden ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
In veel ABT-bestanden die ASAsense gebruikt, vindt u de volgende extra metadatavelden:
In many ABT files used by ASAsense, the following extra metadata fields will be found:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{| class="wikitable"
{| class="wikitable"
! Field name
! Veldnaam
! Field type
! Veldtype
! Default value
! Standaardwaarde
! Description
! Beschrijving
|-
|-
| sorted_by_timestamp
| sorted_by_timestamp
| bool
| bool
| true
| true
| Indicates whether the data in the ABT file is sorted by timestamp (column 1)
| Geeft aan of de data in het ABT-bestand gesorteerd is op tijdstempel (kolom 1)
|-
|-
| frame_width_s
| frame_width_s
| float
| float
| NaN
| NaN
| Indicates the frame width of one sample (for example the sampling period or spectrogram frame width)
| Geeft de framebreedte van één sample aan (bijvoorbeeld de bemonsteringsperiode of de framebreedte van een spectrogram)
|}
|}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="CLI_tool_for_ABT_handling"></span>
== CLI tool for ABT handling ==
== CLI-tool voor ABT-bestanden ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Om het werken met het ABT-formaat te vereenvoudigen, zijn enkele voorgecompileerde programma's beschikbaar:
To make the ABT format easier to use, a few precompiled binaries are available:
</div>
* Linux
* Linux
** [http://asasense.com/abt-binaries/abt-cli-ubuntu-22.04-x86_64.zip Ubuntu 22.04 x86_64]
** [http://asasense.com/abt-binaries/abt-cli-ubuntu-22.04-x86_64.zip Ubuntu 22.04 x86_64]
** [http://asasense.com/abt-binaries/abt-cli-ubuntu-20.04-x86_64.zip Ubuntu 20.04 x86_64]
** [http://asasense.com/abt-binaries/abt-cli-ubuntu-20.04-x86_64.zip Ubuntu 20.04 x86_64]
* [http://asasense.com/abt-binaries/abt-cli-win11-x64.zip Windows 11 x64]
* [http://asasense.com/abt-binaries/abt-cli-win11-x64.zip Windows 11 x64]
<div lang="en" dir="ltr" class="mw-content-ltr">
De MD5-sommen van de ZIP-bestanden zijn als volgt:
The MD5 sums of the ZIP files are as follows:
</div>
  adcd6a227861bb6b188ef8c5748faae8  abt-cli-ubuntu-20.04-x86_64.zip
  adcd6a227861bb6b188ef8c5748faae8  abt-cli-ubuntu-20.04-x86_64.zip
  6f4c63cbd7416ead026f170c97b3ab89  abt-cli-ubuntu-22.04-x86_64.zip
  6f4c63cbd7416ead026f170c97b3ab89  abt-cli-ubuntu-22.04-x86_64.zip
  39db54827d2634262d9d666b4262b212  abt-cli-win11-x64.zip
  39db54827d2634262d9d666b4262b212  abt-cli-win11-x64.zip

Latest revision as of 10:24, 14 October 2026

Het ASAsense Binary Table-formaat (ABT) is een alternatief voor het CSV-formaat, maar dan voor binaire data met vaste rijlengtes. De structuur is als volgt:

naam lengte (bytes) type toegestane waarden uitleg
file_type 1 u8 1 Het interne nummer van het bestandstype en de versie
n_cols 4 u32 1-u32::max Het aantal kolommen
col_widths 4 × n_cols u32[n_cols] 1-u32::max per kolom n_cols u32-gehele getallen die de breedte van de kolommen in bytes beschrijven
metadata_length 4 u32 0-u32::max De lengte van het metadataveld (kan 0 zijn als het moet worden overgeslagen)
metadata metadata_length char[] string met vaste lengte (dus geen '\0'-teken dat het einde van de string aangeeft) JSON-gecodeerde metadata
data variabel, tot EOF byte[] willekeurig De eigenlijke data

De JSON-metadata moet een object zijn met de volgende structuur:

veld verplicht type uitleg
n_rows false number Het aantal rijen in het bestand, indien vooraf bekend (kan worden weggelaten voor streamingdata)
comment false string Een vrije tekst
columns true een lijst van kolomdefinitie-objecten Een lijst van objecten die de kolommen in meer detail beschrijven (moet n_cols elementen bevatten)
extra false JSON-object Een JSON-object dat vrij kan worden ingevuld

Een "kolomdefinitie-object" moet het volgende formaat hebben:

veld verplicht type uitleg
name false string Een optionele naam voor de kolom
comment false string Een vrije tekst
datatype true string Een identificatie van het datatype van de kolom

De datatype-identificaties kunnen willekeurig zijn, maar de lezer moet minstens de volgende ondersteunen:

identificatie beschrijving
utf8 Interpreteer de data als een UTF-8-string (met vaste lengte; hoeft niet te eindigen op '\0')
int Interpreteer de data als een geheel getal met teken
uint Interpreteer de data als een geheel getal zonder teken
float Interpreteer de data als kommagetal (alleen mogelijk voor velden van 4 of 8 bytes)
bool Booleaanse waarde (0 = false, al het andere = true)
numtype/div "div" moet worden vervangen door een willekeurig kommagetal. De data wordt eerst geïnterpreteerd als "numtype" (int, uint of float) en daarna gedeeld door "div". Dit is vooral nuttig om decimale getallen in velden met gehele getallen op te slaan.
unix_timestamp(numtype/div) Interpreteert de data zoals tussen de haakjes aangegeven (dus elk numtype, met optionele deler), maar houdt er rekening mee dat het om een Unix-tijdstempel gaat (seconden sinds de Unix-epoch, 1 januari 1970 om UTC)

Andere, onbekende datatype-identificaties moeten door de lezer als ondoorzichtige binaire data (bytes) worden behandeld.

Veelgebruikte extra metadatavelden

In veel ABT-bestanden die ASAsense gebruikt, vindt u de volgende extra metadatavelden:

Veldnaam Veldtype Standaardwaarde Beschrijving
sorted_by_timestamp bool true Geeft aan of de data in het ABT-bestand gesorteerd is op tijdstempel (kolom 1)
frame_width_s float NaN Geeft de framebreedte van één sample aan (bijvoorbeeld de bemonsteringsperiode of de framebreedte van een spectrogram)

CLI-tool voor ABT-bestanden

Om het werken met het ABT-formaat te vereenvoudigen, zijn enkele voorgecompileerde programma's beschikbaar:

De MD5-sommen van de ZIP-bestanden zijn als volgt:

adcd6a227861bb6b188ef8c5748faae8  abt-cli-ubuntu-20.04-x86_64.zip
6f4c63cbd7416ead026f170c97b3ab89  abt-cli-ubuntu-22.04-x86_64.zip
39db54827d2634262d9d666b4262b212  abt-cli-win11-x64.zip