Skip to content
Snippets Groups Projects
Commit 6e7a64d8 authored by Kien Le's avatar Kien Le
Browse files

Implement exporting GPS data to file

parent 0824792e
No related branches found
No related tags found
No related merge requests found
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_())
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment