用 Matlab 绘制中国行政区划地图

时间:2024-03-12 18:38:38

 

步骤1:从 GADM 网站 下载数据文件。

选择 Country: China,再选择 Shapefile,会下载得到一个名为 “gadm36_CHN_shp.zip” 的压缩文件。

 

步骤2:解压 数据文件。 

解压得到一系列文件,其中 *.shp 是 Matlab 绘图用到的。

其中,gadm36_CHN_0.shp、gadm36_CHN_1.shp、gadm36_CHN_2.shp、gadm36_CHN_3.shp,分别表示 国、省、市、县 四级行政区划的详细经纬度界线。

 

步骤3:加载 数据文件。

使用 shaperead 函数可以直接加载 Shapefile 数据文件。

ShapeFile = \'D:\data\gadm36_CHN_shp\gadm36_CHN_0.shp\';

MapData = shaperead(ShapeFile);
    MapData.Geometry

    MapData.BoundingBoc

    MapData.Lon

    MapData.Lat

    MapData.GID_0

    MapData.NAME_0

 

步骤 App:*省地图缺失问题的解决!!!

步骤1-2加载的 <China> 地图,缺少了*省,并不是完整的中国!

需要重新执行步骤1至步骤2,选择“*”,下载得到*省的 省、市、县、镇 四级行政区划地图。

而且,*省的地图级别设置不对,在步骤3合并CHN 和 TWN 的地图时,需要调整对应的级别,使它的“国”属性消失,才能正常显示。

这里给出一个中国的省级行政区划绘制的示例:

ShapeFile = \'D:\data\gadm36_CHN_shp\gadm36_CHN_1.shp\'; % CHN的省界划分

ShapeFile_TWN = \'D:\data\gadm36_TWN_shp\gadm36_TWN_0.shp\'; % TWN 的省界划分



MapData = shaperead(ShapeFile);

MapData_TWN = shaperead(ShapeFile_TWN);



hold on;

plot(MapData.Lon, MapData.Lat, \'.\')

plot(MapData_TWN.Lon, MapData_TWN.Lat, \'.\')