ORFAP / FAPBackend

0 stars 0 forks source link

Change Filter Endpoint #20

Closed darenegade closed 8 years ago

darenegade commented 8 years ago

So soll der Request aussehen:

{
"z": "QualitiativeValue",
"y": "QuantitiveValue",
"x": [ValueString1, ValueString2, ..., ValueStringN ],
"data":{
   "key1": [ data1, data2, ..., dataN],
   "key2": [ data1, data2, ..., dataN]
  }
}

Die Keys entsprechen allen möglichen Werten je nach ausgewähltem qualitativem Wert und die Daten entsprechen dem quantitativen Werten im entsprechend gewähltem Zeitraum und TimeStep sowie um den Filter reduziert.

1. Beispiele:

Qualitativ: Airline

Quantitativ PassangerCount

From: Jan 2015

To: Mar 2015

TimeStep: Month

{
"z": "Airline",
"y": "PassangerCount",
"x": [January, February, March ],
"data":{
   "Lufthansa": [ 50, 100, 75],
   "AirBerlin": [ 25, 80, 200]
  }
}

2. Beispiele:

Qualitativ: Time

Quantitativ Delay

From: 01 Jan 2015

To: 03 Jan 2015

TimeStep: Day

{
"z": "Time",
"y": "Delay",
"x": [NULL],
"data": {
   "Monday": [ 25 ],
   "Tuesday": [ 30 ],
   "Wednesday": [ 5 ]
  }
}

Bitte bestätigen: @FabianHoltkoetter @peter-mueller

FabianWilms commented 8 years ago

bestätig

FabianWilms commented 8 years ago

Ach eine Sache vll doch noch. Wenn du auch noch den eingestellten timestep mit zurück liefern könntest wäre es super, damit ich dann monate/Tage entsprechend sortieren kann. Und mir ist noch eingefallen, dass wir auch noch weeks unterstutzen sollen. Das müssen wir aber nicht direkt einbauen, sondern kann auch bis zum nächsten sprint warten.

darenegade commented 8 years ago

Ihr macht mich fertig. Der TimeStep macht keinen Sinn, da in x alles sauber aufgeschlüsselt ist.

FabianWilms commented 8 years ago

In x steht je nach timestep Monate, Wochentage, wochennummern oder Daten. Das kann ich aber nicht einfach über prüfen weil evtl nicht alle monate/Tage etc drin stehen je nach gewähltem Zeitraum . und weil es nur ein key mehr ist den du einfach zurückschicken kannst wurde es mir sehr helfen, da ich die Daten unterschiedlich weiterverarbeiten muss

darenegade commented 8 years ago

Bei tilmestep Month steht in x January bis December ohne Lücke Bei tilmestep Day steht in x Monday bis Sunday ohne Lücke Bei tilmestep Year Range 2014 - 2016 steht in x 2014 bis 2016 ohne Lücke

darenegade commented 8 years ago

Wenn es für einen key in diesem Zeitraum keinen Wert gibt, dann steht in dem Array für diesen Key and der stelle eine 0

FabianWilms commented 8 years ago

Und wenn ich einen Zeitraum von März bis Juni auswähle? Dann steht ähnlich nach deinem Beispiel 1 korrekterweise nur ["March", "April", " May", "June"] drin.

darenegade commented 8 years ago

Und was willst du da genau sortieren? Für jeden Wert in X gibt es einen Wert in der Liste der keys. Du musst doch nur mappen.

FabianWilms commented 8 years ago

also ist die Liste schon in richtiger Reihenfolge?

darenegade commented 8 years ago

Also x ja. Und die Liste der keys muss in der richtigen Reihenfolge sein, da du sonst ja nie wüsstest, welcher wert zu was gehört.

FabianWilms commented 8 years ago

Das stimmt wohl :D. Dann würde ich es nur für qualitativ: time brauchen, weil die Schlüssel in der map immer zufällig sind :x

FabianWilms commented 8 years ago

Vielleicht kannst du es da ja einfach bei x rein schreiben wenn man time auswahlt. Dann ist das Feld nicht so unnütz und Sinn macht es eigentlich auch

darenegade commented 8 years ago

Bei Time sollten die Werte von oben nach unten auch sortiert sein. Das wollte ich noch testen, wenn ich die Änderung fertig habe.

FabianWilms commented 8 years ago

Wenn das klappt wäre top :+1:

darenegade commented 8 years ago

Das gilt auch für Destination und Airport.

darenegade commented 8 years ago

Wenn es keine Werte gibt, willst du dann ein null oder ein 0.0

FabianWilms commented 8 years ago

machen wir 0.0. ich hab keine gute möglichkeit gefunden "fehlende" werte darzustellen :(

darenegade commented 8 years ago

Passt mir auch, da es den Code einfacher macht