QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 485|回复: 0
打印 上一主题 下一主题

[其他] 如何利用matlab在美赛E题中画出优美地图?

[复制链接]
字体大小: 正常 放大

218

主题

2

听众

346

积分

  • TA的每日心情
    郁闷
    2024-4-20 16:50
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    自我介绍
    开心最重要
    跳转到指定楼层
    1#
    发表于 2024-1-9 15:32 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta



    01
    • %%
    • clear;clc;close all
    • load geoid
    • % Create a figure with an Eckert projection.
    • figure
    • axesm eckert4; %注意axesm后面的m了吗?,可以使用maps命令查看所有的地图投影的方式,然后选一个
    • framem; gridm;%显示框架和网格线,注意后面都多了个m,表示map
    • axis off %关闭外部坐标轴,外部坐标轴不同于map axes

    • % Display the geoid as a texture map.
    • geoshow(geoid, geoidrefvec, 'DisplayType', 'texturemap');

    • % Create a colorbar and title.
    • hcb = colorbar('southoutside');
    • set(get(hcb,'Xlabel'),'String','EGM96 Geoid Heights in Meters.')

    • % Mask out all the land.
    • geoshow('landareas.shp', 'FaceColor', 'white');


    02

    • clear;clc;close all
    • maps %查看当前可用的地图投影方式
    • worldmap world %绘制世界地图
    • load coast %导入数据,全球海岸线
    • patchm(lat,long,'y'); %创建补片图像对象,是底层的图像函数,lat和long为经纬度,y表示黄色填充
    • %% 设置属性
    • setm(gca);%查看当前可以设置的所有图形坐标轴(map axes)的属性
    • setm(gca,'Frame','on');%使框架可见
    • getm(gca,'Frame');%使用getm可以获取指定的图形坐标轴的属性
    • setm(gca,'Grid','on');%打开网格
    • setm(gca,'MLabelLocation',60);%标上经度刻度标签,每隔60度
    • setm(gca,'MeridianLabel','on');%设置经度刻度标签可见
    • setm(gca,'PLabelLocation',[-90:30:90])%标上经度刻度标签,[-90:30:90]
    • setm(gca,'ParallelLabel','on');%设置经度刻度标签可见
    • setm(gca,'MLabelParallel','south');%将经度刻度标签放在南方,即下部
    • setm(gca,'Origin',[0,90,0]);%设置地图的中心位置和绕中心点和地心点的轴旋转角度[latitude longitude orientation]
    • setm(gca,'PLabelMeridian',90);%将纬度标签放置在经度为90度的地方


    • worldmap('world')
    • load coast %导入数据,全球海岸线
    • plotm(lat,long)


    • figure%将图画在另外的一张图表上,以免叠加
    • worldmap('world')
    • scaleruler


    • ax=worldmap('world')
    • load coast
    • geoshow(ax,lat,long,'Displaytype','Polygon','facecolor',[.45 .60 .30])
    • states=shaperead('worldstatelo.shp','UseGeoCoords',true);
    • for k=1:numel(states)
    • states(k).Number=k;
    • end
    • facecolors=makesymbolspec('Polygon',{'Number',[1 numel(states)],'facecolor',polcmap(numel(states))});
    • geoshow(ax,states,'Displaytype','Polygon','symbolspec',facecolors)







    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏1 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2024-4-28 01:54 , Processed in 0.467629 second(s), 49 queries .

    回顶部