iobjectjava进行查询的问题

0 投票

我现在有一个点数据集,和一个面数据集,通过一定的条件,分别查询出这两个数据集,查询出来的结果是Recordset 的形式,然后

我想要通过这个查询出来的Recordset 转换成DatasetVector 进行点面相交查询,查询出来的点的数量与实际不符,

我是通过 DatasetVector datasetVector_address_intersect = queryRecordset_address_intersect.getDataset(); 方式把Recordset 转成DatasetVector,

代码如下:

DatasetVector datasetVectorP_single = queryRecordset.getDataset();
            
 DatasetVector datasetVector_address_intersect = queryRecordset_address_intersect.getDataset();
 QueryParameter parameterP_address = new QueryParameter();
 parameterP_address.setSpatialQueryObject(datasetVectorP_single);
 parameterP_address.setSpatialQueryMode(SpatialQueryMode.INTERSECT);

           
  Recordset queryRecordset_address = datasetVector_address_intersect.query(parameterP_address);
            
System.out.println(adminCode+"=====省的标的个数======="+queryRecordset_address.getRecordCount());

,查询出来的点的数量比我提取出的Recordset 里面的点的数量还多 ,请问一下这是什么原因呢?有什么好的解决方法吗??

5月 21, 2019 分类:  78次浏览 | 用户: 永远有多远1 牛刀小试 (199 分)

1个回答

1 投票
 
已采纳
你好,你使用recordset.getDataset返回的是记录集所对应的数据集,意思就是说还是原始的数据集。查询的时候还是按照原始的数据集进行查询的。如果你想用查询出来的记录集进行查询,可以创建一个新的数据集将记录集追加进去再进行查询。
5月 21, 2019 用户: 董懿鑫 名扬四海 (4,741 分)
采纳于 5月 27, 2019 用户:永远有多远1
...