How to label feature of shape file when calling it by geoshow and how to make multiple maps in single file
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Muhammad Usman Saleem
le 25 Juil 2015
Commenté : Muhammad Usman Saleem
le 30 Juil 2015
I am trying to make color map from text file data.I am using geoshow to call shape file of the region to set back ground of the color map.My shape file is the country. I have digitized its districts as polygons. In the attributes of the shape file i named these districts under "NAME_1" field.I am using that codes to make a color map
fid = fopen('1000_2000.txt');
C = textscan(fid, '%f %f %f')
fclose(fid);
f = {'lat', 'long', 'temp'}
S = cell2struct(C,f,2);
N = 100;
[Xi, Yi] = meshgrid(linspace(60,80,N),linspace(20,40,N));
Ci = griddata(S.long, S.lat, S.temp, Xi, Yi);
f = figure; set(f, 'Renderer', 'painters')
colormap default
h = geoshow(Yi,Xi,Ci,'DisplayType','surface');
set(h,'ZData', zeros(size(get(h,'XData'))));
p = geoshow('PAK_adm1.shp', 'DisplayType','polygon','FaceColor','none','EdgeColor','w');
xlim([60.5 78.5]);
ylim([22.5 38.5]);
xlabel('Longitude');
ylabel('Latitude');
set(gca,'CLim',[0,3000])
colorbar
I am getting output as
I want such kind of label features( want to show label in the attribute of shape file with field name NAME_1)
Any idea how to correct these code to label features on my color maps. Thanks in advance for this kind assistance
0 commentaires
Réponse acceptée
Usha Duddu
le 29 Juil 2015
Hi Muhammad
I understand that you are trying to display labels on your color map created using geoshow function. In order to do this you can use text function. The 'X' and 'Y' values in the 'text' function will correspond to the latitude and longitude of the districts.
For example- If you want to label Baluchistan, you can use text(66,28,'Baluchistan') where 66 corresponds to X coordinate and 28 corresponds to Y coordinate.
Here is a simplified example code snippet for your reference-
>>a=axes;
>>S = shaperead('landareas','UseGeoCoords',true);
>>geoshow([S.Lat], [S.Lon],'Color','black');
>>text(-125,50,'America')
I hope this helps.
Usha
2 commentaires
Plus de réponses (0)
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!