• 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.

weersomstandigheden mogelijk?

Status
Niet open voor verdere reacties.

gast0219

Gebruiker
Lid geworden
7 feb 2017
Berichten
107
hallo beste helpers,

ik heb een kleine vraag, is het mogelijk net zoals met de huidige datum en tijd automatisch te laten invullen in een textbox in een userform, is het ook eventueel mogelijk om diverse data van de actuele weersgegevens, zoals luchtdruk, temperatuur, maanstand en bewolking automatisch te laten opzoeken en invullen in diverse textboxen ( 1 to 7 ) die in een userform staan?? hier kan ik niets over terugvinden op internet.

Alvast bedankt voor de informatie en eventuele hulp,

gr
 
Laatst bewerkt:
Ja dat is mogelijk, de gegevens haal je van het internet doormiddel van een API (site die puur data beschikbaar stelt).
Maar hoe wil je aan de plaats/gps-coordinaten komen, door ook de plaats/land of gps-coordinaten in te voeren in een textbox?
De kans bestaat dat de maanstand niet op te vragen is in een meteorologische API, maar die is ook te astronomisch te berekenen.
 
Laatst bewerkt:
Met gratis api.met.no/weatherapi van MET Norway.
Misbruik wordt bestraft.

Code:
[SIZE=1]
Option Explicit

Dim lngColumn As Long
Dim lngRow As Long

Private Sub CommandButton1_Click()

    Dim avntTime As Variant
    Dim avntTimes As Variant
    Dim strCity As String
    Dim strCountry As String
    Dim strLat As String
    Dim strLng As String
    Dim strURL1 As String
    Dim strURL2 As String

    On Error Resume Next

    With Application
        .Calculation = xlCalculationManual
        .EnableEvents = False
        .ScreenUpdating = False
    End With

    Range("A6").CurrentRegion.Clear

    strCity = Range("B1").Value
    strCountry = Range("B2").Value

    With CreateObject("MSXML2.DOMDOCUMENT")
        .Async = False
        strURL1 = "https://maps.googleapis.com/maps/api/geocode/xml?address=" & Replace(strCity & "," & strCountry, " ", "+")
        .Load strURL1
        If .SelectSingleNode("//status").Text = "OK" Then
            strLat = .SelectSingleNode("//location/lat").Text
            strLng = .SelectSingleNode("//location/lng").Text
        End If
        'http://api.met.no/conditions_service.html
        'Do not ask too often. Avoid continuous updating of mobile devices. Applications on mobile devices shall not retrieve new data as long as the application is not in use.
        strURL2 = "http://api.met.no/weatherapi/locationforecast/1.9/?lat=" & strLat & ";lon=" & strLng    'am_2017
        .Load strURL2
        Set avntTimes = .SelectNodes("//time[@from=@to]")
        lngRow = 5
        For Each avntTime In avntTimes
            lngRow = lngRow + 1
            lngColumn = 0
            Call Parse(avntTime)
        Next
    End With

    Range("A6").CurrentRegion.Columns.AutoFit
    Application.Goto Range("A6")

    With Application
        .Calculation = xlCalculationAutomatic
        .EnableEvents = True
        .ScreenUpdating = True
    End With

End Sub

Private Function Parse(avntParent As Variant)
    Dim avntAttribute As Variant
    Dim avntChild As Variant
    lngColumn = lngColumn + 1
    Cells(lngRow, lngColumn).Value = avntParent.BaseName
    For Each avntAttribute In avntParent.Attributes
        lngColumn = lngColumn + 1
        Cells(lngRow, lngColumn).Value = avntAttribute.BaseName
        lngColumn = lngColumn + 1
        Cells(lngRow, lngColumn).Value = avntAttribute.Text
    Next
    If avntParent.HasChildNodes() Then
        For Each avntChild In avntParent.ChildNodes
            Call Parse(avntChild)
        Next
    End If
End Function[/SIZE]
 

Bijlagen

  • helpmij haagieee weather api.xls
    104 KB · Weergaven: 100
Helemaal geweldig alphamax!!!
Ik denk dat de meeste gegevens er wel inzitten die ik graag zou willen gebruiken. Ik had zover nog niet eens nagedacht over het invoeren van de plaatsgegevens, ik wist niet eens of het mogelijk was om deze gegevens te kunnen importeren in een excelbestand. Hier kan ik zeker weer even mee vooruit en lekker gaan stoeien op me gemak... Hartelijk bedankt voor de opzet en code, hier kon ik niets over vinden op internet. :thumb::thumb:
 
