Aether大地电磁系统

Aether 是全新一代高速低速同时采集的大地电磁系统,通过 GPS 进行同步授时定位, 所有通道完全同步采集,连续时间序列存储。也可以用于任何传统电磁法 MT、 ATM、 CSAMT、 TEM、SIP、TDIP 等任何电法、电磁法数据的采集,及其地球物理新方法创新,电磁环境监 测等方面。

Aether是全新一代高频低频同时采集的电磁系统。它通过GPS进行同步授时定位,所有通道完全同步采集,连续时间序列存储。可以用于任何传统天然源电磁法MT、AMT,也可以用于常规有源法CSAMT、TEM、SIP、TDIP等。

通过3G/4G/5G网络,实时传输和下载时间序列数据,无需现场下载;适合用于长周期电磁和地震监测。

特点

● 连续时间序列存储

多通道数据连续记录,用以保证数据完整性,有限时间内可用数据最多,提高野外工作效率,增加抗干扰处理手段。完全区别于其它“老”仪器的间断采集方式,破坏了数据完整性,也降低了工作效率。

● 实时阻抗估计

可实时显示时间序列波形、频谱、仪器所有工作状态,并可实时处理并显示阻抗。

● 高低频同时记录

支持24bit 6通道高频(最高96kHz)和32bit 6通道低频(最高4kHz)在)同时采集和存储;同时采集单个点的高频数据和低频数据,避免不同仪器、不同时间采集数据拼接的问题。

● 电磁通道通用

Aether系列支持任意电磁法的传感器输入,包括电极、感应线圈磁探头、磁通门探头、地震速度传感器、加速度传感器等。

● GPS同步时间与坐标

精确的GPS授时,保证每个采样点都有精确的时间标签,并记录GPS位置。

自有设备采集的明码时间域文件转换成*.atts格式:

无码无真相:

