Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #4712

Re: Temperaturdaten / Chart (interpolieren)

From Arno Welzel <usenet@arnowelzel.de>
Newsgroups de.comp.lang.php
Subject Re: Temperaturdaten / Chart (interpolieren)
Date 2021-05-31 14:28 +0200
Message-ID <ihk32nFjndrU1@mid.individual.net> (permalink)
References <s8ricb$864$1@tota-refugium.de>

Show all headers | View raw


Tim Ritberg:

> Ich habe eine Mysql-Datenbank mit Temperaturwerten. Meßzeitpunkt ist 
> immer eine Temperaturveränderung, also keine festen Intervalle.
> 
> Jetzt suche ich eine Möglichkeit einen Tagestemperaturverlauf anzeigen 
> zu können.

Baue ein Array auf, was alle theoretischen Werte im Verlauf abdeckt.

Dann nimm' die Werte und verteile Sie in das Raster. Der Meßzeitpunkt
muss natürlich bekannt sein

Angenommen, Du hast die Werte aus der Datenbank in einem Array $values
mit jeweils Stunde und Wert:

<?php
$values =
[
    [ 'hour' => 0, 'value' => 2.4 ],
    [ 'hour' => 2, 'value' => 4.2 ],
    [ 'hour' => 3, 'value' => 7.7 ],
    [ 'hour' => 8, 'value' => 12.1 ],
    [ 'hour' => 9, 'value' => 12.7 ],
    [ 'hour' => 14, 'value' => 18.4 ],
];

$hour = 0;
while ($hour<24) {
    $dayValues[$hour] = 0;
    $hour++;
}

foreach ($values as $value) {
    $dayValues[$value['hour']] = $value['value'];
}

echo "Zeitreihe 0-23 Uhr:\n";
$hour = 0;
while ($hour<24) {
    printf("Wert um %d Uhr: %f\n", $hour, $dayValues[$hour]);
    $hour++;
}
?>

Wenn Du die "Lücken" in der Zeitreihe auffüllen willst, müsstest Du die
Quelldaten nach der Stunde aufsteigend sortieren und Dir dann beim
übertragen in das Ziel-Array bei jedem Schritt merken, was der letzte
Stundenwert war und ggf. vom letzten bis zum aktuellen Wert
interpolierte Werte eintragen.

-- 
Arno Welzel
https://arnowelzel.de

Back to de.comp.lang.php | Previous | NextPrevious in thread | Find similar


Thread

Temperaturdaten / Chart (interpolieren) Tim Ritberg <tim@server.invalid> - 2021-05-28 22:04 +0200
  Re: Temperaturdaten / Chart (interpolieren) Matthias P. Würfl <matthias@wuerfl.com> - 2021-05-29 03:51 -0700
    Re: Temperaturdaten / Chart (interpolieren) Tim Ritberg <tim@server.invalid> - 2021-05-29 13:33 +0200
      Re: Temperaturdaten / Chart (interpolieren) Matthias P. Würfl <matthias@wuerfl.com> - 2021-05-29 05:44 -0700
        Re: Temperaturdaten / Chart (interpolieren) Tim Ritberg <tim@server.invalid> - 2021-05-29 15:22 +0200
          Re: Temperaturdaten / Chart (interpolieren) Jan Novak <repcom@gmail.com> - 2021-05-31 09:51 +0200
            Re: Temperaturdaten / Chart (interpolieren) Tim Ritberg <tim@server.invalid> - 2021-05-31 10:35 +0200
  Re: Temperaturdaten / Chart (interpolieren) Arno Welzel <usenet@arnowelzel.de> - 2021-05-31 14:28 +0200

csiph-web