heb ik eigenlijk een volgende vraag hierop zoals je zelf al aangaf... zou ik het dus ook ip.v. stadsnaam op kunnen instellen op lengte en breedtegraad, tot 6 cijfers achter de punt, dit omdat ik deze data uit een ander registratiebestand moet halen, deze heb ik momenteel op die manier opgeslagen voor een betere locatie indicatie. En 2e vraag, kan ik ook eventueel data van eerdere datums en tijdstippen op die lengte en breedtegraad opzoeken, als ik dan een datum, tijdstip, lengtegraad en breedtegraad aangeef, dat het restultaat wordt weergegeven als "middelste waarde". dus dat er bv een een paar dagen ervoor weergegeven, dan de aangegeven waardes van die lokatie, en een paar dagen erna

Alvast hartelijk bedankt,

gr.
 
Laatst bewerkt:
Ik snap de bedoeling van je tweede vraag niet.
Wil je b.v. vanaf 5 dagen in de toekomst, 3 dagen naar voor en naar achter kijken.
Dus vanaf vandaag de periode van dag 2 (5-3) tot en met 8 (5+3).

Of

Wil vanaf vandaag, 3 dagen vooruit en 3 dagen terug kijken?
Wat is het nut daarvan.

GPS-coordinaten is geen probleem, die worden nu ook al in de code opgevraagd.
 
Beste alphamax,


Ik snap de bedoeling van je tweede vraag niet.
Wil je b.v. vanaf 5 dagen in de toekomst, 3 dagen naar voor en naar achter kijken.
Dus vanaf vandaag de periode van dag 2 (5-3) tot en met 8 (5+3).

Of

Wil vanaf vandaag, 3 dagen vooruit en 3 dagen terug kijken?
Wat is het nut daarvan.


Ik zal je mijn probleem proberen uit te leggen. Ik zag in jou voorbeeldbestand dat hij meerdere datums en om de 3 uur de metingen weergeeft vanaf het moment dat je hem ververst. Dit bracht mij dus op het volgende probleem:
Me vrouwtje en ik zijn ook hele fanatieke karpervissers, wij zitten vaak een hele week of een lang weekend aan de waterkant. We proberen diverse gegevens bij te houden o.a. van het weer, van onze visstekken waar we onze lijnen uitleggen, of wanneer we een run hebben. Maar mede doordat we dus een hele week of lang weekend aan de waterkant zitten, en we geen laptop bij ons hebben moet ik deze gegevens thuis na het weekend/weekje vissen invoeren in het bestand, vandaar ik een oudere datum en tijdstip zou kunnen willen opzoeken en dat ik ook graag op lengte en breedtegraad de weersgegevens zou kunnen willen opvragen ivm de eerdere genoteerde coördinaten van de visstekken.

dus b.v. als ik 4 waardes zou kunnen ingeven 52.033247 en 4.3667487 25-03-2017 06.00 dat de tijden vanaf b.v. 24-03-2017 18:00 uur tot 25-03-2017 18:00 uur worden weergeven. Ik weet niet wat hierin mogelijk is kwa "range".

En dan als laatste vraag, hoe zou ik de datum en tijd in uw voorbeeldbestand moeten scheiden naar 2 textboxen in mijn userform??


Ik hoop dat het zo wat duidelijker is. Alvast hartelijk bedankt voor alles.

gr,
 
Laatst bewerkt:
Volgens mij ben je dan beter geholpen met historische meteoroligische data, in plaats van voorspellingen.
 
als die gegevens geïmporteerd zouden kunnen op een zelfde soort manier als uw voorbeeld, maar dan aan de hand van gekozen datum, tijd, lengte- en breedtegraad ( locatie van onze visstek ).... dan zouden we geweldig geholpen zijn!!
 
Laatst bewerkt:
Ik denk dat gps-coordinaten automatisch worden omgezet naar locaties van officieele weerstations.
 
en worden dat dat de dichtst bijzijnde weerstations van de locatie ?? is dat inzichtelijk te maken voor de controle... misschien iets om een beter id te krijgen wat de bedoeling is zal ik het bestandje even uploaden. Het userform wat ik probeer te maken laat ik momenteel 2 textboxen (5 en 6 in userform uitleggen) vullen met de gps data van de ingevoerde stek, aan de hand hiervan zou ik desbetreffende gegevens willen zoeken. Uw bestand staat er ook in verwerkt, deze heeft ook een werkend userform met wat ik aan het proberen was. Deze wilde ik gaan doorlinken aan het andere userform of iets, hier ben ik dus nog niet helemaal uit. Ik hoop dat ik op een manier de meest geschikte data, van het dichtsbijzijnde weerstation kan verkrijgen bij de bijbehorende coördinaten van de visstek.

