通用测震数据获取软件包设计与实现.docVIP

通用测震数据获取软件包设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通用测震数据获取软件包设计与实现

通用测震数据获取软件包设计与实现   ?おふ?要:在掌握数据源及相关数据格式的基础上,实现了读取SSS实时流数据、数据库连续波形、事件波形数据以及SEED文件的通用获取测震数据软件包。该软件包可使应用程序通过统一数据接口获得测震数据。经测试该软件包功能完整、高效易用,提高了地震科技人员的工作效率。   ?す丶?词:测震数据;SEED;软件包;统一数据接口   ?ぶ型挤掷嗪牛?TP311.52 文献标识码:A 文章编号:1000-0666(2011)01-0102-06?お?   0 引言??   随着“九五”和“十五”项目的建设完成,中国地震局推广的地震监测系统JOPENS在地震日常工作及大震速报方面发挥了重要作用(孙学军,姚宏,2009;李大辉等,2001;胡星星等,2008;胡华灯,黄文辉,2006;金星等,2007;卫爱民等,2005)。随着我国社会经济的发展,政府和民众对地震行业提出了更高的要求,快速、实时利用数字地震波形开展地震学相关学科的研究、地震预警、震源参数反演、“新参数地震目录”的产生(付虹等,2009;万柯松等,2009;陈运泰,吴忠良,1999)等工作已提上日程。但JOPENS没有提供二次开发的接口,地震科技工作者在获取地震数据时面临很多难题,尤其是测震数据存在多数据源的情况,如JOPENS/SSS实时测震流数据、来自JOPENS数据库的连续波形数据和事件波形数据、SEED波形文件等,并且这些数据的格式繁多复杂,需要了解这些数据的存储方式、格式等。针对这些问题,本研究开发的软件包将提供一个简单、可靠、统一的方案,可读取不同数据源的测震数据,从而方便后期数据的处理。??   1 总体结构??   本软件包的主要功能是为应用程序提供一个统一的获取测震数据的平台。根据数据源的不同,本软件包分为3个独立的模块,总体模块图如图1所示,分别为:SSS流数据处理模块、JOPENS数据库处理模块、SEED文件处理模块。SSS流数据处理模块用来读取SSS服务器的实时测震数据,JOPENS数据库处理模块用于处理JOPENS数据库中的连续波形和事件波形数据,SEED文件处理模块用于读取SEED波形文件。这些模块分别将不同的数据转换为统一数据格式,最终为应用程序提供指定台站、通道、采样率的测震数据。本软件包基于.NET3.0平台,采用C#语言开发,具有使用简单、完全面向对象、层次清晰、效率高等优点。   2 统一数据接口??   为了能够提供统一的数据接口,本软件包自行定义了对外的统一数据接口S_data。三大模块将获取到的原始数据转换为统一的格式,最后由??S_data??统一提供给应用程序。下面是统一数据接口S_data相关数据结构的定义。图2为统一数据接口类的结构图。   类S_data用来存放多个台站的测震数据。??stations_name??用来存储台站名称的数组,stations是存放台站所有数据的数组。本软件包对外提供的所有测震数据都通过这个类来提供。??   类S_Sation_data用来存放单个台站数据。channels_name是存储该台站中所有通道名称的数组,channels是存放该台站所有通道原始数据的数组。??   方法getData_Time[KG0]()和getStreamData_Time[KG0]()根据指定台站名、通道名和采样率获取测震数据。当前测震数据的采样率通常为100 Hz,数据量很大,同一台站同一通道一天记录的数据达到??8 640 000??个,存在计算量大的困难,用户可能需要不同采样率的数据来满足不同的需求,因此本软件包提供了自行设定采样率的功能。方法getStreamData_Time[KG0]()用于获取流数据。方法getData_Time[KG0]()应用于读取数据库和SEED文件数据。??   3 流数据处理模块   3.1 NetSeis/IP流服务协议   目前“十五”项目测震台网采用SSS流服务器来负责接收和分发近实时波形数据,该服务遵守NetSeis/IP流服务协议,默认采用5000端口提供实时地震数据流。NetSeis/IP协议类似FTP协议,主要参考了美国Albuquerque Seismological Laboratory(ASL)的LISS协议和TCP/IP协议,用于传送实时地震波形数据(李卫东,梁兆东,2008)。??   3.2 设计思路??   本模块共有两个线程――控制线程和接收数据线程。控制线程负责初始化SSS服务器连接、获取数据端口和创建接收数据线程;接收数据线程负责创建数据连接、接收数据、处理解压缩数据并将其转换为统一格式供应用程序使用。??   当控制线程连接到SSS服务器时,服务器将验证用户名和密

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档