how to fill data in map

7 views (last 30 days)
devendra
devendra on 16 May 2014
Edited: devendra on 14 Jun 2014
sir i want to plot my own data in map.please help me. how will do this thing?thank you in advance.please sir help me.
  3 Comments
Kelly Kearney
Kelly Kearney on 28 May 2014
Do you have the Mapping Toolbox? If not, I'd recommend m_map.
While GIS might be quicker (if you have access to it), you can make some pretty nice maps in Matlab too... but it takes some work, and you need to gather all the necessary data files.
devendra
devendra on 9 Jun 2014
Edited: devendra on 9 Jun 2014
sir i want to do same thing on matlab.please help me sir.

Sign in to comment.

Answers (1)

Chad Greene
Chad Greene on 29 May 2014
I disagree with the comments above. If you have the Mapping Toolbox, it's only a couple of lines in Matlab. If you have gridded rainfall data rainfall corresponding to lat and lon matrices, it would look something like this:
worldmap('india')
pcolorm(lat,lon,rainfall)
You'll have to search the web for shapefiles or coordinates of political borders and rivers, then plot them using geoshow or plotm.
  4 Comments
Chad Greene
Chad Greene on 30 May 2014
You'll have to be more specific about what data you have and what your goal is. You've given us some lat/lon coordinates, but you have not told us what they correspond to. Your data may correspond to LATxLONxTIME. You haven't told us much about your third dimension. It might be eight years of annual rainfall totals. Or perhaps the first slice is rainfall, the second slice is average temperature, third is population density--we have no way of knowing unless you tell us.
Note that a 20x22 map will not have the high resolution of the example you attached to your original question.
Also, type ver into the command line--it should tell you if you have the Mapping Toolbox.
LAT = [7.7042;
9.1050;
10.505;
11.9065;
13.3073;
14.7081;
16.1088;
17.5096;
18.9104;
20.3111;
21.7119;
23.1127;
24.5134;
25.9142;
27.3150;
28.7157;
30.1165;
31.5172;
32.9180;
34.3188;
35.7195;
37.1203];
LON = [68.9062;
70.3125;
71.7188;
73.1250;
74.5312;
75.9375;
77.3438;
78.7500;
80.1562;
81.5625;
82.9688;
84.3750;
85.7812;
87.1875;
88.5938;
90.0000;
91.4062;
92.8125;
94.2188;
95.6250];
SomeData = rand(20,22,8); % <- Some random data
Slice1 = SomeData(:,:,1); % <- PLOT ONLY THE FIRST SLICE
latgrid = repmat(LAT',20,1);
longrid = repmat(LON,1,22);
% If you do not have the mapping toolbox, do this:
pcolor(longrid,latgrid,Slice1)
xlabel('degrees longitude')
ylabel('degrees latitude')
shading flat
% If you do have the mapping toolbox, do this:
worldmap('india')
pcolorm(latgrid,longrid,Slice1)
devendra
devendra on 31 May 2014
Edited: devendra on 31 May 2014
sir i have 8 years annual rainfall data and sir my data size is (20x22x8)(lon,lat,time)third dimension is time ...sir i have also another data (20*22*2920)(lon,lat,time) this is daily data.i want to also plot this like this.
sir this code is not working as i want output.sir i want to fill my data in india map like given in question figure please help me sir.

Sign in to comment.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!