0
我是这部分的新手,所以我希望有经验的人可以提供一些建议。使用四叉树来定位大量的点
我有一个形状文件文件,其中包含许多形状。需要处理的数据是大量的点。我尝试为shapefile生成一个四叉树索引,然后找到这些点。我找到一个适合它的课程。
下面是我的代码
ShpFiles shpFile = new ShpFiles(shpFileName);
IndexFile indexShapeFile = new IndexFile(shpFile,true);
int numShapes = indexShapeFile.getRecordCount();
com.vividsolutions.jts.geom.Envelope eRoot = new com.vividsolutions.jts.geom.Envelope(-85,85,-180,180);
QuadTree t1 = new QuadTree(numShapes,eRoot,indexShapeFile);
的问题是,我怎么下一步需要做什么?我是否需要手动插入所有多边形?我怎么能用这棵树搜索点?
谢谢您的回复。这个图书馆的文件很难理解,我一直试图阅读它很长一段时间。我不知道如何在创建这些节点之后将形状添加到cooresponding节点。所以如果我尝试使用'insert(int recno,Envelope bounds)'来插入形状,从你的角度来看边界的含义是什么? –
它看起来像一个信封代表形状的边界框:http://docs.geotools.org/latest/javadocs/org/geotools/geometry/Envelope2D.html – Corillian
明白了。如果我已成功生成索引四叉树,我怎么能用它来定位点?我的意思是,它只有一个函数“搜索(Envelope bounds)”,这对于找到边界中的形状(?)可能很有用。找到积分有用吗? –