参考源码

https://github.com/agile-geoscience/seisplot

准备工作:

在windows10下安装python3.7,下载参考源码到本地。

1. demo绘图测试

demo绘图指令

cmd> python seisplot.py --demo

问题1)缺少依赖包

File "D:/Desktop/python可视化/seisplot/seisplot.py", line 16, in import yaml

ModuleNotFoundError: No module named 'yaml'

>pip3 install yaml

Could not find a version that satisfies the requirement yaml (from versions: )

No matching distribution found for yaml

查看environment.yml:

channels:

- defaults

- conda-forge

dependencies:

- matplotlib

- numpy

- obspy

- pillow

- pyyaml

安装相关依赖包,如 obspy pillow pyyaml

cmd> pip3 install obspy

出现proxy error, 添加选项 --proxy server:port

安装ok

问题2)配置文件的编码异常

D:\Desktop\python可视化\seisplot>python seisplot.py --demo

[91m

Welcome to

┌─┐┌─┐┬┌─┐┌─┐┬ ┌─┐┌┬┐

└─┐├┤ │└─┐├─┘│ │ │ │

└─┘└─┘┴└─┘┴ ┴─┘└─┘ ┴

Good luck[0m

Traceback (most recent call last):

File "seisplot.py", line 421, in cfg = yaml.load(f)

File "D:\ProgramFiles\Python36\lib\site-packages\yaml\__init__.py", line 70, in load

loader = Loader(stream)

File "D:\ProgramFiles\Python36\lib\site-packages\yaml\loader.py", line 34, in __init__

Reader.__init__(self, stream)

File "D:\ProgramFiles\Python36\lib\site-packages\yaml\reader.py", line 85, in __init__

self.determine_encoding()

File "D:\ProgramFiles\Python36\lib\site-packages\yaml\reader.py", line 124, in determine_encoding

self.update_raw()

File "D:\ProgramFiles\Python36\lib\site-packages\yaml\reader.py", line 178, in update_raw

data = self.stream.read(size)

UnicodeDecodeError: 'gbk' codec can't decode byte 0x99 in position 2003: illegal multibyte sequence

分析源码中参数传递情况:

def load(stream, Loader=Loader):

"""

Parse the first YAML document in a stream

and produce the corresponding Python object.

"""

print(stream) ## debug by huanying03

loader = Loader(stream)

try:

return loader.get_single_data()

finally:

loader.dispose()

打印结果如下:

编码不对?

65001  :UTF-8代码页

936 :默认的GBK

437 :是美国英语

仔细检查发现config.yml中有异常字符,更正config.yml中错误字符:ok

问题3)python调试打印语句

print ("value=%d"%value)

demo数据绘图结果

如下:

2. 本地数据绘图测试

应用指令

cmd > python seisplot.py data/my.sgy

问题1)数据道的采样值异常

filename data2/t10.sgy

seismic.py:104:dt=4000

seismic.py:104:ns=512

seismic.py:144:header=b'C 1 CLIENT'

n_traces 500

n_samples 512

dt 0.004

t_start 0

t_end 2.044

max_val inf

min_val -inf

clip_val 180462501764003194804057887685476352

Read data in 0.4 s

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

PLOTTING

plot width 17.00 in

plot height 11.00 in

Traceback (most recent call last):

File "seisplot.py", line 442, in main(t, cfg)

File "seisplot.py", line 214, in main

cfg)

File "D:\Desktop\python可视化\seisplot\plotter.py", line 123, in plot_histogram

y, x, _ = ax.hist(np.ravel(data), bins=int(100.0 / (clip_val / largest)),

OverflowError: cannot convert float infinity to integer

解决办法:将数据做归一化处理

问题2)数据文件的卷头异常

filename data2/marmousi_vel.segy.hdrs.sgy.cdp.sgy

seismic.py:104:dt=10000

seismic.py:104:ns=350

seismic.py:144:header=b'\xc3@\xf1@\xc3\xd3\xc9\xc5\xd5\xe3'

Traceback (most recent call last):

File "seisplot.py", line 442, in main(t, cfg)

File "seisplot.py", line 40, in main

s = Seismic.from_segy(target, params={'ndim': cfg['ndim']})

File "D:\Desktop\python可视化\seisplot\seismic.py", line 164, in from_segy

return cls.from_obspy(stream, params=params)

File "D:\Desktop\python可视化\seisplot\seismic.py", line 147, in from_obspy

x =np.array(list(stream.textual_file_header.decode()))

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 0: invalid continuation byte

解决办法:重写3200字节的segy卷头

marmousi相关数据绘图

速度模型绘图结果如下:

marmousi模型正演的炮集数据绘图结果如下:

测试备忘

1

cygwin执行指令,可以看到反馈信息为彩色,分析信息很方便。

相比之下,cmd终端执行指令后的反馈信息可读性较差。

