Bitte warten...

Xplanet

(quelloffen, Version 1.3.0 unter Linux Mint 21) symbol: image

Die letzte Veröffentlichung ist aus dem Jahr 2016.

Xplanet ist eine Kommandozeilen-orientierte Software zum Erstellen von fotorealistischen Ansichten der Planeten des Sonnensystems. Über eine Konfigurationsdatei und Kommando-Optionen kann die Bildgestaltung gesteuert werden. Zunächst wird folgendes Paket benötigt:

sudo apt-get install xplanet

Installation per apturl symbol: question

Über folgenden Befehl kann ein erstes Bild der Erde erzeugt werden mit 0° Breite und 0° Länge als Position unter dem Betrachter sowie mit Tag- und Nacht-Darstellung bei einer Bildgröße von 512 × 512 Pixeln:

xplanet -num_times 1 -output ~/Schreibtisch/xplanet.png

Komandozeilen-Optionen

Die unterstützten Komandozeilen-Optionen findet man über man xplanet. Hier eine Auswahl:

Option Beschreibung
-output Der Pfad der auszugebenden Biddatei.
Beispiel: -output ~/Schreibtisch/xplanet.png
-num_times Die Anzahl der Rendering-Vorgänge. Wird diese Option nicht angegeben, werden unbegrenzt viele Bilder ausgegeben und das Programm kann nur über Strg+C abgebrochen werden.
Beispiel: -num_times 1
-latitude Die geografische Breite unter dem Betrachter als Fließkommazahl (-origin wird ignoriert).
Beispiel: -latitude 52.5
-longitude Die geografische Länge unter dem Betrachter als Fließkommazahl (-origin wird ignoriert).
Beispiel: -longitude 13.5
-geometry Die Breite und Höhe des auszugebenden Bildes in Pixeln.
Beispiel: -geometry 2048x1024
-background Die Farbe oder Bilddatei des Hintergrundes.
Beispiel: -background 0x002233
-body oder
-target
Der zu rendernde Himmelskörper, wobei sich eine Grafik mit der Textur des Himmelskörpers in ~/.xplanet/images oder /usr/share/xplanet/images befinden muss. Lediglich Erde und Sonne benötigen keine besondere Texturgrafik.
Beispiel: -body mars
-center Der Mittelpunkt (x/y) des zu rendernden Objekts innerhalb der Grafik. Der Nullpunkt ist oben links.
Beispiel: -center +512+500
-date Der Zeitpunkt, für den das Objekt gerendert werden soll im Format YYYYMMDD.hhmmss. Wird dieser Wert nicht angegeben, wird die aktuelle Ortszeit angenommen.
Beispiel: -date 20211104.073729
-label Zeigt eine Beschriftung des Objekts an.
-localtime Das Objekt wird gerendert, als würde sich der Betrachter über dem Ort befinden, an dem die angebene Ortszeit herrscht (-longitude wird ignoriert).
Beispiel: -localtime 15
-origin Das Objekt wird gerendert, als würde sich der Betrachter im Mittelpunkt des angegebenen Objekts befinden.
Beispiel: -origin moon
-post_command Ein Befehl, der ausgeführt wird, nachdem das Bild gerendert wurde.
Beispiel: -post_command "bash /home/BENUTZERNAME/script.sh"
-prev_command Ein Befehl, der ausgeführt wird, bevor das Bild gerendert wird.
Beispiel: -prev_command "bash /home/BENUTZERNAME/script.sh"
-projection Die Kartenprojektion, in der das Bild gerendert wird.
Beispiel: -projection mercator
-radius Der Radius des zu rendernden Objekts in Prozent der Bildschirmhöhe. Ändert den Abstand des Betrachters zum Objekt.
Beispiel: -radius 80
-range Die virtuelle Entfernung zum Hintergrund.
Beispiel: -range 3
-wait Bild nach der angegebenen Zeit in Sekunden kontinuierlich aktualisieren.
Beispiel: -wait 1800

Konfigurationsdatei

Bei der Erzeugung des Bildes liest xplanet folgende Konfigurationsdateien:

/etc/xplanet/config/default (systemweit) und
~/.xplanet/config/default (nur für den aktuellen Benutzer)

Die Konfigurationsdatei für den aktuellen Benutzer muss allerdings zunächst manuell angelegt werden, wobei man dazu am besten die systemweite Datei kopiert. Bei der Gelegenheit kann man auch gleich den Bilderordner anlegen:

mkdir -p ~/.xplanet/config
mkdir -p ~/.xplanet/images
cp /etc/xplanet/config/default ~/.xplanet/config/default

In diesen Dateien lassen sich nun weitere Einstellungen für das Rendern vornehmen. Beispielsweise:

Code kopieren
  1. [default]
  2. ...
  3. draw_orbit=true # zeichnet die Umlaufbahnen der Planeten

Wolkenbilder hinzufügen

