Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 快速点查找和视线遍历算法_Algorithm_Tree_Graph_Gis_Point In Polygon - Fatal编程技术网

Algorithm 快速点查找和视线遍历算法

Algorithm 快速点查找和视线遍历算法,algorithm,tree,graph,gis,point-in-polygon,Algorithm,Tree,Graph,Gis,Point In Polygon,我正在建立一个小的库,它使用地理信息系统(GIS)数据,并允许快速点入要素、点附近要素和视线查询。这些数据中的大部分将由具有大量顶点的大面积特征组成 R树变体可能会起作用,但我想知道它们在区域查询中是如何执行的。我还怀疑视线查询会破坏大部分性能提升 下一个想到的是一棵四叉树,它的子树大小不一。这可能会允许在不同的子级别之间进行链接,并加快站点查询的速度 Kd树也会浮现在脑海中,不过,站点查询的路线可能会再次被证明是有问题的 所以问题是,你会推荐什么算法?这不是光线跟踪器使用八叉树的目的吗?是的,

我正在建立一个小的库,它使用地理信息系统(GIS)数据,并允许快速点入要素、点附近要素和视线查询。这些数据中的大部分将由具有大量顶点的大面积特征组成

R树变体可能会起作用,但我想知道它们在区域查询中是如何执行的。我还怀疑视线查询会破坏大部分性能提升

下一个想到的是一棵四叉树,它的子树大小不一。这可能会允许在不同的子级别之间进行链接,并加快站点查询的速度

Kd树也会浮现在脑海中,不过,站点查询的路线可能会再次被证明是有问题的


所以问题是,你会推荐什么算法?

这不是光线跟踪器使用八叉树的目的吗?

是的,这是我正在研究的空间细分算法。八叉树表示3-空间,而等价的四叉树表示2-空间。还有一类算法可以更好地组织2D(或N-d)数据以解决某些问题。这就是我正在思考的问题。一棵R树,以防有人碰到这个问题。他们相当不错。我想我将来会用它们来代替四叉树和调整网格。