首页 / 浏览问题 / 组件GIS / 问题详情
属性表中某字段的值取出来后,想继续处理该怎么做呢?
70EXP 2023年05月15日
遍历得到了数据集中的数据但是不知道该如何进行数据处理?

比如我从某两个64位精度浮点型字段中分别取出了一个值,想做加法。但会报错,显示不能相加

使用的版本是最新的 Java 11i

1个回答

您好,您想要进行什么数据处理?比如您举例的浮点数相加的问题,您已经知道字段的字段名和字段类型,就可以直接使用 recordset.getDouble(java.lang.String name) 的方式获取某字段的值,然后进行相加操作。

1,011EXP 2023年05月15日
谢谢回复,我去尝试一下。

我的数据处理有些复杂,是按我设计的流程完成一些计算,都是一些数学计算。

简单来说就是,

(1)从属性表中取值完成计算

(2)在不同的shp文件上查找字段属性完成筛选从而进行下一步的计算(ps:不同的shp文件上我都设置相应字段标记了他们的属性因此可以通过该字段得知差异性从而筛选,比如某字段上有1说明该行记录属于1,依此类推)

(3)完成计算后将计算结果写入属性表中某个既定字段

麻烦您再解答一下,大概要用的哪些方法。我再自己通过开发文档自己学习

谢谢您的帮助!

(1)您需要取某一条记录的某一个字段值,可以通过获取到这条记录,再根据字段名获取字段值:

recordset.getFieldValue("字段名");

(2)您的shp导入数据源中了吗?如果shp已经导入,可以对数据集进行查询,获得满足条件的记录集,再获取字段值。

public Recordset query(java.lang.String attributeFilter, CursorType  cursorType)

(3)修改字段值,您要修改的字段如果不存在需要先新建字段,

FieldInfos fieldInfos = recordset.getFieldInfos();
fieldInfos.add(fieldInfo);

如果存在,可以直接根据字段名传入修改后的值。

setFieldValue(java.lang.String name, java.lang.Object value)
谢谢您的帮助
...