以前用wpf写的地震体浏览工具,还有不完善的地方,借以抛砖引玉。 欢迎交流。 namespace WpfPtest { /// <summary> /// Interaction logic for Window1.xaml /// </summary> public partial class Window1 : Window { private CA_SegY.CSegY m_CSegy = new CA_SegY.CSegY(); //private CA_SegY.CSegYScanner m_CSegyScan = new CA_SegY.CSegYScanner(); public Window1() { InitializeComponent(); } private void BtnOpenFile_Click(object sender, RoutedEventArgs e) { OpenFileDialog openSegyFile = new OpenFileDialog(); openSegyFile.ShowDialog(); text_SegyFilePath.Text = openSegyFile.FileName; // string strValue = m_CSegy.GetProtectedStr(); // string strValueTest = m_CSegyScan.GetProtectedStr(); // strValueTest = m_CSegyScan.getValue(); m_CSegy.SetSegyFile(openSegyFile.FileName); m_CSegy.OpenSegyFile(); // m_CSegyScan.SetSegyFile(openSegyFile.FileName); // m_CSegyScan.OpenSegyFile(); ShowSegyFileHeader(); } private void BtnExit_Click(object sender, RoutedEventArgs e) { Close(); } private void ShowSegyFileHeader() { if (null == m_CSegy) { return; } ShowSegyEbcdicHeader(); ShowSegyBinaryHeader(); //ShowSegyTraceInfo(1); } private void ShowSegyEbcdicHeader() { if (null == m_CSegy) { return; } string strEbcdic = ""; strEbcdic = m_CSegy.GetSegyEbcdicHeader(); richTextBox1.AppendText(strEbcdic); } private void ShowSegyBinaryHeader() { if (null == m_CSegy) { return; } CA_SegY.c_SEGYBinary_Header segyBinaryHeader = new CA_SegY.c_SEGYBinary_Header(); segyBinaryHeader = m_CSegy.GetSegyBinaryHeader(); txtSamples.Text = (segyBinaryHeader.hns).ToString();//hns txtSampleRate.Text = (segyBinaryHeader.hdt).ToString() + "ms"; txtTraces.Text = (m_CSegy.GetTracesCount()).ToString(); txtFormatCode.Text = m_CSegy.GetUnitType().ToString(); labelMax.Content = txtTraces.Text; slider1.Maximum = m_CSegy.GetTracesCount(); slider1.Minimum = 1; CoustomSegyBinaryHeader segybinaryheader = new CoustomSegyBinaryHeader(); segybinaryheader.AddInfo("1-4", (segyBinaryHeader.jobid).ToString(), "作业标识号"); segybinaryheader.AddInfo("5-8", (segyBinaryHeader.lino).ToString(), "测线号"); segybinaryheader.AddInfo("9-12", (segyBinaryHeader.reno).ToString(), "卷号"); segybinaryheader.AddInfo("13-14", (segyBinaryHeader.ntrpr).ToString(), "道数"); segybinaryheader.AddInfo("15-16", (segyBinaryHeader.nart).ToString(), "辅助道数"); segybinaryheader.AddInfo("17-18", (segyBinaryHeader.hdt).ToString(), "采样间隔"); segybinaryheader.AddInfo("19-20", (segyBinaryHeader.dto).ToString(), "野外记录间隔"); segybinaryheader.AddInfo("21-22", (segyBinaryHeader.hns).ToString(), "每道样点数"); segybinaryheader.AddInfo("23-24", (segyBinaryHeader.nso).ToString(), "野外记录道的样点数"); segybinaryheader.AddInfo("25-26", (segyBinaryHeader.format).ToString(), "数据格式码"); segybinaryheader.AddInfo("27-28", (segyBinaryHeader.fold).ToString(), "CMP覆盖次数"); segybinaryheader.AddInfo("29-30", (segyBinaryHeader.tsort).ToString(), "道分选码"); segybinaryheader.AddInfo("31-32", (segyBinaryHeader.vscode).ToString(), "垂直叠加码"); segybinaryheader.AddInfo("33-34", (segyBinaryHeader.hsfs).ToString(), "起始扫描频率"); segybinaryheader.AddInfo("35-36", (segyBinaryHeader.hsfe).ToString(), "终止扫描频率"); segybinaryheader.AddInfo("37-38", (segyBinaryHeader.hslen).ToString(), "扫描长度"); segybinaryheader.AddInfo("39-40", (segyBinaryHeader.hstyp).ToString(), "扫描类型码"); segybinaryheader.AddInfo("41-42", (segyBinaryHeader.schn).ToString(), "扫描通道的道号"); segybinaryheader.AddInfo("43-44", (segyBinaryHeader.hstas).ToString(), "有斜坡时,为起始斜坡长度(斜坡起始于时间零,使用时间为该长度)。以 ms 表示。"); segybinaryheader.AddInfo("45-46", (segyBinaryHeader.hstae).ToString(), "终了斜坡长度(终了斜坡起始于扫描长度减终了斜坡长度)。以 ms 表示。"); segybinaryheader.AddInfo("47-48", (segyBinaryHeader.htatyp).ToString(), "斜坡类型"); segybinaryheader.AddInfo("49-50", (segyBinaryHeader.hcorr).ToString(), "相关数据道"); segybinaryheader.AddInfo("51-52", (segyBinaryHeader.bgrcv).ToString(), "二进制增益恢复"); segybinaryheader.AddInfo("53-54", (segyBinaryHeader.rcvm).ToString(), "振幅恢复方式"); segybinaryheader.AddInfo("55-56", (segyBinaryHeader.mfeet).ToString(), "测量系统"); segybinaryheader.AddInfo("57-58", (segyBinaryHeader.polyt).ToString(), "脉冲信号极性"); segybinaryheader.AddInfo("59-60", (segyBinaryHeader.vpol).ToString(), "可控震源 地震信号滞"); segybinaryheader.AddInfo("61-62", (segyBinaryHeader.traceNum).ToString(), "总道数"); segybinaryheader.AddInfo("69-70", (segyBinaryHeader.sampletype).ToString(), "数据域(性质):0-时域,1-振幅,2-相位谱"); segybinaryheader.AddInfo("271-400", "", "没有确定,选择使用 "); ListViewBinary.ItemsSource = segybinaryheader; } private void ShowSegyTraceInfo(int iNo) { if(null == m_CSegy) { return; } CA_SegY.c_SEGYTrace_Info segyTraceHeader = new CA_SegY.c_SEGYTrace_Info(); float[] segyTraceData = new float[m_CSegy.GetTraceSample()]; if (!m_CSegy.getTraceInfo(iNo, ref segyTraceHeader, segyTraceData)) { return; }
- 1
- zz198709052012-10-13还是相当有用的。。
- gtfeature2015-06-11还是相当有用的。。
- 北海散人2013-05-22很新的技术,值得学习。
- 粉丝: 286
- 资源: 28
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 微信自动抢红包APP.zip毕业设计参考学习资料
- 为 Wireshark 能使用纯真网络 IP 数据库(QQwry)而提供的格式转换工具.zip
- 音频格式转换工具.zip学习资料程序资源
- 自用固件,合并openwrt和immortalwrt编译AX6(刷机有风险).zip
- 最新GeoLite2-City.mmdb,GeoLite2-Country.mmdb打包下载
- 基于BootStrap + Springboot + FISCO-BCOS的二手物品交易市场系统.zip
- 使用Java语言编写的九格拼游戏,找寻下曾经小时候的记忆.zip
- gakataka课堂管理系统
- 一个简单ssh(spring springMVC hibernate)游戏网站,在网上找的html模板,没有自己写UI,重点放在java后端上.zip
- 一个采用MVC架构设计、Java实现的泡泡堂游戏.zip