matlab 自带的地图toolbox总结2

画安徽省的地图
需要用到省界的包
省界国界的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);

在这里插入代码片

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早起CaiCai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值