怎么利用matlab做一张地图的投影

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么利用matlab做一张地图的投影相关的知识,希望对你有一定的参考价值。

朋友你好,
感谢对我们团队的信任与支持,
顾名思意,投影是针对与一个平面,这个地图所有的点到平面的垂直映射,类似太阳映射到地面。各种不同的算法很多,只要掌握一种就能很容易画出地图投影。
下面是使用工具绘制中国地图投影的办法:
第一种方法是利用MATLAB自带的map工具箱。直接在命令窗口输入
>>geoshow('***.shp')
就可以显示出中国地图了。***.shp是地图数据文件。geoshow命令的用法可以在MATLAB的帮助菜单里搜索到,因为我对map工具箱的用法还不是很了解,也就不多讲了。可以在网上搜索下相关的用法。我国的地图数据可以从国家基础地理信息系统的网站上下载,网址是http://nfgis.nsdi.gov.cn/。
用这种方法绘制的地图还可以添加省界,地区界等数据。这些数据均可以从国家基础地理信息系统的网站上下载到。

第二种方法是利用m_map工具箱。该工具箱需要自己下载安装,m_map是一个功能很强大的工具箱,它提供多种投影方式,而且用法也很简单,容易上手,更重要的是,利用它可以很方便地绘制自己的数据。但是m_map提供的边界数据使用起来很不方便,数据是按照国家单个给出的,如果想画出世界各国的边界,就需要把每个国家的数据都下载下来,很麻烦。

希望能够对你有所帮助。
参考技术A 方法如下:
N=? '定义网格分多细,看个人需要
M=? '同上
R=? '球的半径自己填
X=zeros(N+1,M)
X0=zeros(N+1,M)
Y=zeros(N+1,M)
Y0=zeros(N+1,M)
Z=zeros(N+1,M)
Z0=zeros(N+1,M)
for i=0:N
for j=1:M
X(i,j)=R*sin(pi/N*i)*cos(2*pi/M*j)
Y(i,j)=R*sin(pi/N*i)*sin(2*pi/M*j)
Z(i,j)=R*cos(pi/N*i)
end
end
mesh(X,Y,Z)
hold
mesh(X,Y,Z0)
mesh(X,Y0,Z)
mesh(X0,Y,Z)
参考技术B ……

以上是关于怎么利用matlab做一张地图的投影的主要内容,如果未能解决你的问题,请参考以下文章

CSS3技巧:利用css3径向渐变做一张优惠券

MATLAB地图工具箱学习总结自定义投影

确定给定地图中的投影

[转]利用matlab绘制地图上的点线面

利用envi与arcmap/arcgisPro制作一张植被覆盖指数专题地图(地图学作业)

matlab利用m_map工具包画中国地图及散点云图