#include "WriteBinary.h"WriteBinary::WriteBinary(QStringList aoStrFileName, ATTS_HEAD oHead) :gaoStrFileName(aoStrFileName),goHead(oHead)
{}void WriteBinary::run()
{/* atts file */FILE *pFileATTS;QString oStrFileName = gaoStrFileName.first();oStrFileName.chop(8);QString oStrFileATTS = QString( oStrFileName + ".atts");pFileATTS = fopen ( (oStrFileATTS.toLocal8Bit().data()), "wb" );fwrite(&goHead.flag,      8, 1, pFileATTS);fwrite(&goHead.nChan,     2, 1, pFileATTS);fwrite(&goHead.bits,      2, 1, pFileATTS);fwrite(&goHead.format,    4, 1, pFileATTS);fwrite(&goHead.Fs,        8, 1, pFileATTS);fwrite(&goHead.UnixBegin, 4, 1, pFileATTS);fwrite(&goHead.UsBegin,   4, 1, pFileATTS);fwrite(&goHead.UnixEnd,   4, 1, pFileATTS);fwrite(&goHead.UsEnd,     4, 1, pFileATTS);fwrite(&goHead.nSize,     8, 1, pFileATTS);fwrite(&goHead.notchFreq, 8, 1, pFileATTS);fwrite(&goHead.notchHarm, 2, 1, pFileATTS);fwrite(&goHead.unused,   30, 1, pFileATTS);for(int i = 0; i < 16; i++){fwrite(&(goHead.Chan[i].Valid),   2, 1, pFileATTS);fwrite(&(goHead.Chan[i].Comp),    2, 1, pFileATTS);fwrite(&(goHead.Chan[i].Direct),  2, 1, pFileATTS);fwrite(&(goHead.Chan[i].lens),    4, 1, pFileATTS);fwrite(&(goHead.Chan[i].ChName),  4, 1, pFileATTS);fwrite(&(goHead.Chan[i].SN),     16, 1, pFileATTS);fwrite(&(goHead.Chan[i].Gain),    4, 1, pFileATTS);fwrite(&(goHead.Chan[i].Offset),  4, 1, pFileATTS);fwrite(&(goHead.Chan[i].Azimuth), 4, 1, pFileATTS);fwrite(&(goHead.Chan[i].CRes),    4, 1, pFileATTS);fwrite(&(goHead.Chan[i].iAC),     2, 1, pFileATTS);fwrite(&(goHead.Chan[i].iDC),     2, 1, pFileATTS);fwrite(&(goHead.Chan[i].unused),  4, 1, pFileATTS);}fwrite(&goHead.Stn,        4, 1, pFileATTS);fwrite(&goHead.Lat,        8, 1, pFileATTS);fwrite(&goHead.Long,       8, 1, pFileATTS);fwrite(&goHead.Alt,        4, 1, pFileATTS);fwrite(&goHead.Line,       4, 1, pFileATTS);fwrite(&goHead.rKchanACDC, 4, 1, pFileATTS);fwrite(&goHead.unused2,  998, 1, pFileATTS);fwrite(&goHead.Comment,   64, 1, pFileATTS);fwrite(&goHead.ends,       2, 1, pFileATTS);QMap<int, QString> oMap;oMap.clear();foreach(QString oStrFile, gaoStrFileName){qDebugV0()<<oStrFile.right(5).left(1).toInt()<<oStrFile;/* 通道编号和文件名对应好 */oMap.insert(oStrFile.right(5).left(1).toInt(), oStrFile);}//qDebugV0()<<oMap<<goHead.nSize/5<<goHead.nSize;QByteArray baLine;baLine.clear();QStringList asLine;asLine.clear();QString sData;sData.clear();float fLine = 0.0;/* Ex */QFile oFileEx(oMap.value(1));if(!oFileEx.open(QIODevice::ReadOnly | QIODevice::Text)){qDebugV5()<<"Can't open the file!"<<oFileEx.errorString()<<endl;}oFileEx.readLine();/* Ey */QFile oFileEy(oMap.value(2));if(!oFileEy.open(QIODevice::ReadOnly | QIODevice::Text)){qDebugV5()<<"Can't open the file!"<<oFileEy.errorString()<<endl;}oFileEy.readLine();/* Hx */QFile oFileHx(oMap.value(4));if(!oFileHx.open(QIODevice::ReadOnly | QIODevice::Text)){qDebugV5()<<"Can't open the file!"<<oFileHx.errorString()<<endl;}oFileHx.readLine();/* Hy */QFile oFileHy(oMap.value(5));if(!oFileHy.open(QIODevice::ReadOnly | QIODevice::Text)){qDebugV5()<<"Can't open the file!"<<oFileHy.errorString()<<endl;}oFileHy.readLine();/* Hz */QFile oFileHz(oMap.value(6));if(!oFileHz.open(QIODevice::ReadOnly | QIODevice::Text)){qDebugV5()<<"Can't open the file!"<<oFileHz.errorString()<<endl;}oFileHz.readLine();for(int j = 0; j < goHead.nSize/5; j++){/* Ex */baLine.clear();baLine = oFileEx.readLine();QString sLineEx(baLine);sLineEx.remove("\n");asLine = sLineEx.split(",", QString::SkipEmptyParts);sData  = asLine.first();fLine  = sData.simplified().toFloat();fwrite(&fLine, goHead.bits/8, 1, pFileATTS);/* Ey */baLine.clear();baLine = oFileEy.readLine();QString sLineEy(baLine);sLineEy.remove("\n");asLine = sLineEy.split(",", QString::SkipEmptyParts);sData  = asLine.first();fLine  = sData.simplified().toFloat();fwrite(&fLine, goHead.bits/8, 1, pFileATTS);/* Hx */baLine.clear();baLine = oFileHx.readLine();QString sLineHx(baLine);sLineHx.remove("\n");asLine = sLineHx.split(",", QString::SkipEmptyParts);sData  = asLine.first();fLine  = sData.simplified().toFloat();fwrite(&fLine, goHead.bits/8, 1, pFileATTS);/* Hy */baLine.clear();baLine = oFileHy.readLine();QString sLineHy(baLine);sLineHy.remove("\n");asLine = sLineHy.split(",", QString::SkipEmptyParts);sData  = asLine.first();fLine  = sData.simplified().toFloat();fwrite(&fLine, goHead.bits/8, 1, pFileATTS);/* Hz */baLine.clear();baLine = oFileHz.readLine();QString sLineHz(baLine);sLineHz.remove("\n");asLine = sLineHz.split(",", QString::SkipEmptyParts);sData  = asLine.first();fLine  = sData.simplified().toFloat();fwrite(&fLine, goHead.bits/8, 1, pFileATTS);}oFileEx.flush();oFileEy.flush();oFileHx.flush();oFileHy.flush();oFileHz.flush();oFileEx.close();oFileEy.close();oFileHx.close();oFileHy.close();oFileHz.close();fflush(pFileATTS);fclose(pFileATTS);emit Sig("转换完成!\n" + oStrFileATTS);
}

QFile ,Q_DISABLE_COPY。可以使用QList<QFile*> 来存放文件指针。大佬们见笑了。

