RTKPLOT导出卫星数据并使用Python绘制观测站上卫星的信号图

项目场景:

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


1.在RTKPLOT中导入Obs文件

依次点击File->Open Obs File,选择Obs文件。

RTKPLOT导出卫星数据并使用Python绘制观测站上卫星的信号图_第1张图片

 点击右上角的设置按钮。

RTKPLOT导出卫星数据并使用Python绘制观测站上卫星的信号图_第2张图片

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

RTKPLOT导出卫星数据并使用Python绘制观测站上卫星的信号图_第3张图片


2.导出卫星数据

依次点击File->Save AZ/EL/SNR/MP...,导出卫星数据。

RTKPLOT导出卫星数据并使用Python绘制观测站上卫星的信号图_第4张图片

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

RTKPLOT导出卫星数据并使用Python绘制观测站上卫星的信号图_第5张图片


3.使用Python绘制观测站上卫星的信号图

# -*- coding: gbk -*-

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from dateutil import parser

#从文件中读取数据并存入列表
f = open('test1.txt', 'r')
ID = []
TIME = []
ln = f.readline()
while ln:
    ln = f.readline()
    if not ln:
        break
    str = ln.split()
    ID.append(str[2])
    TIME.append(str[1])
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.scatter(time, ID, s=2, marker='.', alpha=0.75, c='g')
#格网
plt.grid(linestyle = '--', linewidth = 0.5)

plt.ylabel("SATELLITE NO")

#设置图片大小
plt.gcf().set_size_inches(15, 7)

#支持jpg、png、svg等格式
plt.savefig('satVis.svg', dpi=360)
plt.show()

4.生成结果

RTKPLOT导出卫星数据并使用Python绘制观测站上卫星的信号图_第6张图片

你可能感兴趣的:(python,matplotlib)