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);
图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));
vrdrawnow;
清理
关闭(h2D h3D)关闭(www2D);密切(www3D);删除(www2D);删除(www3D);