Hierbij even het voorbeeldbestandje ter verduidelijking...Bekijk bijlage Testvis.xlsb
 
Laatst bewerkt:
goedemorgen alphamax,

Als eerste nog dank voor uw hulp en het meedenken over mijn probleem.

Ik ben even aan het denken geweest na de tip van u om de gegevens van https://www.wunderground.com/history...eqdb.wmo=06377 af te halen. Ik ben van mening dat uw 1e bestand mij meer informatie verstrek waar ik meer aan heb. Deze heb ik ook momenteel in mijn orginele bestand verwerkt en werkt verder zoals ik wil. Alleen graag zou ik hiermee ook nog op een eerdere datum en tijdstip willen kunnen zoeken. Zou u mij hiermee nog kunnen helpen om dit te kunnen realiseren?

Alvast bedankt en met vriendelijke groet,
 
Niet alle sites verstrekken dezelfde informatie, api.met.no/weatherapi levert alleen maar voorspellingen en geen historische data.
Er zijn voldoende weather api's die historische data leveren, maar voor allen moet je je aanmelden voor het verkrijgen van een api-key.
Bij api.met.no/weatherapi hoeft dat niet, en dat vond ik makkelijker om het principe te laten zien.
 
Laatst bewerkt:
ik zit een beetje rond te kijken maar volgens mij is die van het knmi ook gratis en hoef je je niet voor in te schrijven.
 
De site van de knmi ziet er interresant uit, maar moet ik nog eerst bestuderen
Op deze subsite kan je zelf txt-bestanden downloaden met alle actueele gegevens, zie https://www.knmi.nl/nederland-nu/klimatologie/daggegevens
Gewoon het automatische weerstation downloaden in de buurt van je visstek, en je hebt alle gegevens van afgelopen dagen/weken.
Ik kan dan wel iets moois programmeren maar met deze gegevens kan je zelf aan de slag, het begrijpen en aanpassen.
 
Laatst bewerkt:
ja bedankt voor de tip alphamax, die heb ik ook voorbij zien komen. Ik moet de rest van dit bestand dus ook nog verder afmaken met alles wat we erin wil hebben om onze data goed te kunnen gaan vergelijken en een goed inzicht te krijgen op het water waar we vissen, dus daar ben ik voorlopig ook nog wel bezig. Tot die tijd dat het bestandje af is moeten mijn vrouwtje en ik toch alle data nog handmatig bijhouden.
 
Zet je gegevens in kolom B tot en met F
Vul de juiste waarde in voor de zomertijd (0=wintertijd, 1=zomertijd)
De code kijkt als er nieuwe gegevens staan in kolom B
Vervolgens kijkt de code als er al weergegevens staan in kolom G

De code zet de nederlandse tijd om naar de universele tijd waar de site van de knmi mee werkt.
De code heeft een dagcorrectie voor uren net na middernacht

Start de macro door op ALT+F8 te drukken, en vervolgen Blad1.Main en "uitvoeren".

P.S. het opvragen van de gegevens gaat zeer langzaam, er komt dus een zandlopertje in beeld, doe niets, heb geduld het kan een paar minuutjes duren.
 

Bijlagen

  • helpmij Haagieee knmi uurgegevens.xls
    85 KB · Weergaven: 73
Laatst bewerkt:
Goedeavond Alphamax,

Hartelijk dank voor uw tijd en de gedane moeite die u hierin heeft gestoken om deze 2 bestanden te kunnen realiseren voor me vrouwtje en mij. Van deze gaan we allebei goed gebruik van maken. Wij stellen het zeer op prijs en deze bestanden gaan voor ons een heleboel makkelijker maken. Ons probleem is hiermee dan ook opgelost. Ik heb eigenlijk 1 laatste vraag over uw 1ste bestand die u had gecreëerd. In dit bestand staan de datum en tijd gezamelijk in 1 cell, ik kolom E als voorbeelddatum 2017-04-03T14:00:00Z. Kan ik deze "datum en tijd tekst scheiden naar 2 veschillende textboxen in het userform b.v. met een textbox_change of iets??

het lukte me niet met
If Me.TextBox0.Value = "####-##-##" & "T" & "##:##:##" & "Z" then Me.TextBox1.Value ="####-##-##" & Me.TextBox2.Value = "##:##"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan