You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ObsPy向StationXML文件添加多个地震台站

解决ObsPy添加多个台站到StationXML的问题

核心逻辑是:ObsPy的Inventory→Network→多个Station层级结构,每个台站需要单独创建Station实例,再添加到同一个Network对象中。

以下是修正后的完整代码示例:

from obspy import UTCDateTime
from obspy.core.inventory import Inventory, Network, Station, Site

# 创建根Inventory对象
inv = Inventory(
    networks=[],
    source="Your Source Name"
)

# 创建Network对象(示例代码设为"XX",可按需修改)
net = Network(
    code="XX",
    stations=[],
    description="Test Network",
    start_date=UTCDateTime(2016, 1, 1)
)

# 第一个台站(示例参数,可替换你自己的初始台站配置)
sta1 = Station(
    code="ABC",
    latitude=15.0,
    longitude=10.0,
    elevation=1000.0,
    creation_date=UTCDateTime(2016, 1, 2),
    site=Site(name="First station")
)
net.add(sta1)

# 第二个台站(使用你提供的DEF台站参数)
sta2 = Station(
    code="DEF",
    latitude=10.0,
    longitude=20.0,
    elevation=3450.0,
    creation_date=UTCDateTime(2016, 1, 3),
    site=Site(name="Second station")
)
net.add(sta2)

# 将Network添加到Inventory
inv.add(net)

# 写入StationXML文件
inv.write("multiple_stations.xml", format="STATIONXML")

关键说明:

  • 每个台站必须是独立的Station实例,不能把多个台站的参数混在同一个Station对象里。
  • 用network.add(station_instance)方法将每个台站依次添加到网络中。
  • 最终通过Inventory对象统一写入文件,确保输出结构符合StationXML规范。

内容的提问来源于stack exchange,提问作者Ric

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 17:25:52