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


目录

  • 导入任意各省市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.运行后结果:
MATLAB导入任意省市地图(Shp数据)并从EXCEL中导入经纬度数据在图上手动加点
文章图片

从EXCEL导入经纬度数据并在图上手动加点 1.首先从EXCEL中导入一些点的经纬度
location2=xlsread('D:\matlab\M\代码\各点坐标.xlsx',3); % j的坐标

【MATLAB导入任意省市地图(Shp数据)并从EXCEL中导入经纬度数据在图上手动加点】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.运行结果:
MATLAB导入任意省市地图(Shp数据)并从EXCEL中导入经纬度数据在图上手动加点
文章图片

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

    推荐阅读