首页 / 浏览问题 / 移动GIS / 问题详情
导入kml文件失败
58EXP 2023年01月10日
kmlPath:/storage/emulated/0/sdcard/Documents/桥涵/YK0+000——YK6+700.kml

isImportKMLSuccess = DataConversion.importKML(kmlPath,m_mapControl.getMap().getWorkspace().getDatasources().get(0),"kml"+String.valueOf(kmlCount),true)

用以上方法导入失败,然后我试了下下面的,也是导入失败

ImportSettingKML kmlsetting = new ImportSettingKML();

kmlsetting.setTargetDatasource(m_woWorkspace.getDatasources().get(0));

kmlsetting.setSourceFilePath(kmlPath);

kmlsetting.setSourceFileCharset(Charset.ANSI);

kmlsetting.setImportingAsCAD(true);

kmlsetting.setTargetDatasetName("kml"+String.valueOf(kmlCount));

DataImport dataImport = new DataImport();

dataImport.getImportSettings().add(kmlsetting);

ImportResult result = dataImport.run();

int length = result.getSucceedSettings().length;

结果是length为0
问题关闭原因: 已解决

1个回答

您好,请问桌面导入kml文件是否成功呢,如果桌面成功,麻烦把数据处理下发送到1426221195@qq.com这边看下呢
3,745EXP 2023年01月10日
已经发给您了,文件名是YK0+000——YK6+700 (1).kml
想问下是我的Kml出问题了吗
本地用11i移动端导入cad数据集与简单数据集成功呢,您那边用的是什么版本呢
你好,我这边用的11i移动端,您能把您的代码做个工程分享下吗。。。。

本地使对范例程序数据转换(DataConversion)修改导入的kml,关键代码如下:

    private void importKml(Context context){
      removeLayer();
      mMapControl.getMap().refresh();
      try {
         if (udbDatasource.getDatasets().get("mykml1") != null){
            boolean d = udbDatasource.getDatasets().delete("mykml1");
         }
         boolean kml = DataConversion.importKML("/sdcard/SampleData/23/1/11/YK0+000——YK6+700 (1).kml",udbDatasource,"mykml2",true);
         if (kml == true){
            mMapControl.getMap().getLayers().add(udbDatasource.getDatasets().get(udbDatasource.getDatasets().getCount()-1),true);
//          dataset = udbDatasource.getDatasets().get(
//                "mykml");
//          addMap();
            Toast.makeText(context, "真棒,导入kml格式文件成功", Toast.LENGTH_SHORT).show();
         } else {
            Toast.makeText(context, "难过,导入kml格式文件失败", Toast.LENGTH_SHORT).show();
         }
      }catch (Exception e){
         e.printStackTrace();
      }
   }

相关工程已经上传至网盘:

链接:https://pan.baidu.com/s/1nTPXfVmUPY8mv5PTlpSnAw 
提取码:5789 

...