small bugfixes and widget added
This commit is contained in:
		
							parent
							
								
									bf63348151
								
							
						
					
					
						commit
						2e6d39c52e
					
				| @ -3,36 +3,36 @@ import matplotlib.pyplot as plt | ||||
| import numpy as np | ||||
| import obspy | ||||
| from matplotlib import cm | ||||
| from PySide import QtCore, QtGui | ||||
| from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar | ||||
| 
 | ||||
| #import QtPyLoT | ||||
| from pylot.core.util.dataprocessing import read_metadata | ||||
| from scipy.interpolate import griddata | ||||
| 
 | ||||
| 
 | ||||
| #pf=QtPyLoT.main() | ||||
| 
 | ||||
| def onpick(event): | ||||
|     ind = event.ind | ||||
|     print(ind) | ||||
|     for index in ind: | ||||
|         print(station_names[index]) | ||||
| 
 | ||||
| def get_metadata(path): | ||||
|     metadata=read_metadata(path) | ||||
|     parser=metadata[1] | ||||
|     return parser | ||||
| 
 | ||||
| def get_station_names(parser): | ||||
| def get_station_names_lat_lon(parser): | ||||
|     station_names=[] | ||||
|     for station in parser.stations: | ||||
|         station_names.append(station[0].station_call_letters) | ||||
|     return station_names | ||||
| 
 | ||||
| def get_lat_lon(parser): | ||||
|     lat=[] | ||||
|     lon=[] | ||||
|     for station in parser.stations:     | ||||
|         lat.append(station[0].latitude) | ||||
|         lon.append(station[0].longitude) | ||||
|     return lat, lon | ||||
|     for station in parser.stations: | ||||
|         station_name=station[0].station_call_letters | ||||
|         if not station_name in station_names: | ||||
|             station_names.append(station_name) | ||||
|             lat.append(station[0].latitude) | ||||
|             lon.append(station[0].longitude) | ||||
|     return station_names, lat, lon | ||||
| 
 | ||||
| def get_picks(pf, station_names): | ||||
|     picks=[] | ||||
| @ -78,8 +78,8 @@ def get_x_y_dim(x, y): | ||||
|     ydim = max(y) - min(y) | ||||
|     return xdim, ydim | ||||
|      | ||||
| def init_map(projection, resolution='l'): | ||||
|     m = Basemap(projection=projection, resolution = resolution) | ||||
| def init_map(projection, ax, resolution='l'): | ||||
|     m = Basemap(projection=projection, resolution = resolution, ax=ax) | ||||
|     m.drawmapboundary(fill_color='darkblue') | ||||
|     m.drawcountries() | ||||
|     m.drawstates() | ||||
| @ -116,11 +116,24 @@ def add_cbar(ax, scatter, label): | ||||
|     cbar.set_label(label) | ||||
|     return cbar | ||||
| 
 | ||||
| qwidget = QtGui.QWidget() | ||||
| QtGui.QVBoxLayout() | ||||
| main_box = QtGui.QVBoxLayout() | ||||
| qwidget.setLayout(main_box) | ||||
| 
 | ||||
| fig = plt.figure() | ||||
| main_ax = fig.add_subplot(111) | ||||
| canvas = main_ax.figure.canvas | ||||
| main_box.addWidget(canvas) | ||||
| 
 | ||||
| toolbar = NavigationToolbar(canvas, qwidget) | ||||
| main_box.addWidget(toolbar) | ||||
| 
 | ||||
| 
 | ||||
| parser = get_metadata('/data/Geothermie/Insheim/STAT_INFO/MAGS2_net.dless') | ||||
| 
 | ||||
| station_names = get_station_names(parser) | ||||
| station_names, lat, lon = get_station_names_lat_lon(parser) | ||||
| 
 | ||||
| lat, lon = get_lat_lon(parser) | ||||
| picks = get_picks(pf, station_names) | ||||
| picks_rel = get_picks_rel(picks) | ||||
| 
 | ||||
| @ -131,7 +144,7 @@ londim, latdim = get_lon_lat_dim(lon, lat) | ||||
| x, y = m(lon, lat) | ||||
| xdim, ydim = get_x_y_dim(x, y) | ||||
| 
 | ||||
| m = init_map('mill', 'l') | ||||
| m = init_map(projection='mill', ax=main_ax, resolution='l') | ||||
| 
 | ||||
| lataxis, lonaxis = get_lat_lon_axis(lat, lon) | ||||
| latgrid, longrid = get_lat_lon_grid(lataxis, lonaxis) | ||||
| @ -143,17 +156,21 @@ contourf = draw_contour_filled(picks_no_nan, longrid, latgrid, picksgrid_no_nan) | ||||
| sc = m.scatter(lon, lat, s=50, facecolor='none', latlon=True, zorder=10, picker=True, edgecolor='m', label='Not Picked') | ||||
| sc_picked = m.scatter(lon_no_nan, lat_no_nan, s=50, c=picks_no_nan, latlon=True, zorder=11, label='Picked') | ||||
| 
 | ||||
| ax = plt.gca() # IMPROVE!!!! | ||||
| annotate_ax(main_ax, x, y, station_names) | ||||
| 
 | ||||
| annotate_ax(ax, x, y, station_names) | ||||
| main_ax.legend() | ||||
| 
 | ||||
| ax.legend() | ||||
| connect_pick(main_ax, onpick) | ||||
| 
 | ||||
| connect_pick(ax, onpick) | ||||
| cbar = add_cbar(main_ax, sc_picked, label='Time relative to first onset [s]') | ||||
| 
 | ||||
| cbar = add_cbar(ax, sc_picked, label='Time relative to first onset [s]') | ||||
| canvas.draw() | ||||
| 
 | ||||
| qwidget.show() | ||||
| 
 | ||||
| # ax.set_xlim(min(x)-0.5*xdim, max(x)+0.5*xdim) | ||||
| # ax.set_ylim(min(y)-0.5*ydim, max(y)+0.5*ydim) | ||||
| 
 | ||||
| plt.show() | ||||
| 
 | ||||
| 
 | ||||
| #plt.show() | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| f1e3-dirty | ||||
| bf63-dirty | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user