# Zuordnung zwischen der Zeile im RD Export und SIVAS ILS TOS Kalkulation

## 1. Generelle Zeilenüberschrift der RD Exportdatei

```csv
Elementnummer;TeileArt;TeileId;NachbarIds;Bezeichnung;Planquadrat;Merkmale;
```

## 2. Zeilen mit Kreiselinformationen

### RD-csv Zeile
Die Spalte "TeileArt" enthält "ILS 2.0 Kreisel", z.B.

```csv
X;Y;"ILS 2.0 Kreisel";xx-111-yyy--22--zzz;"Kreisel 1 im 1.Stock";"1/A";
```
alternativ heisst die TeileArt auch  **"ILS 2.0 Kreisel mit Pin"**

Die letzte Spalte ist ein json String mit allen Attributen:
```json
{ 
1		"Kreiselart":"Pin/Standard", 
2		"Abstand (Kreiselachse A - Kreiselachse) in Meter": "4.5", 
3		"Anzahl der Separatoren":"2", 
4		"Anzahl der Scanner":"1",
5		"Anzahl der Weichen":"1",
}
```

### Attribute im TOS

|AttributeId| Eingabe-text   | Inhalte |
|:---------:| -------------- | ------- |
|3000| Kreisel - Modul| ja/nein |
|3001| Kreisel 001 oder Kreisel mit PINBAND 001  oder Verbindungskreisel 001| Kreisel/Kreisel mit PINBAND/Verbindungskreisel/nein |
|3003| Kreisel 001 - zu fertigende Menge| ganze Zahl |
|3005| Kreisel 001 - Abstand (Kreiselachse A - Kreiselachse B) in Meter | Fliesskomma Zahl |
|3007| Kreisel 001 - Anzahl der zusätzlichen / abzuziehenden Separatoren (pro Kreisel sind zwei Separatoren vorgesehen)| ganze Zahl |
|3313| Kreisel 001 - Anzahl der zusätzlichen / abzuziehenden Scanner (pro Kreisel mit PINBAND ist ein Scanner vorgesehen)| ganze Zahl |
|3314| Kreisel 001 - Anzahl der zusätzlichen / abzuziehenden Weichen (pro Kreisel und Kreisel mit PINBAND ist ein Weichenset vorgesehen)| ganze Zahl |

### Zuordnung

Die folgenden Attribut IDs werden entnommen aus der json Bezeichnung in Zeile 
| Attribut | json Zeile |
| -------- | ---------- |
|3005 | 2 |
|3007 | 3 |
|3313 | 4 |
|3314 | 5 |

die folgenden Attributids existieren für alle Folgekreisel:


|Bezeichnung|Wert|Kreisel 002|Kreisel 003|Kreisel 004|Kreisel 005|Kreisel 006|Kreisel 007|Kreisel 008|Kreisel 009|Kreisel 010|
| --------- | -- |:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|
|weiterer Kreisel                                    | ja/nein                                             |3320|3330|3340|3350|3360|3410|3420|3430|3440|
|Kreisel 00X mit PINBAND oder Verbindungskreisel     | Kreisel/Kreisel mit PINBAND/Verbindungskreisel/nein |3321|3331|3341|3351|3361|3411|3421|3431|3441|
|zu fertigende Menge                                 | ganze Zahl                                          |3323|3333|3343|3353|3363|3413|3423|3433|3443|
|Abstand (Kreiselachse A - Kreiselachse B) in Meter  | Fliesskomma Zahl                                     |3324|3334|3344|3354|3364|3414|3424|3434|3444|
|Anzahl der zusätzlichen / abzuziehenden Separatoren | ganze Zahl                                          |3326|3336|3346|3356|3366|3416|3426|3436|3446|
|Anzahl der zusätzlichen / abzuziehenden Scanner     | ganze Zahl                                          |3328|3338|3348|3358|3368|3418|3428|3438|3448|
|Anzahl der zusätzlichen / abzuziehenden Weichen     | ganze Zahl                                          |3329|3339|3349|3359|3369|3419|3429|3439|3449|



## 3. Zeilen für das Eckrad

### RD-csv Zeile
```csv
X;Y;"ILS 2.0 Eckrad";"Eckrad 1.Stock";"1/A";
```
letzte Spalte
```json
{ 
1	"Anzahl der Zusatzseparatoren":"3",
}
```
### Attribute im TOS

|AttributeId| Eingabe-text   | Inhalte |
|:---------:| -------------- | ------- |
|   3380    |	Eckrad	                    |ja/nein |
|   3381    |	Eckrad - zu fertigende Menge| ganze Zahl |

## 4. Zeilen für die Gefällestrecke

### RD-csv Zeile

```csv
X;Y;"ILS 2|.0 Gefällestrecke";"Gefällestrecke am 1. Kreisel";"1/A";
```
letzte Spalte
```json
{ 
1	"Anzahl der Zusatzseparatoren":"3",
2	"Länge in Meter":"3.2",
}
```
### Attribute im TOS

|AttributeId| Eingabe-text   | Inhalte |
|:---------:| -------------- | ------- |
|3300|Gefällestrecke 001 |ja /nein |
|3600|Gefällestrecke 001 - zu fertigende Menge | ganze Zahl |
|3601|Gefällestrecke 001 - Länge in Meter | Fliesskomma Zahl |
|3602|Gefällestrecke 001 - Zusatzseparator (pro Gefällestrecke ist ein Separator vorgesehen) |ja/nein |
|3603|Gefällestrecke 001 - Anzahl der Zusatzseparatoren | ganze Zahl |
|3609|Gefällestrecke 001 - Anzahl der Scanner | ganze Zahl |

### Zuordnung

Die folgenden Attribut IDs werden entnommen aus der json Bezeichnung in Zeile 
| Attribut | json Zeile |
| -------- | ---------- |
|3601 | 2 |
|3603 | 1 |


**TODO**: Die Attribute 
"Anzahl der Zusatzseparatoren", 
"Anzahl der Scanner" 
sind noch nicht im json enthalten. 



die folgenden Attributids existieren für alle weiteren Gefällestrecken:


|Bezeichnung|Wert|Gefällestr. 002|Gefällestr. 003|Gefällestr. 004|Gefällestr. 005|Gefällestr. 006|Gefällestr. 007|Gefällestr. 008|Gefällestr. 009|Gefällestr. 010|
| --------- | -- |:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|
|Gefällestrecke 00X            | ja/nein          |3610|3620|3630|3640|3650|3660|3670|3680|3690|
|zu fertigende Menge           | ganze Zahl       |3612|3622|3632|3642|3652|3662|3672|3682|3692|
|Länge in Meter                | Fliesskomma Zahl |3613|3623|3633|3643|3653|3663|3673|3683|3693|
|Zusatz Separator              | ja/nein          |3614|3624|3634|3644|3654|3664|3674|3684|3694|
|Anzahl der Zusatzseparatoren  | ganze Zahl       |3615|3625|3635|3645|3655|3665|3675|3685|3695|
|Anzahl der Scanner            | ganze Zahl       |3616|3626|3636|3646|3656|3666|3676|3686|3696|


## 5. Zeilen für Förderer

### RD-csv Zeile

```csv
X;Y;"Förderer";"Förderer am 1. Kreisel";"1/A";
```
letzte Spalte
```json
{ 
1	"Höhe ETF oben in Meter":"3",
2	"Höhe ETF unten in Meter":"2.3",
3	"Zusatzseparator":"3",
}
```
### Attribute im TOS

|AttributeId| Eingabetext    | Inhalte |
|:---------:| -------------- | ------- |
|3900| Förderer ILS	| ja/nein |
|3901| ETF 01	| ja/nein |
|3903| ETF 01 - zu fertigende Menge| ganze Zahl |
|3909| ETF 01 - Höhe ETF oben in Meter | Fliesskomma Zahl|
|3910| ETF 01 - Höhe ETF unten in Meter| Fliesskomma Zahl|
|3913| ETF 01 - Länge der zusätzlichen Gefällestrecke ETF 01 in Meter (ohne Gefällestrecke bitte 0 eintragen) | Fliesskomma Zahl|
|3914| ETF 01 - Zusatzseparator der zusätzlichen Gefällestrecke ETF 01 | ja/nein |
|3915| ETF 01 - Anzahl der Zusatzseparatoren der zusätzlichen Gefällestrecke ETF | ganze Zahl |

### Zuordnung

Die folgenden Attribut IDs werden entnommen aus der json Bezeichnung in Zeile 
| Attribut | json Zeile |
| -------- | ---------- |
|3909 | 1 |
|3910 | 2 |
|3914 | 3 |

**TODO**: Die Attribute 
"Länge der zusätzlichen Gefällestrecke in Meter",
"Anzahl der Zusatzseparatoren der zusätzlichen Gefällestrecke ETF"
sind noch nicht im json enthalten. 


die folgenden Attributids existieren für alle weiteren Förderer:


|Bezeichnung|Wert|ETF 002|ETF 003|ETF 004|ETF 005|
| --------- | -- |:-----:|:-----:|:-----:|:-----:|
|weiterer ETF 00X| ja/nein                                                                                          |3920|3930|3940|3951|
|zu fertigende Menge| ganze Zahl                                                                                    |3922|3932|3942|3952|
|Höhe ETF oben in Meter | Fliesskomma Zahl                                                                          |3923|3933|3943|3953|
|Höhe ETF unten in Meter| Fliesskomma Zahl                                                                          |3924|3934|3944|3954|
|Länge der zusätzlichen Gefällestrecke ETF 01 in Meter (ohne Gefällestrecke bitte 0 eintragen) | Fliesskomma Zahl   |3926|3936|3946|3956|
|Zusatzseparator der zusätzlichen Gefällestrecke ETF 01 | ja/nein                                                   |3927|3937|3947|3957|
|Anzahl der Zusatzseparatoren der zusätzlichen Gefällestrecke ETF | ganze Zahl                                      |3928|3938|3948|3958|










## 6. Zeilen für Bügelträger Beladung

### RD-csv Zeile

```csv
X;Y;"BT - Beladung";"BT Beladung";"2/X";
```
letzte Spalte
```json
{}
```
### Attribute im TOS

|AttributeId| Eingabe-text   | Inhalte |
|:---------:| -------------- | ------- |
|3500|	Zusatzmodul| ja/nein |
|3501|	BT - Beladung (mit Vereinzeler, ohne Separator)	| ja/nein |
|3503|	Anzahl der BT - Entladung (mit Vereinzeler, ohne Separator | ganze Zahl |


## 7. Zeilen für Abwurf

### RD-csv Zeile

```csv
X;Y;"Abwurf für Klammerbügel";"Abwurf";"2/Y";
```
letzte Spalte
```json
{}
```
### Attribute im TOS

|AttributeId| Eingabe-text   | Inhalte |
|:---------:| -------------- | ------- |
|3502|	Abwurf für Klammerbügel Sitzbezüge / Kleiderbügel| ja/nein |
|3504|	Anzahl der Abwürfe | ganze Zahl |

## 8. Zeilen für Weiche

### RD-csv Zeile

```csv
X;Y;"ILS 2.0 Weiche";"Weiche 1: zw. Kreisel 2 und Kreisel 3";""
```
letzte Spalte
```json
{ 
1	"Weichenart":"passiv/aktiv" 
}
```

### Attribute im TOS

-> Weichen werden im TOS nicht berücksichtigt, da hinter jedem Kreisel eine entsprechende Anzahl hinterlegt ist.

