java调用导入数据集只能同时处理一个;
如果第一个没有处理完成再次调用只会保存第二个;第一个就丢失了;
String mapName = "y"+UUID.randomUUID().toString().replace("-", "").substring(1,32);
// 本地文件路径 导入本地文件路径
String urlpath = "D:/";
Workspace workspace = new Workspace();
WorkspaceConnectionInfo workspaceConnectionInfo = new WorkspaceConnectionInfo();
workspaceConnectionInfo.setType(WorkspaceType.SMWU);
//更换服务器地址路径 iservice 配置文件路径
String file = SmfConfig.getIervserpath();
workspaceConnectionInfo.setServer(file);
workspace.open(workspaceConnectionInfo);
//打开数据源
Datasource datasource = workspace.getDatasources().get("tif");
if(datasource.isOpened()) {
ImportSettingTIF est=new ImportSettingTIF(urlpath, datasource);//需导入tif路径
est.setMultiBandImportMode(MultiBandImportMode.MULTIBAND);
est.setImportingAsGrid(false);
est.setSourceFileCharset(Charset.ANSI);
est.setTargetEncodeType(EncodeType.PNG);
est.setImportMode(ImportMode.NONE);
est.setPyramidBuilt(true);//是否自动生成影像金字塔
PrjCoordSys pcs=new PrjCoordSys();
pcs.setType(PrjCoordSysType.PCS_NON_EARTH);
est.setTargetPrjCoordSys(pcs);
//设置导入数据集名称
System.out.println("生成中");
est.setTargetDatasetName(mapName);//数据集名称,与下面一致
//新建导入任务
DataImport di=new DataImport();
di.getImportSettings().add(est);
//导入任务启动
ImportResult r=di.run();
int i=r.getFailedSettings().length;//失败任务个数
//获取导入的数据集
Dataset dataset = datasource.getDatasets().get(mapName);//数据集名称
//新建地图
Map map=new Map();
map.setWorkspace(workspace);
map.getLayers().add(dataset, true);
//地图全幅显示
map.viewEntire();
workspace.getMaps().add(mapName, map.toXML());//自己命名,地图名称
//保存工作空间
workspace.save();
datasource.close();
workspace.close();
workspace.dispose();
}