主要内容

地球位势模型1996的大地水准面高度可视化

这个例子展示了如何使用航空航天工具箱™软件的EGM96重力势模型计算地球大地水准面高度。它还展示了如何将等高线地图叠加在地球地图上可视化结果。映射工具箱™和Simulink®3D动画™需要生成金宝app可视化。

地球位势模型1996的值生成

计算地球的重力势值使用geoidheight功能实现EGM96重力势模型。

以下代码可用于生成260281个数据点,用于计算地球大地水准面高度值geoidheight.为了减少计算开销,本示例包含一个包含该数据的mat-file。

% %设置度之间的增量% gridDegInc = 0.5;%度% %用于纬度扫描的经度值。% lon = -180:gridDegInc:180;%度% %要扫描的大地纬度值。% geod_lat = -90:gridDegInc:90;%度为每个纬度数组循环经度值-90:90。% for lonIdx = size(lon,2):-1:1% %经度必须是与纬度数组相同的维度% lon = lon(lonIdx)*ones(1,numLatitude);%度% geoidResults(1:end,lonIdx) = geoidheight(geod_lat,lon,'None');%结束

加载大地水准面数据文件和海岸数据

geoidFileName =“GeoidResults_05deg_180.mat”;负载(geoidFileName);海岸=负载(“coastlines.mat”);

绘制大地水准面高度的二维视图

使用|meshm创建2-D图h2D =图;集(h2D,“位置”,[20 75 700 600],“工具栏”“图”);%在地球上映射大地水准面高度到纬度/经度的参考矩阵。存款准备金率= makerefmat (“RasterSize”、大小(geoidResults),...“Latlim”(-90 90),“Lonlim”, [- 180180]);ast2DGeoidPlot(存款准备金率、geoidResults海岸,gridDegInc)%使用VR canvas查看大地水准面高度www2D = vrworld (“astGeoidHeights.wrl”);打开(www2D)%实际水准面高度供参考geoidGrid = vrnode (www2D,“EGM96_Grid”);actualHeights = getfield (geoidGrid,“高度”);% #好< GFLD >将滑块控制的高度初始化为0geoidGrid。身高= 0 * actualHeights;%画布大小用于绘图和设置参数geoidcanvas2D = vr.canvas (www2D,“父”h2D,...抗锯齿的“上”“NavSpeed”“veryslow”...“NavMode”“检查”“单位”“归一化”...“观点”“视角”“位置”,(。15.04 . 7.42]);%创建滑块滑= astGeoidSlider (geoidcanvas2D);

绘制大地水准面高度的三维视图

h3D =图;集(h3D,“位置”,[20 75 700 600]);设置坐标轴Hmapaxis = axesm (“全球”“网格”“上”);集(hmapaxis,“位置”,(。1 .5 .8 .4])视图(85,0)轴在3d地球仪上绘制数据meshm (geoidResults,存款准备金率)%地块地块轮廓plotm (coast.coastlat coast.coastlon,“颜色”“k”) colormap (“喷气机”);%绘制标题标题({“EGM96大地水准面高度的;[“网格增量:”num2str (gridDegInc),度;单位:米高的colorbar]});% 3d地球:使用VR画布的大地水准面高度www3D = vrworld (“astGeoidSphere.wrl”);打开(www3D)%的位置帆布geoidcanvas3D = vr.canvas (www3D,“父”h3D,...抗锯齿的“上”“NavSpeed”“veryslow”...“NavMode”“检查”“单位”“归一化”...“位置”,(。15.04 .7]);vrdrawnow;

清理

关闭(h2D h3D)关闭(www2D);密切(www3D);删除(www2D);删除(www3D);