В этом примере показано, как начать с 3-D элемента в системе локальных координат восток-север-вверх (RUS), затем преобразовать и объединить его с глобусом в координатах Земля-Центр, Земля-Фиксированный (ECEF).
Использовать геодезическую систему координат 1980 (GRS80) и работать в единицах километра. Место происхождения локальной системы рядом с Вашингтоном, округ Колумбия, США.
grs80 = referenceEllipsoid('grs80','km'); domeRadius = 3000; % km domeLat = 39; % degrees domeLon = -77; % degrees domeAlt = 0; % km
Локальная система RUS определяется относительно геодезической опорной точки, указанной в данном случае (domeLat, domeLon, и domeAlt). Это - 3D Декартовская система, в которой положительная ось X направлена на восток, положительная ось Y направлена на север, и ось Z нормальна к справочному эллипсоиду и направленная вверх.
В этом примере 3-D особенностью является полусфера в полупространстве z > = 0 радиусом 3000 километров. Это полушарие может, гипотетически, охватывать объем пространства в пределах диапазона идеализированной радиолокационной системы, имеющей равномерный охват от горизонта до зенита, во всех азимутах. Такие объемы пространства, как это, когда они представляют зоны эффективного охвата наблюдения, иногда неофициально называются «радиолокационными куполами».
Быстрый способ построения координатных массивов, описывающих замкнутый полусферический купол, состоит в том, чтобы начать с единичной сферы, увеличить радиус и свернуть нижнюю полусферу. Это легче визуализировать, если сделать его полупрозрачным - установка FaceAlpha до 0,5 в этом случае.
[x,y,z] = sphere(20); xEast = domeRadius * x; yNorth = domeRadius * y; zUp = domeRadius * z; zUp(zUp < 0) = 0; figure('Renderer','opengl') surf(xEast, yNorth, zUp,'FaceColor','yellow','FaceAlpha',0.5) axis equal

Используйте enu2ecef функция преобразования купола из локального RUS в систему ECEF на основе эталонного эллипсоида GRS 80. Применяется 3-D перемещение и поворот. Обратите внимание, как полусфера наклоняется и как ее центр перемещается на тысячи километров от начала координат.
[xECEF, yECEF, zECEF] ... = enu2ecef(xEast, yNorth, zUp, domeLat, domeLon, domeAlt, grs80); surf(xECEF, yECEF, zECEF,'FaceColor','yellow','FaceAlpha',0.5) axis equal

Создание базового глобус-дисплея с помощью axesm и globe.
figure('Renderer','opengl') ax = axesm('globe','Geoid',grs80,'Grid','on', ... 'GLineWidth',1,'GLineStyle','-',... 'Gcolor',[0.9 0.9 0.1],'Galtitude',100); ax.Position = [0 0 1 1]; axis equal off view(3)

Добавьте в земной шар глобальную топографию с низким разрешением, береговые линии и реки.
load topo60c geoshow(topo60c,topo60cR,'DisplayType','texturemap') demcmap(topo60c) land = shaperead('landareas','UseGeoCoords',true); plotm([land.Lat],[land.Lon],'Color','black') rivers = shaperead('worldrivers','UseGeoCoords',true); plotm([rivers.Lat],[rivers.Lon],'Color','blue')

Добавьте версию купола ECEF к осям земного шара в виде полупрозрачной сетки.
surf(xECEF, yECEF, zECEF,'FaceColor','yellow','FaceAlpha',0.5)

Купол и земной шар можно просматривать под разными углами, интерактивно поворачивая оси на рисунке MATLAB ®.
Спасибо Эдварду Мэйхью, младшему за предоставление технической информации о «радиолокационных куполах» и за доведение до нашего сведения проблемы визуализации их с помощью Картографического Toolbox™.