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