使用Matlab的mapping tool在球坐标系下画图

本文详细介绍了如何在Matlab中绘制卫星重力数据的地图,包括数据处理和绘图流程,对比了与Python basemap库的效果差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

尝试了一下在Matlab下,在地图上绘制数据,但是效果没有python的basemap这个好。

这里以卫星重力数据画图为例,记录一下使用过程。

数据来源 :采用Eigen6C4全球重力位模型,用开源软件GrafLab,计算 g r g_r gr, g λ g_\lambda gλ, g ϕ g_\phi gϕ, 并画出其中的 g r g_r gr。该软件计算时自动加上了向心力。

将计算的结果输出到total.txt文件里,画图流程如下

clear all
close all
data=load('total.txt');
% data=load('total_magnitude.txt');
latitude=data(:,1);
longitude=data(:,2);
gx_topo_normal=data(:,3);
gy_topo_normal=data(:,4);
gz_topo_normal=data(:,5);

LATI=reshape(latitude,181,360);
LONGI=reshape(longitude,181,360);
GZ=reshape(gz_topo_normal,181,360);
GZ=-GZ*1e-5;%把方向改为朝下

%画图
clear all
close all
data=load('total.txt');
% data=load('total_magnitude.txt');
latitude=data(:,1);
longitude=data(:,2);
gx=data(:,3);
gy=data(:,4);
gz=data(:,5);

LATI=reshape(latitude,181,360);
LONGI=reshape(longitude,181,360);
GZ=reshape(gz,181,360);
GZ=-GZ*1e-5;%把方向改为朝下

%画图
close all
figure('Position',[100 100 850 450])
ax = worldmap('World');
geoshow(LATI,LONGI,GZ,'DisplayType', 'texturemap');
hcb = colorbar('eastoutside','fontsize',12);
geoshow('landareas.shp', 'FaceColor','none');
set(get(hcb,'Title'),'String','m/s^2','fontsize',14)
plabel('PlabelLocation',30)%纬线间隔
mlabel('MlabelLocation',90)%子午线间隔
setm(gca,'FontSize',12)
gridm('on')
axis off
tightmap

在这里插入图片描述

两极的重力比赤道大,主要是向心力的影响。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值