首页 / 浏览问题 / 组件GIS / 问题详情
将两个数据源中的数据集合并
204EXP 2017年10月13日
Datasource datasource = worldWorkSpace.getDatasources().open(info);
        //将datasource 中所有的数据集添加到worldDataSource 中
        Datasource worldDataSource = worldWorkSpace.getDatasources().get("World");
        for(int i = 0;i<datasource.getDatasets().getCount();i++){
            DatasetVector datasetVector = (DatasetVector) datasource.getDatasets().get(i);
            Dataset newDataset = worldDataSource.copyDataset(datasetVector,datasetVector.getName(), EncodeType.INT32);
        }
        worldDataSource.updateDataset();

我根据文档的例子改的,但是执行速度非常慢请问该怎么改进

1个回答

您好,具体慢不慢是跟你数据集里面的记录有关系的,你可以通过桌面软件来对比一下
5,985EXP 2017年10月13日
好吧桌面也很慢虽然比我写的快

有没有其他的思路可以实现将两个数据源中的数据集合并

我看了一下你的代码,你这么写的话,有以下的意见给出

1.保证你数据源里面所有数据集都是矢量数据集,因为你没做数据集类型的判断

2.是否有必要给数据集编码?通常我们桌面的矢量数据集是未编码的,见下图

如果我的数据集是model类型的那么DatasetVector该换成那种类型
只要有记录集的数据都可以用DatasetVector,像影像和栅格数据就不能够用该类型,另外你复制慢的主要原因是对数据进行了编码。
...