You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在MATLAB中绘制带地球曲率的地图点连接线可行性问询

在MATLAB中绘制带地球曲率的点位连线地图

当然可行!MATLAB的Mapping Toolbox完全支持绘制带地球曲率的点位连线(也就是大圆航线,球面上两点间的最短路径),正好匹配你的需求。我帮你修正并完善了代码,添加了曲率连线的功能:

% 读取陆地 shp 文件,启用地理坐标
landareas = shaperead('landareas.shp','UseGeoCoords',true);

% 创建透视投影的地图轴
axesm ('vperspec', 'Frame', 'on', 'Grid', 'off');

% 定义两个点位的经纬度
point1_lat = 25; 
point1_lon = 110; 
point2_lat = 45; 
point2_lon = 130;

% 绘制陆地背景
geoshow(landareas,'DefaultFaceColor',[0.9 0.9 0.9],'DefaultEdgeColor',[0.5 0.5 0.5]);

% 标记第一个点位
geoshow(point1_lat,point1_lon,'DisplayType','point','LineWidth',2, ...
    'MarkerEdgeColor',[0.1172 0.5625 1.0000],'Marker','o', 'MarkerSize',12);

% 标记第二个点位
geoshow(point2_lat,point2_lon,'DisplayType','point','LineWidth',2, ...
    'MarkerEdgeColor',[0.8594 0.0781 0.2344],'Marker','^', 'MarkerSize',12);

% 生成并绘制贴合地球曲率的大圆航线
% 使用 greatcircle 函数生成路径点,可添加第三个参数指定点数(如100)让曲线更平滑
[gc_lat, gc_lon] = greatcircle(point1_lat, point1_lon, point2_lat, point2_lon);
% 绘制这条曲率连线,自定义颜色和线宽
geoshow(gc_lat, gc_lon, 'DisplayType', 'line', 'Color', [0.2 0.6 0.2], 'LineWidth', 2);

关键细节说明:

  • greatcircle函数:这是实现曲率连线的核心,它基于球面几何生成两点间的大圆路径点,完美体现地球的曲率特性。如果需要更平滑的曲线,可以在函数末尾添加一个数值参数(比如greatcircle(..., 100)),指定生成的路径点数量。
  • 修正了你原代码中的变量名错误:原代码里的point_lat未定义,应该对应point1_lat,否则会触发报错。
  • 你可以自由调整连线的样式:修改Color参数改变颜色,调整LineWidth改变线宽,满足可视化需求。

内容的提问来源于stack exchange,提问作者user2861089

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:40:58