分类筛选
分类筛选:

关于检索方法类专科毕业论文范文 跟不规则区域内井位数据信息检索方法方面专科毕业论文范文

版权:原创标记原创 主题:检索方法范文 类别:发表论文 2024-02-01

《不规则区域内井位数据信息检索方法》

本文是关于检索方法类参考文献格式范文与信息检索和井位和不规则区域方面参考文献格式范文。

一、核心算法及原理

本数据信息检索方法所采用的核心算法为射线算法,并用其判断一个点是否在一个已知多边形区域内,其原理如下:

从P 作水平向左的射线的话,如果P 在多边形内部,那么这条射线与多边形的交点必为奇数,如果P 在多边形外部,则交点个数必为偶数(0 也在内).所以,我们可以顺序比较多边形的每条边,求出交点的总个数.但这里仍有一些特殊情况要考虑,假如边(P1,P2):

(1)如果射线正好穿过P1 或者P2,那么这个交点会被算作2 次,如果P 的纵坐标与P1,P2 中较小的纵坐标相同,则直接忽略这种情况.

(2)如果边(P1,P2) 水平,则射线要么与其无交点,要么有无数个,这种情况也直接忽略.

(3)如果边(P1,P2) 竖直,而P 的横坐标大于P1,P2的横坐标, P 的纵坐标介于P1, P2 的纵坐标之间,则必然相交.

(4)再判断相交之前,先判断P 是否在边(P1, P2) 的上面,如果在,则直接得出结论:P 在多边形内部[1].

二、算法编译流程

上述算法在计算机中运算流程如下:

(1)依次输入P(x,y) 和多边形Polygon(x1,y1;x2,y2;…xn,yn;);

(2)以P 为起点,以无穷远为终点作平行于X 轴的直线line(x,y; - ∞,y);

(3)循环取得(for(i等于0;i<n;i++)) 多边形的每一条边side(xi,yi;xi+1,yi+1),且判断是否平行于X 轴,如果平行continue,否则,i++;

(4)同时判断P(x,y) 是否在side 上,如果是,则返回true( 点在多边形上),否则继续下面的判断;

(5) 判断线side 与line 是否有交点, 如果有则count++,否则,i++.

(6)判断交点的总数,如果为奇数则返回true(点在多边形内),偶数则返回false(点在多边形外).

三、算法局限性及解决方案

本算法适用条件仅限于闭合区域的简单多边形,且要求顶点逆时针排列.针对这个问题,笔者在程序中引入了成图功能:在实际的区域范围加载过程中,当使用人员逐个输入区域范围的顶点后,自动生成平面图形以便直观判断是否符合适用条件,对不符合条件点可以进行修改或调整排列顺序来符合算法要求.

四、主要功能及核心代码

在实际运用中为方便使用,本程序在以上基础上同时集成经纬度与大地投影坐标之间的正反转换功能,其中包含54年北京坐标系和80 年西安坐标系两套参数,极大地提高了软件可用性和准确性.此外,本程序还包含相关数据的批量转换、规定文件格式( 例如excel、txt 等) 的导出等功能.以上功能所形成的最终程序相关核心代码如下:

void ConnectiontoOracle(String url) // 数据库连接double GaussToBLToGauss(double long, double lat) // 由经纬度反算成高斯投影坐标

double[] GaussToBL(double X, double Y) // 由高斯投影坐标反算成经纬度

bool InPolygon(const Polygon& polygon, Point point) // 判断点在多边形内

bool IsOnline(Point point, LineSegment line) // 判断线段是否包含点point

bool Intersect(LineSegment L1, LineSegment L2) // 判断线段相交

double Multiply(Point p1, Point p2, Point p0) // 计算叉乘|P0P1| × |P0P2|

if( fabs(side.pt1.y - side.pt2.y) < ESP ) { continue; } // 如果side 平行x 轴则不作考虑

五、程序使用步骤

该检索方法程序的使用步骤如下:

(1)多边形各个顶点参数输入,方式包括逐一点输入和固定文本格式的批量导入,生成平面图形,手动调整顶点数据以符合算法要求.

(2)选定坐标系参数,选定经纬度和高斯投影坐标的转换方式,与数据库中数据格式统一.

(3)调取勘探数据库中已有井位相关数据,将井位坐标批量与要求区域参数进行射线法比对,将符合条件的井位相关信息置入结果集,以相应文件格式保存.

综上所述,本文数据信息检索方法是利用ja 语言编程开发,参考数学算法理论形成的一种新的数据检索方法,打破了以往勘探数据库检索方法的局限性,不但使数据信息更加丰富准确,也利于使用人员更加方便快捷地进行信息检索.从而达到减轻分析工作量、缩减数据收集时间、提升工作效率的目的,切实满足了勘探研究工作中资料收集环节对准确性与便捷性的需求,也为今后勘探数据库的开发与使用提供了新的思路和发展方向.H

检索方法论文参考资料:

文献检索方法

论文检索的方法

常用的文献检索方法

论文检索报告

文献检索网站

论文方法有哪些

综上资料,这篇文章为关于信息检索和井位和不规则区域方面的相关大学硕士和检索方法本科毕业论文以及相关检索方法论文开题报告范文和职称论文写作参考文献资料。

和你相关的