首页 / 浏览问题 / 组件GIS / 问题详情
组件开发读取dwg中部分图层图形数据
18EXP 2023年07月31日

使用产品: supermap-objectjava-10.2.1     操作系统 linux 64

数据类型:dwg文件(图层有上千个)

问题详细描述:需要从dwg文件中读取几个图层图形数据,为了处理dwg中线宽不为0的问题,先将dwg转为了udbx文件,通过ImportSettingDWG的setLWPLineWidthIgnored方法忽略多义线的宽度,但是由于dwg中图层过多,导致数据转换慢,是否有其它办法能获取到dwg中部分图层数据(同时也处理了多义线宽度问题)

Workspace tempWorkspace = new Workspace();
					String udbxPath = filePath.substring(0, filePath.length() - 4);
					datasource = WorkspaceUtil.createUDBXDatasource(tempWorkspace, udbxPath);
					ImportSettingDWG importSettingDWG = new ImportSettingDWG(filePath, datasource);
					importSettingDWG.setLWPLineWidthIgnored(true);// (解决dwg文件图形宽度不为0问题)
					importSettingDWG.setImportingAsCAD(true);
					DataImport dataImport = new DataImport();
					dataImport.getImportSettings().add(importSettingDWG);
					ImportResult importResult = dataImport.run();
					ImportSetting[] impt = importResult.getFailedSettings();

1个回答

您好,暂时没有这样获取dwg中部分图层数据的方法,如果是因为dwg中图层过多读取速度慢,建议您那边在制作dwg数据的软件中将图层数据分开保存再进行导入
3,575EXP 2023年07月31日
如果不考虑多义线宽度的问题,可以读取dwg中的部分图层吧?通过图层名称获取?
或者有别的方式处理读取dwg文件这个多义线宽度的问题?不通过转换获取udbx的方式
不通过udbx可以用其他数据库数据源,如oracle、postgis等
...