C++生成 桔灯 Aether仪器的 *.atts 格式 时间域文件相关推荐

  1. python使用fpdf生成发票格式的pdf文件包含:文字、图片logo、表格、条形码等;

    python使用fpdf生成发票格式的pdf文件包含:文字.图片logo.表格.条形码等: pip install fpdf #python使用fpdf生成发票格式的pdf文件包含:文字.图片logo ...

  2. flowable 中文文档_取出word文档文字内容生成加了目录、标号和页码的PDF文件

    word文档内的一页: 将文本取出来,生成自定义格式的PDF文件: 从word取出文本时标题的标号和页码是取不出来的,要自己加.另外就是目录也要自己生成和添加: 代码和解释如下: from repor ...

  3. Java生成真正格式的Excel文件

    一般情况下如果想完全通过自己手工组装的方式去生成一个Excel文件,可以先在pom.xml文件中引入下述依赖: <dependency><groupId>com.github. ...

  4. 树莓派安装FFTW,linux安装库不生成.so库,拷贝.so .a,按时间查看文件的命令

    目录 1.树莓派安装FFTW 2.不生成.so库的问题 3.从.a生成.so 4.直接复制.so .a 5.按时间查看文件 1.树莓派安装FFTW 树莓派安装fftw_zhangjun62的博客-CS ...

  5. 使用OpenCV合成训练图片,同时生成labelme兼容格式的标注文件

    思路很简单,加载背景图片,加载目标图片,随机抽取N个目标图像,将目标图像的像素copy到背景图片上,拷贝的位置可根据要求指定:同时合成标注json文件.代码如下: # coding=utf-8from ...

  6. Java多word文件生成后进行压缩并导出下载后,压缩文件损坏并提示“不可预料的压缩文件末端”和“CRC校验失败”

    Java多word文件生成后进行压缩并导出下载后,压缩文件损坏并提示"不可预料的压缩文件末端"和"CRC校验失败" WinRAR 打开情况: 提示不可预料的压缩 ...

  7. java根据pdf模板生成指定格式的pdf文件

    java根据pdf模板生成指定格式的pdf文件 一.工具准备 事先得准备好Adobe Acrobat DC,这是一款专门编辑pdf的工具,小编已经给大家准备好了. 链接:https://pan.bai ...

  8. java p12 ssl_OpenSSL 1.0.0生成p12、jks、crt等格式SSL数字证书的全过程合集

    在这里跟万维景盛的开发者伙伴们分享OpenSSL 1.0.0生成p12.jks.crt等格式SSL数字证书的全过程合集,此生成的证书可用于浏览器.java.tomcat.c++等.步骤如下: 1.创建 ...

  9. Android Studio项目打包生成可安装在自己手机上的App安装包文件

    点击上方"码农的后花园",选择"星标" 公众号 精选文章,第一时间送达 Android程序开发完后,如果要发布在互联网上供别人使用,就要将自己的程序打包成And ...

最新文章

  1. 深入理解PHP内核(四)概览-PHP脚本的执行
  2. ie8恶心的bug--4个小时的教训
  3. java1.8中的时间处理类
  4. UVa 10258 - Contest Scoreboard
  5. kerberos 主从安装
  6. HelloWorld新手常见问题
  7. 多个canvas画布合并_canvas的基础入门
  8. 兼容性测试之VMware
  9. Activiti启动某个流程失败,页面报500
  10. Java线程池ExecutorService
  11. 伦敦大学计算机研究生雅思要求,伦敦TOP10大学的雅思入学要求来了!
  12. 超搜索引擎BBMAO
  13. 股票交易接口的分类webService接口
  14. linux下多线程验证数独,6.6.1 数独求解服务器
  15. 超详细: Type-C接口Macbook笔记本无法充电(时连时断)的傻瓜处理流程
  16. clickhouse--Window Functions 窗口函数概念讲解及实际使用示例
  17. [AV1] DC Intra Prediction
  18. 小米5怎样升级android,小米5开发版怎么升级Android 7.0?小米5开发版升级Android 7.0教程...
  19. 响铃:迎风而起的布料B2B平台,谁才是决定生死的命脉?
  20. 无线AP的Fat模式和Fit模式有什么区别?

热门文章

  1. 【统计学】基本Stata使用手册(5):面板数据
  2. BIM模型文件下载——某小高层商住楼项目Revit模型
  3. android ui flutter,android-如何在运行flutter应用程序时解决’dart:ui’错误?
  4. (亲测有效)解决shell脚本运行报错
  5. python中rb是什么意思_python中rb含义理解
  6. Vue 修改掘金字体颜色
  7. 最新期货限仓规定(商品期货限制开仓)
  8. Java学习 day 34_HTML
  9. .net core 使用 FreeSpire.XLS 实现 excel 转 png - docker 部署
  10. linux 中文五笔输入法,Linux系统下中文输入法安装与配置技巧