首页 / 浏览问题 / 组件GIS / 问题详情
空间查询DatasetVector丢失数据
22EXP 2019年02月28日

DatasetVector dataset_world = (DatasetVector) datasource.getDatasets().get("JSYDBP");
   String coords="382191.8350,3135364.8694,383074.6488,3135250.3422,382745.3831,3134128.9301,382077.3078,3134367.5285,382191.8350,3135364.8694";
  
         Point2Ds point2Ds=new Point2Ds();
         String [] coordsAry = coords.split(",");
         for (int i = 0; i < coordsAry.length; i+=2) {
             double x = Double.parseDouble(coordsAry[i]);
    double y = Double.parseDouble(coordsAry[i+1]);
          Point2D point2d = new Point2D(x, y);
          point2Ds.add(point2d);
   }
         GeoRegion geoRegion= new GeoRegion(point2Ds);
        
        QueryParameter parameter = new QueryParameter();
        //parameter.setAttributeFilter("");
        parameter.setCursorType(CursorType.DYNAMIC);
        parameter.setSpatialQueryMode(SpatialQueryMode.INTERSECT);
        parameter.setSpatialQueryObject(geoRegion);
        
         Recordset queryResultRecordset = dataset_world.query(parameter);

传入一个面进行空间相交查询,但是查询结果丢失一条数据,不知道是怎么原因,蓝色部分是查询的结果集,

丢失了标红地块的数据

1个回答

你好,你的数据里面本身是相交的吗?方便把数据给我测试一下吗,可以把数据放在百度云盘分享给我
9,137EXP 2019年02月28日

这个是我裁剪出来的部分数据   csv的

https://pan.baidu.com/s/1ewZkFW3Sem0KfPgayd1dOA 网盘地址

你好,我这边测试的结果是正常的。

我是新建的一个数据集来存放这个数据,是不是和这个有关系
如果你新建一个数据集来存放,可以输出一下查询出来的记录和数据集的记录数是否一致。上面的结果我也是按照你的坐标值来构建的GeoRegion
还是谢谢你,应该是数据的问题,我自己测试这部分裁剪的数据,可以查询过来。但是原始的数据始终还是查询不到。我在看看数据有什么区别
...