Vejret og vandet

Det er altid en god ide at orientere sig omkring alle forhold inden man begiver sig ud på en tur i kajakken. Her er det muligt at finde oplysninger om vejret f.eks. temperaturen, regn, vinden og vindstød, det er også muligt at finde information omkring vandtemperatur, strømretningen, vandstanden og bølger.

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<ArrayOfDepartment xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ThermIT.BathingWater.Models">
<Department>
<DepartmentId>1383</DepartmentId>
<Latitude>55.80418</Latitude>
<Longtitude>12.38554</Longtitude>
<Measurements>
<Measurement>
<MeasurementTime>2025-10-01T19:40:29.71</MeasurementTime>
<Name>Badevand</Name>
<Temperature>15.6</Temperature>
</Measurement>
<Measurement>
<MeasurementTime>2025-10-01T19:40:29.71</MeasurementTime>
<Name>Luft</Name>
<Temperature>12.4</Temperature>
</Measurement>
</Measurements>
<Name>Furesø Furesøbad</Name>
<Sponsors>
<Sponsor>
<SponsorImageLink i:nil="true"/>
<SponsorLink>https://furesobad.furesoe.dk/</SponsorLink>
<SponsorName>Furesø Furesøbad</SponsorName>
</Sponsor>
</Sponsors>
</Department>
<Department>
<DepartmentId>1024</DepartmentId>
<Latitude>57.058404</Latitude>
<Longtitude>9.886025</Longtitude>
<Measurements>
<Measurement>
<MeasurementTime>2025-10-01T19:22:40.707</MeasurementTime>
<Name>Badevand</Name>
<Temperature>13.0</Temperature>
</Measurement>
<Measurement>
<MeasurementTime>2025-10-01T19:22:40.707</MeasurementTime>
<Name>Luft</Name>
<Temperature>13.3</Temperature>
</Measurement>
</Measurements>
<Name>Vestre Fjordpark.</Name>
<Sponsors>
<Sponsor>
<SponsorImageLink i:nil="true"/>
<SponsorLink>https://bit.ly/2LyNsBG</SponsorLink>
<SponsorName>Vestre Fjordpark</SponsorName>
</Sponsor>
</Sponsors>
</Department>
<Department>
<DepartmentId>2941</DepartmentId>
<Latitude>57.059109</Latitude>
<Longtitude>9.886601</Longtitude>
<Measurements>
<Measurement>
<MeasurementTime>2025-10-01T19:46:47.603</MeasurementTime>
<Name>Badevand</Name>
<Temperature>14.0</Temperature>
</Measurement>
<Measurement>
<MeasurementTime>2025-10-01T19:46:47.603</MeasurementTime>
<Name>Luft</Name>
<Temperature>12.2</Temperature>
</Measurement>
</Measurements>
<Name>Vikingeklubben Isbjørnen</Name>
<Sponsors>
<Sponsor>
<SponsorImageLink i:nil="true"/>
<SponsorLink>http://www.isbjornen.dk</SponsorLink>
<SponsorName>Vikingeklubben Isbjørnen</SponsorName>
</Sponsor>
</Sponsors>
</Department>
<Department>
<DepartmentId>3745</DepartmentId>
<Latitude>57.592041</Latitude>
<Longtitude>10.429731</Longtitude>
<Measurements>
<Measurement>
<MeasurementTime>2025-10-01T18:48:46</MeasurementTime>
<Name>Luft Temp.</Name>
<Temperature>12.3</Temperature>
</Measurement>
<Measurement>
<MeasurementTime>2025-10-01T18:48:46</MeasurementTime>
<Name>Vand Temp.</Name>
<Temperature>14.7</Temperature>
</Measurement>
</Measurements>
<Name>Ålbæk Havnebad</Name>
<Sponsors>
<Sponsor>
<SponsorImageLink i:nil="true"/>
<SponsorLink>https://xn--lbk-havnebad-scbq.dk/</SponsorLink>
<SponsorName>Aalbæk havnebad</SponsorName>
</Sponsor>
</Sponsors>
</Department>
</ArrayOfDepartment>

<!DOCTYPE html>
<html lang="da">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Temperatur for Station 2941</title>
</head>
<body>

    <h1>Temperaturmåling for <span id="station-navn"></span></h1>
    <p><strong>Vand:</strong> <span id="vand-temp">Henter...</span></p>
    <p><strong>Luft:</strong> <span id="luft-temp">Henter...</span></p>

    <script>
        async function hentBadevandsTemperatur() {
            // URL er nu specifik for station 2941
            const url = 'https://badevand.thermit.dk/api/measurements/2941';

            // Finder de HTML-elementer, vi vil opdatere
            const stationNavnElement = document.getElementById('station-navn');
            const vandTempElement = document.getElementById('vand-temp');
            const luftTempElement = document.getElementById('luft-temp');

            try {
                // Foretager et netværkskald for at hente dataene
                const response = await fetch(url);

                // Konverterer svaret til tekst
                const xmlString = await response.text();

                // Opretter en parser til at behandle XML-teksten
                const parser = new DOMParser();
                const xmlDoc = parser.parseFromString(xmlString, "text/xml");

                // Finder 'Department'-noden i dokumentet. 
                // Bemærk: API'et returnerer stadig en 'Departments' liste, selvom der kun er én.
                const department = xmlDoc.querySelector("Department");

                // Henter navnet på målestationen
                const stationNavn = department.querySelector("Name").textContent;

                // Finder alle 'Measurement'-noder
                const measurements = department.querySelectorAll("Measurement");

                // Initialiserer variabler til temperaturerne
                let vandTemperatur = 'ikke fundet';
                let luftTemperatur = 'ikke fundet';

                // Gennemgår alle målinger for at finde de korrekte temperaturer
                measurements.forEach(measurement => {
                    const type = measurement.querySelector("Name").textContent;
                    const temp = measurement.querySelector("Temperature").textContent;

                    if (type === 'Badevand') {
                        vandTemperatur = temp;
                    } else if (type === 'Luft') {
                        luftTemperatur = temp;
                    }
                });

                // Opdaterer teksten på hjemmesiden med de hentede værdier
                stationNavnElement.textContent = stationNavn;
                vandTempElement.textContent = `${vandTemperatur}°C`;
                luftTempElement.textContent = `${luftTemperatur}°C`;

            } catch (error) {
                // Håndterer eventuelle fejl undervejs
                console.error("Der opstod en fejl:", error);
                stationNavnElement.textContent = "Kunne ikke hente data";
                vandTempElement.textContent = "Fejl";
                luftTempElement.textContent = "Fejl";
            }
        }

        // Kalder funktionen, når siden er indlæst
        hentBadevandsTemperatur();
    </script>

</body>
</html>