Beschreibung der exportierten csv Datei aufgenommen. Zuordnung zur ILS TOS Kalkulation erstellt

This commit is contained in:
2023-10-23 16:01:23 +02:00
parent 217ddf196b
commit da99f64743
2 changed files with 235 additions and 0 deletions
@@ -0,0 +1,196 @@
# 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 | Flieskomma 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 |
Die folgenden Attribut IDs werden entnommen aus der json Bezeichnung in Zeile
| Attribut | json Zeile |
| -------- | ---------- |
|3005 | 2 |
|3007 | 3 |
|3313 | 4 |
|3314 | 5 |
## 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 Zusatzeparatoren | ganze Zahl |
|3609|Gefällestrecke 001 | Anzahl der Scanner | ganze Zahl |
Die folgenden Attribut IDs werden entnommen aus der json Bezeichnung in Zeile
| Attribut | json Zeile |
| -------- | ---------- |
|3601 | 2 |
|3603 | 1 |
**TODO**
## 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| Eingabe-text | 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 Zusatzeparatoren der zusätzlichen Gefällestrecke ETF | ganze Zahl |
Die folgenden Attribut IDs werden entnommen aus der json Bezeichnung in Zeile
| Attribut | json Zeile |
| -------- | ---------- |
**TODO**
## 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 |
Die folgenden Attribut IDs werden entnommen aus der json Bezeichnung in Zeile
| Attribut | json Zeile |
| -------- | ---------- |
**TODO**
## 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.
+39
View File
@@ -0,0 +1,39 @@
# CSV Export
Die Export Datei sollte grundsätzlich eine .csv Datei in **utf8** Codierung sein, welche wie folgt aufgebaut sein soll:
```csv
Elementnummer;TeileArt;TeileId;NachbarIds;Bezeichnung;Planquadrat;Merkmale;
1;"ILS 2.0 Kreisel";(id);(nachbarids);"Kreisel 1 im 1.Stock";"1/A";{ "Kreiselart":"Pin/Standard", Abstand (Kreiselachse A - Kreiselachse) in Meter": "4.5", "Anzahl der Separatoren":"2", "Anzahl der Scanner":"1", "Anzahl der Scanner":"1", "Anzahl der Rampen": "4" }
2;"ILS 2.0 Kreisel mit Pin";(id);(nachbarids);"Pinkreisel 1 im 1.Stock";"1/A";{ "Abstand (Kreiselachse A - Kreiselachse) in Meter": "4.5", "Anzahl der Separatoren":"2", "Anzahl der Scanner":"1", "Anzahl der Scanner":"1", "Anzahl der Weichen": "4" }
3;"ILS 2.0 Eckrad";(id);(nachbarids);"Eckrad 1.Stock";"1/A";{ "Anzahl der Zusatzseparatoren":"3", "Länge in Meter":"3.2",}
4;"ILS 2.0 Gefällestrecke";(id);(nachbarids);"Gefällestrecke am 1. Kreisel";"1/A";{ "Anzahl der Zusatzseparatoren":"3", "Länge in Meter":"3.2",}
5;"Förderer";(id);(nachbarids);"Förderer am 1. Kreisel";"1/A";{ "Höhe ETF oben in Meter":"3", "Höhe ETF unten in Meter":"2.3", "Zusatzseparator":"3",}
6;"BT - Beladung";"BT Beladung";"2/X";{}
7;"Abwurf für Klammerbügel";(id);(nachbarids);"Abwurf";"2/Y";{}
8:"ILS 2.0 Weiche";(id);(nachbarids);"Weiche 1: zw. Kreisel 2 und Kreisel 3";"{ "Weichenart":"passiv/aktiv" }"
```
Die erste Zeile ist als Kommentar enthalten.
Jede Zeile ist exemplarisch für eine aktuell implementiertes Objekt (Kreisel, Kreisel mit Pin, Eckrad, usw.).
Beim Export ist dies einfache eine Liste aller Objekte, welche vom Benutzer in dieser Session / in dieser Anlage angelegt wurden.
Die Merkmale jedes Objektes werden wie in die Datei geschrieben, wie sie im RD verwendet werden. Eine Übersetzung in die Merkmale für das ERP findet ausserhalb statt.
- Die **Elementnummer** ist einfach eine laufende Nummer
- Die **TeileArt** ist ein Bezeichner, welches jedes Objekt als Eigenschaft mit gegeben hat (ich bin ein “Kreisel”, “Kreisel mit Pin”, etc.)
- **TeileId** ist eine eindeutige ID diese Objekts
- **NachbarIds** ist eine kommaseparierte Liste aller Objekte, welche sich in direkter Nachbarschaft zum Objekt befinden
- **Bezeichnung** sollte vom Benutzer jedem Objekt zugewiesen werden können, um in den Listen besser ein Verständnis zu diesem Objekt zu finden
- **Planquadrat** ist die Position des Objekts auf der 2D Ebene. Wurde kein Planquadrat definiert, sollen einfach die X/Y Koordinaten des Objekts ausgegeben werden
- **Merkmale** sind die vom Nutzer angegebenen Merkmale dieses Objeks, Z.B. Abstand der Motor zur Spannstation, Höhe, usw. im json format
Beim Kreisel ist dies zum Beispiel
```json
{
"Kreiselart":"Pin/Standard",
"Abstand (Kreiselachse A - Kreiselachse) in Meter": "4.5",
"Anzahl der Separatoren":"2",
"Anzahl der Scanner":"1",
"Anzahl der Scanner":"1",
"Anzahl der Rampen": "4"
}
```