主要内容

可视化飞机在地形上的视线

此示例显示了如何从地形上从地面位置计算和可视化飞机的视线可见性。首先,将地形数据用于区域,并将其应用于3-D地球地球。然后,从地位置执行点对点可见性分析到模拟飞行路径,并在3D地理全球上显示结果。最后,从与恒定高度相对应的接地位置执行点对区域的可见性分析,并在2-D地理轴上显示结果。

使用视域视线分析进行地到空中情景,无阻碍的可视性非常重要,例如雷达监控,通信和无人机路径规划。此示例适用于机场雷达监控的分析。

地形数据导入

指定一个用于数据分析和3-D可视化的dted格式地形文件。地形文件是从美国地质调查局(USGS)提供的“SRTM Void Filled”数据集下载的。

dtedfile =“n39_w106_3arc_v2.dt1”;归因=“SRTM 3弧秒分辨率。数据来自美国地质调查局。”

将dted文件数据导入工作区作为数组和地理栅格引用对象,指定返回类型为双倍,以便数据适用于所有分析功能。

[Zterrain,Rterrain] = ReadgeOraster(DTedFile,“outputtype”“双倍的”);

通过访问地理栅格参考对象的属性,查看地形数据的地理限制和样本分辨率。该文件的限制对应于美国科罗拉多州博尔德附近的地区,分辨率对应于DTED level-1格式,该格式的样本分辨率为3角秒,或约90米。

latlim = Rterrain.LatitudeLimits;lonlim = Rterrain.LongitudeLimits;latspc = Rterrain.SampleSpacingInLatitude;lonspc = Rterrain.SampleSpacingInLongitude;disp (“地形的纬度限制:”+ mat2str(latlim) + newline +...“地形的经度界限:”+ mat2str(lonlim) + newline +...“纬度地形决议:”+ LatSPC * 3600 +“电弧秒”+换行符+...“经度的地形分辨率:”+ lonspc * 3600 +“电弧秒”
地形的纬度限制:[390]地形的经度限制:[-106 -105]地形分辨率在纬度:3个电弧秒的地形分辨率在经度:3秒

在三维地图上可视化飞机的轨迹线

用定制地形创建地理全球

使用DTED文件添加自定义数据以用于3-D可视化。

addCustomTerrain (“southboulder”,dtedfile,“归因”归因)

使用新的地理全球指定自定义地形。通过设置保持打开添加数据时,保留全球的自定义地形。

无花果= uifigure;g = geoglobe(无花果,“地形”“southboulder”);(g,“上”

查看雷达地点

定义落基山大都会机场的雷达地面位置。雷达安装在离地面10米高的塔上。雷达高度是地面高度和雷达塔高度的总和,参照平均海平面。

rdrlat = 39.913756;rdrlon = -105.118062;rdrtowerht = 10;Rdralt = 1717 + rdrtowerht;

在地理地球仪上标出雷达位置。

geoplot3(g,rdrlat,rdrlon,rdralt,“co”...“行宽”,6,...“Markersize”1)

模拟飞机轨迹

模拟在山上盘旋的飞机的轨迹。

定义盘旋飞机的中心位置。

tlat0 = 39.80384;tlon0 = -105.49916;tht0 = 3000;

使用东北上(ENU)笛卡尔坐标为飞机定义轨迹航路点。指定一个半径为5公里(5000米)的曲线,在1.5圈内垂直偏移1公里(1000米)。然后,将ENU坐标转换为参考WGS84椭球面的大地坐标。

阿兹= 1:540;r = 5000;(X, Y) = pol2cart(函数(az), r);Z = linspace(0、1000、元素个数(az));wgs84 = wgs84Ellipsoid;[tlat, tlon,年中]= enu2geodetic (X, Y, Z, tlat0 tlon0, tht0, wgs84);

查看飞机在地形上的飞行轨迹

在地球地球上绘制飞机轨迹。默认视图或摄像机位置是开销并向下定向。

traj = geoplot3(g,tlat,tlon,tht,“y”...“HeightReference”“椭球体”...“行宽”,3);

通过改变相机位置和旋转角度,从一段距离查看3-D地形和雷达位置。

坎波斯(g, 39.77114, -105.62662, 6670) camheading (g, 70) campitch (g, -12)

使用飞机轨迹计算视线的可见性

计算视线的可见性los2功能和DTED数据。

los2功能支持垂直高度(万博1manbetx高于平均海平面的高度)或高于地面的高度。将飞机轨道高度从椭球高度转换为直角高度。然后,计算从机场雷达位置到每个飞机轨迹航路点的视线,并将结果转换为逻辑阵列。

numwaypts = numel(tlat);ISVIS =零(1,NUMWANTS);Talt = THT  -  EGM96GEOID(TLAT,TLON);isvis(k) = los2(Zterrain,Rterrain,rdrlat,rdrlon,tlat(k),tlon(k),rdralt,talt(k)),“火星科学实验室”“火星科学实验室”);结尾ISVIS =逻辑(ISVIS);

注意los2假设数据参考的是一个球形地球,而实际数据参考的是WGS84椭球体,因此可能会有微小的差异。视线的计算也与光学视线相对应,不考虑通过大气的折射。

可视化地形的视线可视性

绘制视线的可见性。使用飞机从机场和洋红色标记看可见的绿色标记。

删除(traj)geoplot3(g,tlat(ISVIS),Tlon(ISVIS),THT(ISVIS),“og”...“HeightReference”“椭球体”...“行宽”2,...“Markersize”,1)Geoplot3(g,tlat(〜isvis),tlon(〜isvis),tht(〜isvis),“唵”...“HeightReference”“椭球体”...“行宽”2,...“Markersize”1)

从机场的角度查看视角。获取最大900米,200米的北部的位置的大地坐标,从雷达位置100米。然后,设置相机位置和旋转角度。绿色标记看来,但洋红色标记完全或部分阻塞。

RDRHT = rdralt + egm96大地水准面(rdrlat,rdrlon);[camlat, camlon camht] = enu2geodetic(900200100、rdrlat rdrlon rdrht, wgs84);坎波斯(g, camlat camlon camht) camheading (g, -110) campitch (g, 0)

在2d地图上可视化飞机的视线能见度

前一部分从雷达位置执行点对点视线分析和可视化到飞机轨迹。现在,在地形区域上执行来自相同雷达位置的区域到地区视线分析和可视化。可视化显示在恒定的海拔地区飞行的飞机的可见度的边缘。

绘图雷达位置和2D地图上的地形限制

将雷达位置绘制在一个新图形中,地形2-D图。

图geoplot(Rdrlat,Rdrlon,“co”...“行宽”,6,...“Markersize”,3,...“DisplayName”“雷达位置”) 抓住GeobaseMap.地质gx = gca;gx.innerposition = gx.outerposition;

显示定制地形的限制作为地图上的矩形。

拉丁=拉丁(1);Latmax = Latlim(2);Lonmin = Lonlim(1);lonmax = lonlim(2);geoplot([拉丁拉丁拉丁拉丁拉丁语],[latmin lonmax lonmax lonmin lonmin],...“行宽”,1,...“颜色”“k”...“DisplayName”“地形限制”

在西北角显示一个传说。

传奇(“地点”“西北”

绘制飞机飞行恒定高度的可见性轮廓

指定飞机上方的三个高度平均海平面。每个高度:

  • 使用雷达位置计算视图后作为观察者。viewshed定义了具有视线可见性的区域。

  • 通过从视域数据计算轮廓,找到飞机可视性的边缘。

  • 删除小型轮廓段。

  • 在地理轴上画出等高线。

Tgtalts = [3000 4000 5000];minVertices = 10;cfig =图(“可见的”“离开”);%用不可见图形压制等高线图cax =轴(“父母”, cfig);tgtalt = tgtalts vis = viewshed(zterrain,rterrain,rdrlat,rdrlon,rdralt,tgtalt,“火星科学实验室”“火星科学实验室”);C = contourm (vis、Rterrain“左侧主义者”,1,“父母”,cax);clat = c(2,:);clon = c(1,:);clats = [];克朗= [];k = 1;尽管k <尺寸(c,2)numwortices = clat(k);如果numVertices > minVertices%不绘制小段克拉= [克拉特钢板(k + 1:k + numwortics)nan];%#OK 克朗= [克隆克隆(k + 1:k + numwortices)nan];%#OK 结尾k = k + num顶点+ 1;结尾Geoplot(GX,Clats,Clons,“行宽”2,...“DisplayName”“飞机: ”+字符串(tgtalt)+“m”);结尾

轮廓主要出现在山上的雷达位置。轮廓不会出现在其他方向上,因为可见性不受地形数据限制内的那些方向中的地形约束。

如果雷达受到线索的限制,则轮廓对应于变化高度的雷达覆盖区域,其中最接近的雷达轮廓对应于飞行在3000米处飞行的飞机的雷达覆盖物,并且最远的轮廓对应于雷达对应于雷达飞机覆盖飞行5000米的飞机。

和人一样los2,视域范围功能计算假设数据引用的瞄准线可见性,而数据实际上是对WGS84椭圆体的引用,因此可能存在较小的差异。视线的计算也与光学视线相对应,不考虑通过大气的折射。

清理

通过关闭地理全球并删除进口地形数据来清理。

如果isvalid(图)关闭(图)结尾removecustomterrain(“southboulder”

另请参阅

功能

对象

相关话题