测井数据批量处理

原创 2016年05月31日 20:01:35

在Jason处理地震数据时,需要加载井数据,而井数据又分为多种。在加载数据之前可能要对其进行预处理。本文以时深关系曲线为例,对其进行处理使得Jason能够识别。


简单的处理过程如上图,生成新的文本文件,去掉原数据中的字符,同时删去头尾部分数据以节省空间


本方法代码如下:

/////////////////////////////////////
author:Yongxiao Tian,China university of petroleum East
/////////////////////////////////////

#define _CRT_SECURE_NO_WARNINGS
#include "max.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
	char filepath[FILENAME_MAX] = "J:\\TD\\filename.txt";  //保存有所有需要处理的文件名
	char openfile[FILENAME_MAX] = { 0 };
	char savefile[FILENAME_MAX] = { 0 };
	char readfile[FILENAME_MAX] = { 0 };
	char* temp = 0;
	FILE* cf;
	FILE* of;
	FILE* sf;

	int N = 1;
	int i = 0;
	int fa = 0;
	int sa = 0;

	double frow = 0;  //第一列
	double srow = 0;  //第二列

	cf = fopen(filepath, "rt");
	if (!cf){ printf("open file failed\n"); return -9; }

	while (!feof(cf))
	{
		//读取待处理文件名
		fscanf(cf, "%s\n", readfile);

		//设置打开文件路径
		strcat(strcpy(openfile, "J:\\TD\\"), readfile);
		//设置保存文件路径
		temp = strchr(readfile, '_');
		strcpy(savefile, "J:\\TD_nw\\");
		strncat(savefile, readfile, temp - readfile);
		strcat(savefile, "_TD.txt");
		printf("%s    |||||    %s    %d\n", openfile, savefile, N++);

		of = fopen(openfile, "rt");
		sf = fopen(savefile, "wt");
		if (!of || !sf){ printf("open file failed\n"); return -99; }

		for (i = 0; i < 10; i++)fgets(readfile, FILENAME_MAX, of);  //删除开头十行
		fscanf(of, "%lf%lf%*s", &frow, &srow);
		while (!feof(of))
		{
			if (frow < 100.0)fa = 9;
			else if (frow < 1000.0)fa = 8;
			else fa = 7;

			if (srow*2 < 100.0)sa = 9;
			else if (srow*2 < 1000.0)sa = 8;
			else sa = 7;
			if (srow>0.0){
				fprintf(sf, "%-12.*lf  %-12.*lf\n", fa, frow, sa, srow * 2);
			}
			fscanf(of, "%lf%lf%*s", &frow, &srow);
		}
		fclose(of);
		fclose(sf);
	}

	return 0;

}

好啦,希望大家学的开心。最近在做项目,我会把期间的心得体会和技巧慢慢po上来。

版权声明:本文遵循“署名-非商业用途-保持一致”创作公用协议 举报

相关文章推荐

测井曲线wis文件格式转换为ASCII文本格式小软件的开发(C与Python结合开发)

在油田开发地质研究工作中,测井曲线是必不可少的数据文件之一。Forward软件是测井软件中非常优秀的产品,Forward中使用的是wis二进制格式,可是很多其他类型的软件不能直接识别wis格式,所以需...

井径测井原理、计算方法、主要应用、仪器刻度、质量控制

1、井径测井原理 1.1测量原理 实际井径往往和钻头直径不同,利用井径仪来测量井眼直径的变化。井径仪的结构主要有两种:一种是进行单独井径测量的张臂式井径仪;另一种就是利用某些测井仪器的推靠臂(...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)