Format CSV sédiments requis
Chaque ligne décrit un point de grille avec son type de sédiment codé numériquement.
Colonnes requises :
latlatitude décimale
lonlongitude décimale
soil_identier 0–254
labelnom du type (texte libre)
Règles :
soil_id : entier entre 0 et 254 — la valeur 255 est réservée "non défini" et ignorée
- Tous les points avec le même
soil_id reçoivent automatiquement la même couleur
- Champ
label libre : ex. argile pélagique, sable fin, basalte
- La bathymétrie doit être chargée d'abord — nécessaire pour masquer les zones terrestres
- Taille max recommandée : 300 000 points
# exemple valide
lat,lon,soil_id,label
34.0,138.0,3,Argile pélagique
34.0,138.08,5,Sable fin
34.08,138.0,3,Argile pélagique
⚙ Conversion EarthByte seabed_lithology_v1.nc → CSV (Python) :
import xarray as xr, pandas as pd, numpy as np
ds = xr.open_dataset("seabed_lithology_v1.nc")
# Voir les variables disponibles
print(list(ds.data_vars)) # ex: ['lid']
var = "lid" # ou le nom trouvé ci-dessus
da = ds[var].squeeze()
lats = da.coords["latitude"].values
lons = da.coords["longitude"].values
data = da.values
# Sous-échantillonnage ×4 pour réduire la taille
stride = 4
rows = []
for i in range(0, len(lats), stride):
for j in range(0, len(lons), stride):
v = data[i, j]
if np.isfinite(v) and v >= 0:
rows.append((lats[i], lons[j], int(v), str(int(v))))
df = pd.DataFrame(rows, columns=["lat","lon","soil_id","label"])
df.to_csv("lithologie.csv", index=False)
print(f"{len(df)} points exportés")