2026. szeptember 13., vasárnap

Műholdas felvétel elemzésére írt python program

A NASA kutató szervereire szánt Python programok általában nagy mennyiségű adat feldolgozásával (adatbányászat, gépi tanulás), műholdas felvételek elemzésével vagy fizikai szimulációkkal foglalkoznak.Az alábbiakban egy műholdas képelemző és hőtérkép-generáló mintaprogramot találsz. Ez a szkript egy képzeletbeli műholdas szenzor adatait dolgozza fel: kiszűri a hibás adatokat (pl. űrszemét vagy mérési hiba), kiszámítja az átlagos hőmérsékletet, majd vizualizálja a bolygófelszínt.
-------------
import matplotlib.pyplot as plt
import numpy as np


def generate_satellite_data(shape=(100, 100)):
    """Szimulált műholdas hőtérkép adatok generálása (Kelvinben)."""
    # Alap hőmérsékleti mátrix generálása (pl. 250K és 310K között)
    data = np.random.uniform(250, 310, size=shape)

    # Mérési hibák vagy "űrszemét" szimulálása (extrém irreális értékek)
    data[15, 20] = 999.0
    data[75, 45] = -99.0

    return data


def process_research_data(raw_data):
    """Adattisztítás és statisztikai elemzés."""
    print("--- NASA Adatfeldolgozás Indítása ---")

    # Hibás adatok maszkolása (reális planetáris hőmérséklet: 100K és 400K között)
    cleaned_data = np.copy(raw_data)
    invalid_mask = (cleaned_data < 100) | (cleaned_data > 400)

    # A hibás értékeket a környező érvényes adatok átlagával helyettesítjük
    cleaned_data[invalid_mask] = np.nan
    mean_temp = np.nanmean(cleaned_data)
    cleaned_data[np.isnan(cleaned_data)] = mean_temp

    # Alapvető statisztikák kiszámítása
    min_temp = np.min(cleaned_data)
    max_temp = np.max(cleaned_data)

    print(f"Feldolgozott pixelek száma: {cleaned_data.size}")
    print(f"Kiszűrt mérési hibák száma: {np.sum(invalid_mask)}")
    print(f"Globális átlaghőmérséklet: {mean_temp:.2f} K")
    print(f"Minimum hőmérséklet: {min_temp:.2f} K")
    print(f"Maximum hőmérséklet: {max_temp:.2f} K")

    return cleaned_data


def visualize_surface(data):
    """A tisztított adatok vizualizációja kutatási jelentéshez."""
    plt.figure(figsize=(8, 6))
    plt.imshow(data, cmap="jet", origin="lower")
    plt.colorbar(label="Hőmérséklet (Kelvin)")
    plt.title("Műholdas Felszíni Hőtérkép - Tisztított Adatok")
    plt.xlabel("X koordináta (pixel)")
    plt.ylabel("Y koordináta (pixel)")
    plt.grid(False)

    # Kép mentése a szerverre
    plt.savefig("nasa_processed_surface.png", dpi=300)
    print("A hőtérkép elmentve: nasa_processed_surface.png")
    plt.show()


# --- Főprogram futtatása ---
if __name__ == "__main__":
    # 1. Nyers adatok beolvasása (szimuláció)
    raw_satellite_dataset = generate_satellite_data()

    # 2. Adatok tisztítása és elemzése
    processed_dataset = process_research_data(raw_satellite_dataset)

    # 3. Eredmények vizualizációja
    visualize_surface(processed_dataset)

-------------
 --- NASA Adatfeldolgozás Indítása ---
Feldolgozott pixelek száma: 10000
Kiszűrt mérési hibák száma: 2
Globális átlaghőmérséklet: 279.94 K
Minimum hőmérséklet: 250.02 K
Maximum hőmérséklet: 309.99 K
A hőtérkép elmentve: nasa_processed_surface.png

----------------


Nincsenek megjegyzések:

Megjegyzés küldése