RTKPLOT导出卫星数据并使用Python绘制卫星数量及DOP图
·
项目场景:
在某些情况下我们想要将RTKPLOT绘制的一些图像保存为我们想要的格式,但RTKPLOT仅支持导出.jpg或.bmp格式的文件,本文通过使用RTKPLOT导出卫星数据,并使用Python绘制观测站上卫星的信号图,以此来保存自己想要的文件格式。

1.在RTKPLOT中导入Obs文件
依次点击File->Open Obs File,选择Obs文件。

点击右上角的设置按钮。

设置卫星高度角并选择卫星系统。

2.导出卫星数据
依次点击File->Save # of Sats/DOP...,导出卫星数据。

导出的数据文件如下(.txt格式)

3.使用Python绘制观测站上卫星的信号图
# -*- coding: gbk -*-
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from dateutil import parser
#从文件中读取数据并存入列表
f = open('test2.txt', 'r')
TIME = []
NSAT = []
GDOP = []
PDOP = []
HDOP = []
VDOP = []
ln = f.readline()
while ln:
ln = f.readline()
if not ln:
break
str = ln.split()
TIME.append(str[1])
NSAT.append(int(str[2]))
GDOP.append(float(str[3]))
PDOP.append(float(str[4]))
HDOP.append(float(str[5]))
VDOP.append(float(str[6]))
f.close()
ax = plt.subplot()
#格式化时间
hours = mdates.DateFormatter('%H:%M')
ax.xaxis.set_major_formatter(hours)
time = [parser.parse(x) for x in TIME]
#描点
plt.plot(time, NSAT, color='g',marker='s',linestyle='dashed',markersize= 1,linewidth = 0.3)
plt.plot(time, GDOP, color='y',marker='s',linestyle='solid',markersize= 1,linewidth = 0.3)
plt.plot(time, PDOP, color='r',marker='s',linestyle='solid',markersize= 1,linewidth = 0.3)
plt.plot(time, HDOP, color='b',marker='s',linestyle='solid',markersize= 1,linewidth = 0.3)
plt.plot(time, VDOP, color='r',marker='s',linestyle='solid',markersize= 1,linewidth = 0.3)
#格网
plt.grid(linestyle = '--', linewidth = 0.5)
plt.ylabel("# OF SATELLITES /DOP (EL>=0")
#设置图片大小
plt.gcf().set_size_inches(15, 7)
#支持jpg、png、svg等格式
plt.savefig('dopAndNsat.svg', dpi=360)
plt.show()
4.生成结果

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)