• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Automatisch ophalen van het KNMI

Status
Niet open voor verdere reacties.

Woffels

Gebruiker
Lid geworden
8 jan 2006
Berichten
249
Ik ben bezig met een projectje waarin ik weerdata wil importeren in excel. De KNMI stelt dit beschikbaar op hun website.
https://www.knmi.nl/nederland-nu/klimatologie/uurgegevens
Ik wil die van Maastricht hebben van 2011 - nu. Deze gegevens worden elke dag aangevuld met de waarden van de dag daarvoor
https://cdn.knmi.nl/knmi/map/page/klimatologie/gegevens/uurgegevens/uurgeg_380_2011-2020.zip

Zoals je kan zien, is dat een zip bestand. Ik wil nu in excel, dat dit betstand automatisch(met een macro) wordt gedownload en ge-unzipped zodat ik die later met de power query editor verder kan bewerken en de benodigde data er uit kan filteren.
 
Ik heb het geprobeerd met jouw tip en het lukt me ook wel om de data te zien, maar het selectief binnenhalen van de data lukt me niet.
Het gaat om de uurdata van weerstation 380 in Maastricht met als begin datum 1-1-2020 en eind datum nu.
Er moeten een aantal parameters worden meegegeven en ik zou niet weten hoe dat moet in de Query editor.
Zo omschrijft het KNMI het als het gaat om uurwaarden van een bepaald station onderaan de door jou genoemde pagina:



URL: http://projects.knmi.nl/klimatologie/uurgegevens/getdata_uur.cgi
Het ophalen van uurlijkse data kan op dezelfde wijze als met de dagelijkse data (zie hierboven), met de volgende verschillen in de herkende parameters:

start
De volledige datum-tijd (start) in het format YYYYMMDDHH.
Default is de eerste dag van de huidige maand.
end
De volledige datum-tijd (end) in het format YYYYMMDDHH.
Default is de huidige dag (of de laatste dag waarvoor data aanwezig is).
Het eerste en laatste uur in het HH-gedeelte bepalen de uren die voor elke dag geleverd worden (1-24), in overeeenkomst met het aan te geven dagdeel in de interactieve selectie. Dus start=2006060606, end=2008080808 resulteren voor elke dag steeds in het 6e, 7e en 8e uur, terwijl start=2006060622, end=2008080806 bv. de nachtelijke uren 22, 23 .... 5, 6 geeft.
vars
De voorgedefinieerde sets van variabelen zijn hier:
WIND = DD:FH:FF:FX Wind
TEMP = T:T10N:TD Temperatuur
SUNR = SQ:Q Zonneschijnduur en globale straling
PRCP = DR:RH Neerslag en potentiële verdamping
VICL = VV:N:U Zicht, bewolking en relatieve vochtigheid
WEER = M:R:S:O:Y:WW Weerverschijnselen, weertypen
ALL alle variabelen
stns
Lijst van gewenste stations (nummers) in willekeurige volgorde, gescheiden door ':'.
Geen default waarde; Stations móeten zijn gespecificeerd.
ALL staat voor álle stations.
 
Ik krijg data binnen vanaf 01-08-2020 de rest heb je al in het zip bestand staan dus dat kan je combineren.
 

Bijlagen

  • KNM1.xlsx
    163,2 KB · Weergaven: 134
Ik heb van het KNMI begrepen dat die link alleen de vorige en huidige maand daar publiceert. Toch wil ik, van - tot kunnen selecteren en dat zou het beste kunnen in dat bestand met de gegevens in deze link waar dat zip bestand staat:

https://cdn.knmi.nl/knmi/map/page/kl..._2011-2020.zip

Kan power query niet ook zip bestanden unzippen en inlezen, dan heb ik de volledige reeks die dagelijks wordt aangevuld en ik maar hoef te refreshen elke keer in nieuwe data nodig heb.
Die bovenstaande url krijg ik wel in Power Query, maar hem unzippen en daarna bewerken lukt me niet.
 
De Power BI app Globale Straling die hier wordt beschreven put uit dezelfde bron. In Power Query/M ziet dat er zo uit:
Code:
= Csv.Document(Web.Contents("http://projects.knmi.nl/klimatologie/daggegevens/getdata_dag.cgi?stns=all&vars=Q&byear=1957&bmonth=1&bday=1&eyear=2030&emonth=12&eday=31"),[Delimiter=",", Columns=3, Encoding=1252, QuoteStyle=QuoteStyle.None])
Allemaal vaste parameters dus, de app haalt elke nacht alle data op.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan