stationäre Punkte drin

This commit is contained in:
Eskimue
2026-04-03 15:06:09 +02:00
parent e7dae6667f
commit a4e2367f33
4 changed files with 217 additions and 2 deletions
+40
View File
@@ -64,6 +64,7 @@ $moonApsisEvents = [];
$sunApsisEvents = [];
$innerPlanetElongationEvents = [];
$outerPlanetEvents = [];
$outerPlanetStationEvents = [];
$moonOccultations = [];
$seasonChanges = [];
$monthEventList = [];
@@ -440,6 +441,23 @@ if (is_array($outerPlanetDecoded) && ($outerPlanetDecoded['ok'] ?? false)) {
$outerPlanetEvents = is_array($outerPlanetDecoded['events'] ?? null) ? $outerPlanetDecoded['events'] : [];
}
$outerPlanetStationOutput = [];
$outerPlanetStationExitCode = 0;
$outerPlanetStationArgs = [
$pythonScriptPath,
'outer_planet_stations_for_month',
(string) $selectedYear,
(string) $selectedMonth,
$chartTimezone,
];
$outerPlanetStationCommand = $pythonExecutable . ' ' . implode(' ', array_map('escapeshellarg', $outerPlanetStationArgs)) . ' 2>&1';
exec($outerPlanetStationCommand, $outerPlanetStationOutput, $outerPlanetStationExitCode);
$outerPlanetStationRaw = trim(implode("\n", $outerPlanetStationOutput));
$outerPlanetStationDecoded = json_decode($outerPlanetStationRaw, true);
if (is_array($outerPlanetStationDecoded) && ($outerPlanetStationDecoded['ok'] ?? false)) {
$outerPlanetStationEvents = is_array($outerPlanetStationDecoded['events'] ?? null) ? $outerPlanetStationDecoded['events'] : [];
}
$moonPlanetOutput = [];
$moonPlanetExitCode = 0;
$moonPlanetArgs = [
@@ -672,6 +690,28 @@ foreach ($outerPlanetEvents as $outerPlanetEvent) {
];
}
foreach ($outerPlanetStationEvents as $outerPlanetStationEvent) {
if (!is_array($outerPlanetStationEvent)) {
continue;
}
$stationPlanet = (string) ($outerPlanetStationEvent['planet_label'] ?? 'Planet');
$stationKind = (string) ($outerPlanetStationEvent['kind'] ?? '');
$stationLabel = $stationKind === 'retrograde'
? $stationPlanet . ' stationär, dann rückläufig'
: ($stationKind === 'prograde'
? $stationPlanet . ' stationär, dann rechtläufig'
: (string) ($outerPlanetStationEvent['label'] ?? 'Stationärer Punkt'));
$monthEventList[] = [
'event' => $stationLabel,
'date' => (string) ($outerPlanetStationEvent['local_date'] ?? ''),
'time' => (string) ($outerPlanetStationEvent['local_time'] ?? ''),
'local_iso' => (string) ($outerPlanetStationEvent['local_iso'] ?? ''),
'type' => 'outer_planet_station',
];
}
foreach ($moonPlanetApproaches as $approachEvent) {
if (!is_array($approachEvent)) {
continue;