result = cli.timeseries.get(uuid="867b166a-fa39-457d-a9e9-4bcb2ff04f61")
result.metadata

"""
Explanation: De connectie met Lizard is gemaakt en bovenstaand zijn alle beschikbare endpoints. 
Nu gaan we de metadata verzamelen van de timeseries met uuid 867b166a-fa39-457d-a9e9-4bcb2ff04f61:
End of explanation
"""


queryparams = {
    "end":1518631200000, 
    "start":946681200000,
    "window":"month"
}
result = cli.timeseries.get(uuid="867b166a-fa39-457d-a9e9-4bcb2ff04f61", **queryparams)
result.metadata

"""
Explanation: Download van timeseries met uuid 867b166a-fa39-457d-a9e9-4bcb2ff04f61 van 31 december 1999 tot 14 februari 2018.
Dit is de metadata:
End of explanation
"""


result.data[0]

"""
Explanation: En dit is de data:
End of explanation
"""


location__uuid = result.metadata['location__uuid'][0]
# een scientific result kan ook gesplitst worden in metadata en events:
metadata_multiple, events_multiple = cli.timeseries.get(location__uuid=location__uuid, **queryparams)
columns = [x for x in metadata_multiple.columns if "observation_type" in x or  "uuid" in x]
metadata_multiple[columns]

"""
Explanation: Nu kunnen we de andere tijdseries van de zelfde locatie opzoeken op basis van de metadata. De neerslag, verdamping en windsnelheid zijn allen in meer of mindere mate gecorreleerd voor een en de zelfde locatie. We gaan hierna die data in een datafame zetten.
End of explanation
"""


indexed_events = [e.set_index('timestamp') for e in events_multiple if 'timestamp' in e.columns]
first = max([indexed.index[0] for indexed in indexed_events])
last = min([indexed.index[-1] for indexed in indexed_events])
print(first, last)
indexed_events_ranged = [e[first:last] for e in indexed_events]
[e.shape for e in indexed_events_ranged]

"""
Explanation: De data is van verschillende lengte, dat is niet te correleren. Resamplen naar maanden hadden we al gedaan uit Lizard. Daarbij kregen we per periode de min en max terug. Die gaan we correleren. We laten zien dat de tijdseries nu allen de zelfde lengte hadden. We hadden dit ook kunnen doen door eerst naar de metadata te kijken en dan pas de data op te halen.
End of explanation
"""


observation_types = metadata_multiple['observation_type__parameter'].tolist()
max_weerdata = pd.DataFrame({observation_type: events['max'] for observation_type, events in zip(observation_types, indexed_events_ranged)})
max_weerdata

"""
Explanation: De lengte is nu inderdaad voor allemaal hetzelfde. Nu selecteren we de max van de verschillende tijdseries:
End of explanation
"""


max_weerdata.corr()

"""
Explanation: Vervolgens is het eenvoudig de correlatie te berekenen:
End of explanation
"""


