主要内容

1996年地球重力势模型可视化大地水准面高

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

1996年地球重力势模型生成值

实现EGM96位势模型,计算地球重力势值使用geoidheight函数。

使用下面的代码来生成260281数据点计算地球大地水准面高度使用的值geoidheight。为了减少计算开销,这个例子包括MAT-file包含这些数据。

%设置数量的增加之间的度gridDegInc = 0.5;%度度经度值百分比为纬度扫描使用。朗= -180:gridDegInc: 180;%度%大地纬度值扫描。geod_lat = -90: gridDegInc: 90;%度%循环经度纬度90:90每个数组的值。lonIdx =大小(经度,2):1:1%经度必须相同维度的纬度数组lon_temp =经度(lonIdx) *(1,元素个数(geod_lat));%度geoidResults (:, lonIdx) = geoidheight (geod_lat lon_temp,“没有”);结束

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

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

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

创建二维图使用meshm。

h2D =图;集(h2D,“位置”(20 75 700 600),“工具栏”,“图”);

参考矩阵映射大地水准面高度对全球纬度/经度。

存款准备金率= georefcells((-90、90),(-180、180),大小(geoidData.geoidResults));ast2DGeoidPlot(存款准备金率、geoidData.geoidResults海岸,geoidData.gridDegInc)

查看大地水准面高度使用VR画布。

www2D = vrworld (“astGeoidHeights.wrl”);打开(www2D)

实际的大地水准面高度作为参考。

geoidGrid = vrnode (www2D,“EGM96_Grid”);actualHeights = getfield (geoidGrid,“高度”);% #好< GFLD >

滑块控件初始化高度为0。

geoidGrid。身高= 0 * actualHeights;

画布大小绘制和设置参数。

geoidcanvas2D = vr.canvas (www2D,“父”h2D,抗锯齿的,“上”,“NavSpeed”,“veryslow”,“NavMode”,“检查”,“单位”,“归一化”,“观点”,“视角”,“位置”,(。7点15 .04美元]);

创建滑块。

滑= astGeoidSlider (geoidcanvas2D);

图包含的对象类型hgjavacomponent uicontrol。

图3 d视图的大地水准面高度

h3D =图;集(h3D,“位置”,20 75 700 600);

设置坐标轴。

hmapaxis = axesm (“全球”,“网格”,“上”);集(hmapaxis,“位置”,(。1。5。8。4)视图(85 0)轴

图数据3 d世界。

meshm (geoidData.geoidResults,存款准备金率)

情节土地质量大纲。

plotm (coast.coastlat coast.coastlon,“颜色”,“k”)colormap (“喷气机”);

图标题。

标题({“EGM96大地水准面高度的;[“网格增量:”num2str (geoidData.gridDegInc),度;单位:米高的colorbar]});

三维世界:大地水准面高度使用VR画布。

www3D = vrworld (“astGeoidSphere.wrl”);打开(www3D)

位置画布。

geoidcanvas3D = vr.canvas (www3D,“父”h3D,抗锯齿的,“上”,“NavSpeed”,“veryslow”,“NavMode”,“检查”,“单位”,“归一化”,“位置”,(。15 .04美元。7。4));

图包含一个hgjavacomponent类型的对象。

vrdrawnow;

清理

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