- 1. 使用matlab自带海岸线文件
% 画海岸线
load coast; % 加载matlab自带海岸线文件
plot(long,lat,'k-','LineWidth', 0.7); % 绘制海岸线,并调整颜色,线类型,线宽
axis ([-180,180,-90,90]) % 调整坐标轴范围[xmin,xmax,ymin,ymax]
set(gca,'xtick',-150:50:150) % 设置x坐标轴上的刻度数据点位置
set(gca,'ytick',-60:30:60) % 设置y坐标轴上的刻度数据点位置
X_lab = {'-150°' '-100°' '-50°' '0°' '50°' '100°' '150°'}; % 自定义x轴标签
Y_lab = { '-60°' '-30°' '0°' '30°' '60°' }; % 自定义y轴标签
set(gca,'XTickLabel',X_lab) % 显示x轴标签
set(gca,'YTickLabel',Y_lab) % 显示y轴标签
grid on % 打开格网
% hold on % 可以接着代码使用 hold on与hold off 在海岸线上面绘制你想要的数据
效果图,如上。在意细节的人应该能够发现红色框框的问题。
matlab自带的海岸线最右边超出180度,自行调整坐标轴,只是不显示超出部分。
测试添加投影能够解决这个问题,但是我目前需求用不到。
- 2. 加载自己的海岸线shp文件,进行绘制
数据:
链接:https://pan.baidu.com/s/1uZi5Ext4hUqB2KbEPLPDHg
提取码:330h
简单处理:
我的海岸线shp(线要素)文件有投影,我不想要。
在arcgis中使用“投影”工具,选择“GCS_WGS_1984”地理坐标系统。即可得到无投影shp文件。
然后看着有点不合适,裁剪了一下。(各个版本链接里面都有)
path = 'D:\File\地信数据\行政区划\全球海岸线\自己处理的\全球海岸线\裁剪后的海岸线.shp';
coast = shaperead(path);
mapshow(coast,'Color','black');
% 下面都一样
axis ([-180,180,-90,90]) % 调整坐标轴范围[xmin,xmax,ymin,ymax]
set(gca,'xtick',-150:50:150) % 设置x坐标轴上的刻度数据点位置
set(gca,'ytick',-60:30:60) % 设置y坐标轴上的刻度数据点位置
X_lab = {'-150°' '-100°' '-50°' '0°' '50°' '100°' '150°'}; % 自定义x轴标签
Y_lab = { '-60°' '-30°' '0°' '30°' '60°' }; % 自定义y轴标签
set(gca,'XTickLabel',X_lab) % 显示x轴标签
set(gca,'YTickLabel',Y_lab) % 显示y轴标签
grid on % 打开格网
box on % 显示次坐标轴
% hold on % 可以接着代码使用 hold on与hold off 在海岸线上面绘制你想要的数据
效果图大概这样,坐标轴,标签可以在自行调整。
海岸线比例固定不能改变。
- 3 比较
自己加载的shp图比较规整,但是可能因为细节多,缩小后黑色较重。小问题。