MATLAB: Tracer une grille de précipitations, Matlab

Salut, je veux tracer une grille de précipitations sur toute l’étendue de mon DEM.
Les données dont je dispose sont pour 8 emplacements et montrent 2 choses: (i) lat / long; (ii) précipitations totales pour chaque emplacement.
Pouvez-vous m’aider à utiliser les fonctions meshgrid et dispersedinterpolant pour ce faire?
Voici les données:
 
%Lat Long Total Precip (mm)
53.2879 -1.57772 1020
53.406 -1.73752 981
53.3642 -1.70167 1002
53.3362 -1.74618 1500
53.3147 -1.7017 1807
53.274 -1.69155 1492
53.2494 -1.61264 1325
53.227 -1.609 997
 
 
% Define the data
lat=precip_data(:,1);
lon=precip_data(:,2);
total_precip=precip_data(:,3);
% Do I need to change the lat/long corrdinates to projected UTM?
% DEM coordinate system is CT_TransverseMercator / OSGB1936 datum.
% How do I create the meshgrid and scatteredInterpolant for each of the 8 data?
 

Meilleure réponse

  • Essaye ça:
     

    D = [53.2879 -1.57772 1020
    53.406 -1.73752 981
    53.3642 -1.70167 1002
    53.3362 -1.74618 1500
    53.3147 -1.7017 1807
    53.274 -1.69155 1492
    53.2494 -1.61264 1325
    53.227 -1.609 997];
    N = 20; % Size Of Interpolation Vectors/Matrices
    Ltv = linspace(min(D(:,1)), max(D(:,1)), N); % Latitude Vector For Interpolation
    Lnv = linspace(min(D(:,2)), max(D(:,2)), N); % Longitude Vector For Interpolation
    [Ltm,Lnm] = ndgrid(Ltv, Lnv); % Matrices For Interpolation
    Pm = griddata(D(:,1), D(:,2), D(:,3), Ltm, Lnm); % Interpolate
    figure
    surf(Ltm, Lnm, Pm)
    grid on
    view(40,40)
    xlabel('Latitude')
    ylabel('Longitude')
    zlabel('Precipitation (Interpolated)')