将两个数据源中的数据集合并

0 投票
560 浏览
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();

我根据文档的例子改的,但是执行速度非常慢请问该怎么改进
最新提问 10月 13, 2017 分类:  560次浏览 | 用户: 王大锤 牛刀小试 (145 分)

1个回答

0 投票
 
已采纳
您好,具体慢不慢是跟你数据集里面的记录有关系的,你可以通过桌面软件来对比一下
最新回答 10月 13, 2017 用户: 胡林 名扬四海 (5,626 分)
采纳于 10月 13, 2017 用户:王大锤
好吧桌面也很慢虽然比我写的快

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

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

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

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

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