Um beim Rendern der Erde einen Wolkenhimmel hinzuzufügen, benötigt man dazu zunächst eine entsprechende Grafik, die man beispielsweise folgendermaßen herunterladen kann:

wget https://eoimages.gsfc.nasa.gov/images/imagerecords/57000/57747/cloud_combined_2048.jpg -P ~/.xplanet/images

Diese Grafik ist allerdings statisch, gibt also nicht die reale aktuelle Bewölkung wieder. Meines Wissens gibt es gegenwärtig keine unkommerziellen Anbieter von dynamischen Wolkenbildern.

In der Konfigurationsdatei ergänzt man nun in der Sektion [earth] folgende Zeile und speichert die Datei:

Code kopieren
  1. [earth]
  2. ...
  3. cloud_map=cloud_combined_2048.jpg

Nun kann man das Bild erneut generieren (diesmal in den Bilderordner von xplanet):

xplanet -num_times 1 -latitude 52.5 -longitude 13.5 -geometry 2048x1024 -output ~/.xplanet/images/current.png

Texturen ergänzen

Um die Oberflächen anderer Himmelskörper wie Mond und Planeten ebenfalls fotorealistisch darstellen zu können, müssen deren Texturen erst heruntergeladen und in der Konfigurationsdatei referenziert werden.

Für den Mond beispielsweise:

wget https://svs.gsfc.nasa.gov/vis/a000000/a004700/a004720/lroc_color_poles_2k.tif -P ~/.xplanet/images

In der Konfigurationsdatei wird das Bild nun in der Sektion [moon] in der Variable map referenziert:

Code kopieren
  1. [moon]
  2. ...
  3. map=lroc_color_poles_2k.tif

Dieser Befehl erzeugt dann ein Bild des Mondes von der Erde aus gesehen:

xplanet -num_times 1 -target moon -origin earth -geometry 2048x1024 -output ~/.xplanet/images/current.png

Es ist auch möglich, komplett vorgerenderte Bilder zu verwenden.

Für die Erde beispielsweise (einschließlich aktueller Bewölkung und Nachtbeleuchtung):

wget --header="Referer: http://www.die.net/" https://static.die.net/earth/mercator/1600.jpg -P ~/.xplanet/images

In der Konfigurationsdatei muss das Bild nun in der Sektion [earth] in der Variable map referenziert werden. Eine gesonderte Textur für die Nachtseite wird in der Variable night_map referenziert.

Code kopieren
  1. [earth]
  2. ...
  3. map=1600.jpg
  4. night_map=1600.jpg

In dem xplanet-Befehl wird dann die Bildgröße entsprechend dem heruntergeladenen Bild angepasst:

xplanet -num_times 1 -latitude 30 -longitude 13.5 -range 3 -geometry 1600x887 -output ~/.xplanet/images/current.png

Koordinatengitter anzeigen

Um ein Koordinatengitter anzuzeigen ändert man folgende Zeilen in der Sektion [default]:

Code kopieren
  1. [default]
  2. ...
  3. grid=true # Koordinatengitter anzeigen
  4. grid1=6 # Anzahl der Gitterlinien pro 90°
  5. grid2=20 # Anzahl der Gitterpunkte zwischen den Linien

Gerendertes Bild als Desktop-Hintergrund einrichten

Ein von xplanet gerendertes Bild kann wie jedes andere Bild auch als Desktop-Hintergrund eingerichtet werden. Entweder man verwendet dazu die üblichen grafischen Bordmittel oder gsettings (der Platzhalter BENUTZERNAME ist durch den eigenen Benutzernamen zu ersetzen):

gsettings set org.cinnamon.desktop.background picture-uri file:///home/BENUTZERNAME/.xplanet/images/current.png
Damit bei jeder Anmeldung am Rechner das Hintergrundbild neu generiert wird, kann man ein kleines Skript anlegen, das man dann zu den Startprogrammen hinzufügt:

xed ~/.xplanet/script.sh

Code kopieren
  1. #!/bin/bash
  2. cd ~/.xplanet/images/
  3. wget --header="Referer: https://www.die.net/" https://static.die.net/earth/mercator/1600.jpg -O 1600.jpg
  4. xplanet -num_times 1 -latitude 30 -longitude 13.5 -range 3 -radius 42 -geometry 1600x887 -center +800+420 -output current.png

Unter ► Einstellungen ► Startprogramme wird dieses Skript mit folgendem Befehl eingetragen:

bash /home/BENUTZERNAME/.xplanet/script.sh

Wenn man möchte, dass das Hintergrundbild in einem bestimmten Intervall automatisch aktualisiert wird, kann man dazu einen Cronjob einrichten. Dazu editiert man die Crontab mit dem Editor Nano:

crontab -e

Dort fügt man folgende Zeile hinzu, speichert die Datei (Strg+O) und schließt sie (Strg+X):

Code kopieren
  1. */15 * * * * bash /home/BENUTZERNAME/.xplanet/script.sh

In diesem Beispiel wird das Skript alle 15 Minuten ausgeführt und damit das Bild aktualisiert.