Seite 2 von 2

Re: sat24.com erneuert

Verfasst: Mi 24. Jan 2024, 19:51
von marty
Hallo zusammen,

Mit diesem kleinen Powershellscript kann das neueste IR Satbild von Europa huntergeladen werden. Das Script kann mit einem "Windows Aufgabenplanung" Job z.B. im 5 Minten takt aufgerufen werden um damit das aktuelle Bild in einen bestimmten Ordner lokal herunterzuladen, dieses loakle Bild kann dann als Hintergrundbild definiert werden. Die UTC Zeit des SAT-Bildes wird vom Script ebenfalls oben rechts eingeblendet, das ist im original Bild nicht vorhanden. Wie stabil das läuft weiss ich noch nicht. Mal kucken.
Gruss
Stefan

Powershell Script:
$rootpath="C:\Users\Administrator\Documents\temp\meteo_sat_2\"
$filepath_working=$rootpath+'last.jpg'
$info_url="https://imn-api.meteoplaza.com/v4/nowca ... -infrared/"
#$pic_url


$response = Invoke-WebRequest -Uri $info_url
$infoC=$response.Content
$infoJ=$infoC | ConvertFrom-Json

$lasturl=$infoJ.layers | Select-Object -Last 1
$lasturl
$lastAbsurl="https://imn-api.meteoplaza.com/v4/nowca ... ttype=jpeg"
$lastAbsurl

$datum = $lasturl.time.ToString()
$textToAdd=[datetime]::ParseExact($datum, 'yyyy-MM-ddTHH:mm:ssZ', $null).ToString("dd.MM.yyyy HH:mm 'UTC'")


$savedImagePath=$filepath_working
$webrequest=Invoke-WebRequest -Uri $lastAbsurl

[System.Drawing.Image]$image=$webrequest.content

$graphics = [System.Drawing.Graphics]::FromImage($image)

# Schriftart und Größe für den Text
$font = New-Object System.Drawing.Font("Arial", 20)

# Farbe des Textes
$brush = New-Object System.Drawing.SolidBrush([System.Drawing.Color]::Black)

# Berechnen Sie die Position für den Text
$textWidth = $graphics.MeasureString($textToAdd, $font).Width
#$positionX = [Math]::Max($image.Width - $textWidth - 10, 0)
$positionX=10
$point = New-Object System.Drawing.PointF($positionX, 10)

# Text zum Bild hinzufügen
$graphics.DrawString($textToAdd, $font, $brush, $point)

# Bild speichern
$image.Save($savedImagePath)

# Ressourcen freigeben
$graphics.Dispose()
$image.Dispose()

Re: sat24.com erneuert

Verfasst: Fr 26. Jan 2024, 18:28
von Matthias_BL
Hello Marty,

Super Sache Dein PS Script. Vielen Dank dafür. Habe vor das am WE auszuprobieren.
Hast Du eigentlich auch den Layer mit den Grenzen der Länder der Europa-Karte über das akt. Sat.Img gelegt? Sehe das gerade nicht in Deinem Code.

Hab es mir etwas umständlicher gemacht und eine vb.NET EXE dafür geproggt (Code auf PN Anfrage) VIS oder IR je nach Uhrzeit, mit EU Länder Overlay, UTC Timestamp und automatischem Update des Desktop-Hintergrundbilds - Win.-Scheduler (Aufgabenplanung) alle 5min.

Bild


Und festgestellt, dass die die Leutchen von der sat24 eine Stunde - oder mehr? - hinterher sind - oder einfach UTC nicht im Griff haben. Z.B. um 16:30h ist es in der CH nicht schon längst stockdunkel.

Bild


Welche Zeit verwenden die eigentlich? Man kann das v.a. morgens gut sehen.
Sat24 VIS zeigt z.B. 08:30h immer noch stockdunkle CH, ist es aber nicht.

Happy computing.
Grüsse Mat

Re: sat24.com erneuert

Verfasst: Sa 27. Jan 2024, 13:26
von marty
Hallo Mat,

Danke für den Hinweis wegen der Zeit
Momentan scheint es wieder zu stimmen (Dunkel/Hell):
Bild

Ich habe bei meinem Script ein Fehler bei der Zeitumrechnung
[datetime]::ParseExact($datum, 'yyyy-MM-ddTHH:mm:ssZ', $null).ToString("dd.MM.yyyy HH:mm 'UTC'")
Das ergibt die lokale Zeit und nicht UTC
Das gibt UTC:
[datetime]::ParseExact($datum, 'yyyy-MM-ddTHH:mm:ssZ', $null).ToUniversalTime().ToString("dd.MM.yyyy HH:mm 'UTC'")
Ich haben gestern das Infra Bild mit einer anderen Quelle verglichen betreffend Zeitangabe scheint es bei SAT24 zu stimmen.

Mit dem Grenzen Layer habe ich herumprobiert. Bin aber noch nicht zufrieden. Schicke später eine PN-Anfrage, nimmt mich wunder wie du das in deinem Code gelöst hast.
Gruss Stefan Marty

Re: sat24.com erneuert

Verfasst: Mo 4. Mär 2024, 13:20
von Bernhard Oker
Anscheinend seit kurzem wieder mit 5min loop. :up:
https://www.sat24.com/de-de/country/ch/ ... =euVisible