首页 / 浏览问题 / 组件GIS / 问题详情
shp文件导入失败
1EXP 2024年05月21日

shp导入不成功,试用的是PostgreSQL,表创建成功了,但是没有数据

        String projectRootDir = System.getProperty("user.dir");
        String targetFilePath = projectRootDir + File.separator + "data" +
                File.separator + "shp" + File.separator + "xzqh.shp";

        //导入shp文件
        ImportSettingSHP importSettingSHP = new ImportSettingSHP();
        //同名会覆盖
        importSettingSHP.setImportMode(ImportMode.OVERWRITE);
        //设置文件路径
        importSettingSHP.setSourceFilePath(targetFilePath);
        //设置需要导入的数据编码类型,因为有中文字段,所以用ASCII编码
        //importSettingSHP.setSourceFileCharset(Charset.ANSI);
        importSettingSHP.setTargetDatasetName("vector_plan");

        //设置要导入的目标数据源
        importSettingSHP.setTargetDatasource(datasource);
        DataImport dataImport = new DataImport();
        dataImport.getImportSettings().add(importSettingSHP);
        dataImport.run();

iobject11,win10

1个回答

您好,建议排查确定下具体是哪个环节有问题,是数据源有问题还是导入shp有问题还是数据。

比如:

代码完全不变,更换几个其他来源的shp数据,是否导入成功

可以导入shp代码不变,数据源换成文件型导入看是否成功,若成功说明是数据源有问题,若不成功说明可能是导入shp的代码有问题。

使用数据库型数据源,注意数据源本身要使用iDesktop、iDesktopX或iObject组件创建数据库型数据源,而不是直接打开原始数据库,

打开的是创建的数据库型数据源。

希望可以帮到您。
于丁
1
10,558EXP 2024年05月21日
解决了,需要打开新建的数据库

"使用iDesktop、iDesktopX或iObject组件创建数据库型数据源,而不是直接打开原始数据库,打开的是创建的数据库型数据源"
...