首页 / 浏览问题 / 组件GIS / 问题详情
iobjectjava进行查询的问题
209EXP 2019年05月21日

我现在有一个点数据集,和一个面数据集,通过一定的条件,分别查询出这两个数据集,查询出来的结果是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 里面的点的数量还多 ,请问一下这是什么原因呢?有什么好的解决方法吗??

1个回答

你好,你使用recordset.getDataset返回的是记录集所对应的数据集,意思就是说还是原始的数据集。查询的时候还是按照原始的数据集进行查询的。如果你想用查询出来的记录集进行查询,可以创建一个新的数据集将记录集追加进去再进行查询。
9,242EXP 2019年05月21日
...