如何使用纬度、经度、高度数据绘制飞行器轨迹线框图
3D经纬度高度线框图实现指导
现有代码问题修正
- 未先清洗数据就提取x/y/z:空值会导致绘图出错,应该先执行
dropna()再提取字段 df1未定义就调用,应该直接对读取的df做清洗- 刻度设置在2D画布上,后续创建3D轴后会失效,应该在3D轴对象上设置
- 缺少实际绘制线框图/轨迹线的代码
可运行完整实现代码
场景1:单条时序轨迹3D线图
适合你提供的时序经纬度高度数据,直接绘制连续移动轨迹
from mpl_toolkits.mplot3d import Axes3D import numpy as np import matplotlib.pyplot as plt import pandas as pd # 1. 读取并清洗数据 df = pd.read_csv('/home/luke/Downloads/dump1090-127_0_0_1-170911.txt', sep=',', skiprows=0, low_memory=False) # 仅保留三个关键字段都不为空的行 df = df.dropna(subset=['latitude', 'longitude', 'altitude']) # 2. 提取坐标字段 x = df['longitude'] y = df['latitude'] z = df['altitude'] # 3. 创建3D画布 fig = plt.figure(figsize=(10,7)) ax = plt.axes(projection='3d') # 4. 绘制3D轨迹线 ax.plot3D(x, y, z, 'steelblue', linewidth=2, label='移动轨迹') # 5. 设置轴标签与刻度 ax.set_xlabel('经度(Longitude)', fontsize=10) ax.set_ylabel('纬度(Latitude)', fontsize=10) ax.set_zlabel('高度(Altitude)', fontsize=10) ax.set_xticks(range(-3,0)) ax.set_yticks(range(50,60)) # 6. 显示图像 ax.legend() plt.show()
场景2:区域高度网格化线框图
如果你的数据是区域散点数据,需要先对经纬度做网格化插值再绘制曲面线框
from mpl_toolkits.mplot3d import Axes3D import numpy as np import matplotlib.pyplot as plt import pandas as pd from scipy.interpolate import griddata # 1. 读取清洗数据同上述步骤 df = pd.read_csv('/home/luke/Downloads/dump1090-127_0_0_1-170911.txt', sep=',', skiprows=0, low_memory=False) df = df.dropna(subset=['latitude', 'longitude', 'altitude']) x = df['longitude'].values y = df['latitude'].values z = df['altitude'].values # 2. 生成网格化坐标 xi = np.linspace(x.min(), x.max(), 100) yi = np.linspace(y.min(), y.max(), 100) Xi, Yi = np.meshgrid(xi, yi) # 3. 插值得到高度格点值 Zi = griddata((x, y), z, (Xi, Yi), method='linear') # 4. 绘制3D线框图 fig = plt.figure(figsize=(10,7)) ax = plt.axes(projection='3d') ax.plot_wireframe(Xi, Yi, Zi, color='purple', rstride=5, cstride=5, linewidth=0.8) # 5. 设置轴信息 ax.set_xlabel('经度(Longitude)', fontsize=10) ax.set_ylabel('纬度(Latitude)', fontsize=10) ax.set_zlabel('高度(Altitude)', fontsize=10) plt.show()
rstride、cstride参数控制线框行列的采样间隔,数值越大线框越稀疏,可根据实际数据量调整
内容的提问来源于stack exchange,提问作者parsns1
相关产品推荐
相关产品推荐

