Skip to content
Snippets Groups Projects

Implement a dialog to plot and export GPS data

Merged Kien Le requested to merge feature-#19-gps_plotter_q330 into master
1 file
+ 30
5
Compare changes
  • Side-by-side
  • Inline
import sys
from pathlib import Path
from typing import List
from model.gps_point import GPSPoint
from model.mseed.mseed import MSeed
from view.plotting.plotting_widget.plotting_widget import PlottingWidget
from PySide2 import QtWidgets, QtCore
@@ -15,10 +19,11 @@ class GPSWidget(PlottingWidget):
class GPSDialog(QtWidgets.QWidget):
def __init__(self, parent, gps_points):
def __init__(self, parent, gps_points: List[GPSPoint]):
super().__init__()
self.parent = parent
self.gps_points = gps_points
self.data_path = None
self.info_text_browser = QtWidgets.QTextBrowser(self)
self.setGeometry(300, 300, 400, 500)
@@ -62,11 +67,31 @@ class GPSDialog(QtWidgets.QWidget):
main_layout.addLayout(bottom_layout)
def export_gps_points(self):
pass
folder_name = self.data_path.name
outside_folder = self.data_path.parent
with open(outside_folder / f'{folder_name}.gps.dat', 'w+') as outfile:
outfile.write(f'# GPS data points for {folder_name}\n')
for point in self.gps_points:
is_bad_point = (point.height == 0 and point.longitude == 0 and
point.longitude == 0 and
point.num_satellite_used == 0)
if is_bad_point:
continue
line = (
f'{point.last_timemark}\t{point.fix_type}\t'
f'{point.num_satellite_used}\t{point.latitude:+.6f}\t'
f'{point.longitude:+.6f}\t{point.height:.6f}\n'
)
outfile.write(line)
if __name__ == '__main__':
import os
os.chdir('/Users/kle/PycharmProjects/sohstationviewer')
app = QtWidgets.QApplication(sys.argv)
wnd = GPSDialog(None, [])
wnd.show()
sys.exit(app.exec_())
data = MSeed(QtWidgets.QTextBrowser(), '/Users/kle/Documents/SOHView data/Q330/Q330_5281.sdr')
wnd = GPSDialog(None, data.gps_points)
wnd.data_path = Path('/Users/kle/Documents/SOHView data/Q330/Q330_5281.sdr')
wnd.export_button.click()
# wnd.show()
# sys.exit(app.exec_())
Loading