2

本地数据出现异常后,通过cwp中的segyread, sushw, sugain, segywrite等程序进行修改,满足绘图程序要求。

1)3200字节的卷头必须规范

2)道头字中的cdpt取值必须规范(xline)

3)道采样值最好归一化处理。

python地震数据处理_python 地震数据可视化相关推荐

  1. python颜色表_Python:数据可视化,必须注意的30个小技巧

    原标题:Python:数据可视化,必须注意的30个小技巧 优秀的数据可视化图表只是罗列.总结数据吗?当然不是!数据可视化其真正的价值是设计出可以被读者轻松理解的数据展示,因此在设计过程中,每一个选择, ...

  2. python 仪表盘实现_Python实现数据可视化看如何监控你的爬虫状态【推荐】

    今天主要是来说一下怎么可视化来监控你的爬虫的状态. 相信大家在跑爬虫的过程中,也会好奇自己养的爬虫一分钟可以爬多少页面,多大的数据量,当然查询的方式多种多样.今天我来讲一种可视化的方法. 关于爬虫数据 ...

  3. 【Python数据处理篇——DataFrame数据可视化】饼图、散点图、折线图、柱形图、直方图

    欢迎访问我搞事情的[知乎账号]:Coffee 以及我的[B站漫威剪辑账号]:VideosMan 若我的笔记对你有帮助,请用小小的手指,点一个大大的赞哦. 关于DataFrame的相关知识,我还进行了汇 ...

  4. chatgpt赋能python:Python制表位:优化数据可视化与分析的利器

    Python 制表位:优化数据可视化与分析的利器 在数据可视化和分析中,表格是一种常用的数据展示方式.Python 提供了丰富的用于构建表格的库,其中之一便是制表位(Tabulate).本文将介绍制表 ...

  5. Python使用tsne进行高维数据可视化实战:二维可视化、三维可视化

    Python使用tsne进行高维数据可视化实战:二维可视化.三维可视化 # 绘制二维可视化图像并添加标签字符函数 def plot_embedding(data, label, title):x_mi ...

  6. python与excel做数据可视化-Python的Excel操作及数据可视化

    Excel表操作 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd pip install xlrd 简单的表格读取 ...

  7. 使用Python Seaborn和Pandas进行数据可视化

    Hey, folks! Today we will be unveiling a very interesting module of Python - Seaborn Module and will ...

  8. python实现的电影票房数据可视化

    代码地址如下: http://www.demodashi.com/demo/14275.html ##详细说明: Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从 ...

  9. Python爬虫实战,pyecharts模块,Python实现奥斯卡金像奖数据可视化

    前言 利用Python实现奥斯卡金像奖数据可视化.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块 pandas模块 pyecharts模 ...

  10. Python爬虫实战,pyecharts模块,Python实现豆瓣电影TOP250数据可视化

    前言 利用Python实现豆瓣电影TOP250数据可视化.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: pandas模块 pyecharts模块: 以及一些 ...

最新文章

  1. Paddle Release Note
  2. [转]mysql 数据类型
  3. LeetCode: 108. Convert Sorted Array to Binary Search Tree
  4. 我可以从iOS DeviceSupport中删除数据吗?
  5. Google 已正式结束对 Eclipse Android 的支持
  6. Ubuntu 14.04 LTS, 64bit, cuda 7, Caffe环境配置编译和安装
  7. 水壶问题 算法导论8.4
  8. 一小时学会Ansible自动化运维
  9. unity, shader, Tags的位置
  10. java抽象工厂设计模式_23种经典设计模式的java实现_1_抽象工厂模式
  11. 入门Python,限时1元!
  12. 计算机专业英语mooc,专业英语(软件)-中国大学mooc-题库零氪
  13. java geoprocessor_ArcGIS GeoEvent Processor for Server 安裝與配置 (僅適用於壓縮安裝包)...
  14. IEC61850报告服务(报文解析)
  15. A bit of fun: fun with bits[翻译]
  16. EDFbrowser查看edf文件及睡眠分期认识
  17. 【内存】ECC内存简介
  18. Python:正则表达式re.compile()
  19. 雨课堂知识点总结(十六)
  20. Python3 批量提取视频中的音频

热门文章

  1. matlab 均匀设计编程,均匀设计均匀设计表--方开泰.doc
  2. 【Makefile】简单的Makefile编写
  3. opencv之调取摄像头拍照
  4. Mac苹果电脑Matlab2018a和2020a下载及安装(linux和win也有,但是没试)
  5. 基于SSM的企业人事人员管理系统
  6. Altium Designer封装库的绘制
  7. 孩子学python_教孩子学编程 Python
  8. 卓凡信息技术考试系统服务器,卓凡信息技术考试系统
  9. python中jieba库的作用_Python jieba库用法及实例解析
  10. android高德地图获取省市编码,android中高德地图地理编码