plotting rainfall data, having latitude and longitude, on map
    5 views (last 30 days)
  
       Show older comments
    
Hi, I have problem with plotting rainfall data (with latitude and longitude) on map. I googled it, there were many answers but couldn't do it. My data has latitude(1x86400),longitude(1x86400) and corresponding rainfall (1x86400). I have to plot rainfall data on map corresponding to latitude and longitude. My code is similar to below one but not working though not showing any error. Need help.Thank you.
A=importdata('new.dat');
lat=A(:,1);
lon=A(:,2);
lat1=meshgrid(lat,1:25);
lon1=meshgrid(lon,1:25);
z=A(:,3);
z1=meshgrid(z,1:25);
worldmap('world')      % initializes map
contourm(lat1,lon1,z1)    % plots contours
c = load('coast.mat'); % loads coastlines
plotm(c.lat,c.long)    % plots coastlines
2 Comments
  the cyclist
      
      
 on 30 May 2017
				Can you be more specific about what is not working?
Is it possible for you to upload your file new.dat, or MAT file with the data, so that people can run your code? (I won't be able to, since I do not have the Mapping Toolbox.)
Accepted Answer
  KSSV
      
      
 on 31 May 2017
        Your data is a scattered data.....you cannot use meshgrid as the way you have used. You need to interpolate the data into a grid and then plot. Check the below code:
A=importdata('new.dat');
lat=A(:,1);
lon=A(:,2);
z=A(:,3);
lon0 = min(lon) ; lon1 = max(lon) ;
lat0 = min(lat) ; lat1 = max(lat) ;
N = 100 ;
x = linspace(lon0,lon1,N) ;
y = linspace(lon1,lat1,N) ;
[X,Y] = meshgrid(x,y) ;
F = scatteredInterpolant(lon,lat,z) ;
Z = F(X,Y) ;
worldmap('world')      % initializes map
contourm(X,Y,Z)    % plots contours
c = load('coast.mat'); % loads coastlines
plotm(c.lat,c.long)    % plots coastlines
More Answers (0)
See Also
Categories
				Find more on Geographic Plots in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


