Beheben Sie den von obspy.plot(type='section') gemeldeten Fehler beim Plotten in der Reihenfolge der Epizentrumsentfernung

1. Wenn Sie die Obspy-Bibliothek von Python verwenden, um ein nach epizentrischem Abstand angeordnetes Wellenform-Vergleichsdiagramm zu zeichnen und den epizentrischen Abstand zum Anordnen in ° verwenden (d. h. dist_degree=True festlegen), wird auch ein Fehler gemeldet, wenn ev_coord festgelegt ist. Die Fehlermeldung lautet wie folgt: Es liegt ein Problem vor: In
Trace.stats gibt es kein Koordinatenattribut (anscheinend können Sie es selbst definieren, es ist noch nicht klar).

ValueError: Define latitude/longitude in trace.stats.coordinates

2. Lösung (dies kann eine Kompromissmethode sein):
Wenn der gcarc-Wert oder der dist-Wert des Epizentrumsabstands im SAC-Datenheader definiert ist, kann er Trace.stats.distance zugewiesen werden, sodass er auch verwendet werden kann, wenn dist_degree= Falsch Es kann ein Vergleichsdiagramm der nach epizentrischem Abstand (Einheit: °) angeordneten Wellenformen erstellt werden. Wenn nur der dist-Wert angegeben wird, kann dieser manuell in ° umgewandelt und mit 1000 multipliziert werden, da die Standardeinheit der epizentralen Entfernung unter obspy.plot(type='section') km ist.

for tr in st:
    tr.stats.distance = tr.stats.sac['gcarc'] * 1000

3. Vollständiger Code:

import os
import glob
import obspy
import matplotlib.pyplot as plt
from obspy import Stream

sacfile = sorted(glob.glob('*/*sac'))

# Original mean stacked waveforms
st = Stream()
for data in sacfile:
    st += obspy.read(data)

for tr in st:
    tr.stats.distance = tr.stats.sac['gcarc'] * 1000

fig = plt.figure(figsize=(10,6))
st.plot(type='section',orientation='horizontal',recordlength=1200,linewidth=1.0, show=False, fig=fig)
plt.xlabel('Time/(s)')
plt.ylabel('Distance/(°)')
plt.savefig('Wave_gcarc.png',dpi=300)
# plt.show()

Beschreibung des Referenzproblems: [obspy-users] zeichnet Datensatzabschnitte auf: Geben Sie oftrace.stats.coordinates ein

Supongo que te gusta

Origin blog.csdn.net/weixin_44547510/article/details/124841391
Recomendado
Clasificación