主要内容

绘制一个三维圆顶作为一个网格覆盖一个球体

此示例演示如何从本地东北向上(ENS)坐标系中的三维要素开始,然后将其转换并与地球中心、地球固定(ECEF)坐标系中的地球仪显示相结合。

步骤1:设置定义参数

使用大地测量参考系1980(GRS80),以公里为单位。将本地系统的原点放在美国华盛顿特区附近。

grs80=参考椭球体(“grs80”,“公里”);domeRadius = 3000;%公里多梅拉特=39;%学位多梅隆=-77;%学位domeAlt=0;%公里

步骤2:在本地的东-北-上坐标中构建圆顶

本地ENU系统是根据大地测量参考点定义的,在本例中由(多梅拉特,多梅隆,多梅尔特)。这是一个三维笛卡尔坐标系,其中正x轴指向东方,正y轴指向北方,z轴垂直于参考椭球体并向上。

在本例中,三维特征是z>=0半空间中半径为3000公里的半球。假设该半球可以包围理想雷达系统范围内的空间体积,该雷达系统具有从地平线到天顶的均匀覆盖范围,在所有方位角。当代表ef区域时,此类空间体积有效的监视范围,有时被非正式地称为“雷达穹顶”

构建一个封闭半球圆顶的坐标阵列的一种快速方法是从一个单位球体开始,放大半径,然后折叠下半球。如果将其设置为半透明,则更易于可视化--设置脸阿尔法在这种情况下为0.5。

[x, y, z] =球体(20);xEast = domeRadius * x;yNorth = domeRadius * y;zUp = domeRadius * z;zUp(zUp < 0) = 0;身材(“渲染”,“opengl”)冲浪(赛斯特、伊诺思、祖普、,“脸色”,“黄色”,“FaceAlpha”,0.5)轴相同的

Figure包含一个axes对象。axes对象包含一个surface类型的对象。

步骤3:将圆顶转换为地心接地固定(ECEF)系统

使用enu2ecef函数将圆顶从本地ENU转换为基于GRS 80参考椭球体的ECEF系统。它应用三维平移和旋转。请注意半球如何倾斜,其中心如何从原点移动数千公里。

[xECEF,yescef,zECEF]...=enu2ecef(xEast、yNorth、zUp、domeLat、domeLon、domeAlt、grs80);surf(xECEF、yECEF、zECEF、,“脸色”,“黄色”,“FaceAlpha”,0.5)轴相同的

Figure包含一个axes对象。axes对象包含一个surface类型的对象。

步骤4:构建一个地球仪显示器

使用axesm地球.

身材(“渲染”,“opengl”)ax=axesm(“全球”,“大地水准面”,grs80,“网格”,“关于”,...“GLineWidth”1.“GLineStyle”,"-",...“Gcolor”,[0.9 0.9 0.1],“加尔提多”,100);最大位置=[0 1];轴相同的视图(3)

步骤5:添加各种全球地图数据

添加低分辨率的全球地形、海岸线和河流到全球。

负载topo60c地质展览(topo60c、topo60cR、,“显示类型”,“texturemap”)demcmap(topo60c)陆地=可读取地理表格(“陆地面积.上海医药”); 地理展览(土地、,“脸色”,“没有”,“EdgeColor”,“黑色”)河流=可读地理表(“worldrivers.shp”);地球观测(河流、,“颜色”,“蓝色”)

步骤6:将圆顶添加到地球仪中

将ECEF版本的圆顶作为半透明网格添加到球体轴。

surf(xECEF、yECEF、zECEF、,“脸色”,“黄色”,“FaceAlpha”, 0.5)

通过交互式旋转MATLAB®图中的轴,可以从不同角度查看圆顶和球体。

信贷

感谢Edward J.Mayhew,Jr.提供了“雷达穹顶”的技术背景,并提请我们注意使用地图工具箱可视化雷达穹顶的问题™.