首页 / 浏览问题 / 组件GIS / 问题详情
iobject for java 怎么读取udbx文件里面的数据集,连接数据源后端代码会崩掉
25EXP 2025年02月07日
iobject for java 怎么读取udbx文件里面的数据集,连接数据源后端代码会崩掉

1个回答

您好,通过DatasourceConnectionInfo数据源连接参数设置udbx文件路径和数据源路径,然后通过workspace.getDatasources().open()方法打开对应的数据源,该方法返回数据源datasource,最后通过数据源datasource.getDatasets().get()方法获取对应的数据集。参考代码如下:

DatasourceConnectionInfo info1 = new DatasourceConnectionInfo();
info1.setServer("D:\\bm.udbx");
info1.setEngineType(EngineType.UDBX);
info1.setAlias("test");
Datasource datasource = workspace.getDatasources().open(info1);
Dataset dataset = datasource.getDatasets().get("T2020gdp");
9,282EXP 2025年02月08日

您好,请问如果想使用这个代码链接iserver发布的数据服务中的数据源,

info1.setServer("http://ip/iserver/services/data-China/rest/data/datasources/China");

代码应该怎么写?

您好,暂时不支持打开iServer发布的数据服务哈,您可以看下该服务所对应的服务提供着。直接打开对应的数据源,需要注意的是如果是文件型数据源,在iServer对该数据源发布服务后,再次打开是只读状态,无法编辑的。
您好,感谢回答

是文件型数据源,数据服务中不是有个选项是是否启动编辑吗?

我现在想要操作数据服务中数据源的某个属性数据集,通过代码动态往数据集中添加数据,这个应该如何实现呢?

您那边是想通过组件来操作该数据源,还是通过前端的方式添加数据呢。后台组件的方式没法进行编辑的,需要将服务停掉才行。建议通过前端发请求的方式添加记录。可参考demo:https://iclient.supermap.io/examples/leaflet/editor.html#02_editFeatures

...