画安徽省的地图
需要用到省界的包
省界国界的matlab可读包
%https://blog.csdn.net/rumswell/article/details/14644231
%bbox=[114,29;120,35];%安徽的地理位置
%S = shaperead(fnshp_P,'BoundingBox',bbox);
path(path,'F:\new_matlab_Tool\h_china_map\china_map1\maps')
fnshp_L='bou2_4l.shp';%国界
fnshp_P='bou2_4p.shp';%省界
S = shaperead(fnshp_P);
n=1;
while (n>=1 && n<=numel(S))
sname=S(n).NAME;
if ( ~strcmp(sname,'安徽省'))
S(n)=[];
n=n-1;
end
n=n+1;
end
mapshow(S);
%% geoshow
%如果使用geoshow,最好将数据中(X,Y)坐标转为(lon,lat):
bbox=[114,29;120,35];%安徽的地理位置
S = shaperead(fnshp_P,'BoundingBox',bbox,'UseGeoCoords', true);%只读一部分数据
n=1;
while (n>=1 && n<=numel(S))
sname=S(n).NAME;
if ( ~strcmp(sname,'安徽省'))
S(n)=[];
n=n-1;
end
n=n+1;
end
worldmap([29 35],[114 120]) %worldmap(latlim, lonlim)
geoshow(S)
%% 3
%其实,上面的绘制任意省的地图方式还可以进一步简化:
%读取shapefile文件时使用'selector'选择你想要的省份就可以了:
S = shaperead(fnshp_P, 'UseGeoCoords', true,...
'Selector',{@(NAME) strcmp(NAME,'安徽省'), 'NAME'});
worldmap([29 35],[114 120]) %worldmap(latlim, lonlim)
geoshow(S)
%% 4
%setm 设置投影方式
S = shaperead(fnshp_P, 'UseGeoCoords', true,'Selector',{@(NAME) strcmp(NAME,'安徽省'), 'NAME'});
wm=worldmap([29 35],[114 120]); %worldmap(latlim, lonlim)
%getm(wm)%查看当期地图的所有属性
setm(wm,'mapprojection','eqacylin');%可以使用maps查看所有的地图投影方式
gs=geoshow(S);