MATLAB导入任意省市地图(Shp数据)并从EXCEL中导入经纬度数据在图上手动加点

导入任意各省市Shp数据

1.首先下载任意省市Shp数据,详细步骤请看:
转载:三步教你免费下载省,市,区县行政区Shp数据

2.在MATLAB中导入并画图显示1

gx=shaperead('D:\新建\青岛市\青岛市.shp','UseGeoCoords',true);%导入地图数据
geoshow(gx,'FaceColor',[0.5,1.0,0.5],'EdgeColor','black');%把地图画出来

shaperead函数: UseGeoCoords:可以选择为true或者false(默认),即是否使用地理结构(GeoStruts)。如果数据已经被投影了就选择false,如果还未被投影,可以选择true以生成投影

geoshow函数:geoshow是用来显示地图数据的函数
geoshow的常用方法:
(1)geoshow(lat,lon)直接输入经纬度,将以该经纬度为中心,生成一小片地图
(2)geoshow(filename)直接输入地图文件名,生成该地图
(3)geoshow(_,Name,Value,)输入相关属性并设定参数,生成所需要的地图。
geoshow的常用属性:
(1)facecolor:定义了地图表面的颜色,需要输入三个参数且均在0至1之间。根据三个参数不同,颜色不同。如果不写此属性,则默认是黄色。(笔者认为默认颜色更合适)
(2)edgecolor:定义了边界的颜色,输入的三个参数值同上。也可以直接像上面代码中写的,直接写颜色:‘black’

3.运行后结果:

运行结果

从EXCEL导入经纬度数据并在图上手动加点

1.首先从EXCEL中导入一些点的经纬度

location2=xlsread('D:\matlab\M\代码\各点坐标.xlsx',3);   % j的坐标

xlsread函数:第一个参数是表格路径,第二个参数表示此表格的第几个sheet

2.分别取出经纬度数据

%由于location2文件中第一列是经度,第二列是纬度,因此需要分别取出
[n,~]=size(location2); 
lat=zeros(n,1);
lon=zeros(n,1);
for i=1:n
    lat(i)=location2(i,2);  %纬度数据
    lon(i)=location2(i,1);  %经度数据
end

3.图上加点

geoshow(lat,lon,'marker','.','markeredgecolor','Green','Displaytype','point');%在地图上手动加点

geoshow函数此处的解释:
(1)此处使用了geoshow函数的第一个常用用法
(2)maker:此参数表示加入的图形, ’ .'显示为点;
'^'显示为三角形……
(3)markeredgecolor:此参数表示加入图形的边界的颜色
(4)Displaytype:此参数表示数据图形的类型

(各函数的详细解释见MATLAB的帮助文件)

4.运行结果:
运行结果


  1. https://www.cnblogs.com/ruo-li-suo-yi/p/7528554.html ↩︎

  • 25
    点赞
  • 169
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值