属性更新
功能说明
根据空间关系更新数据集中对象的属性。属性更新功能内提供了两种选择更新目标数据的操作方式,第一种是对整个数据集进行更新;第二种是通过按过滤表达式进行更新。
功能入口
- 数据选项卡->数据处理->矢量->属性更新,弹出属性更新对话框。
- 工具箱->数据处理->矢量->属性更新,弹出属性更新对话框。
参数说明
- 提供属性的数据:选择提供属性的数据源和数据集。若在工作空间管理器中选中了数据集,则会默认该数据集为提供属性的数据。
- 目标数据:设置待更新的数据集及其所在的数据源。
- 统计字段:选择一个字段用来存储更新子对象的数量。未更新的子对象赋值为0,更新的子对象按照1,2,3...顺序计数。
- 过滤表达式:单击右侧按钮,在弹出的SQL表达式对话框中设置字段过滤条件,更新属性时过滤掉目标数据集中符合表达式条件的对象,不将源数据集中的字段信息更新到这些对象属性中。
- 空间关系:空间关系是指提供属性几何对象相对于目标几何对象的空间关系,有包含、被包含、相交三种关系。空间关系说明如下:
下图中绿色表示提供属性数据集中的对象,红色表示满足空间关系的目标对象,黑色表示不满足空间关系的目标对象。
- 包含:提供属性数据集中几何对象包含目标数据集中几何对象。
对象 目标点 目标线 目标面 提供属性点 提供属性线 提供属性面 - 被包含:提供属性数据集中几何对象被目标数据集中几何对象包含。
对象 目标点 目标线 目标面 提供属性点 提供属性线 提供属性面 - 相交:提供属性数据集中几何对象与目标数据集中几何对象相交。
对象 目标点 目标线 目标面 提供属性点 提供属性线 提供属性面
- 包含:提供属性数据集中几何对象包含目标数据集中几何对象。
- 边界处理:用于判定空间关系是否将面对象的边界归属于面内。可设置为面边界为面外、面边界为面内两种方式。该组合框只有在需要进行面与点的包含关系判定时,或面与线的相交关系判定时才会被激活。
- 面边界为面内:表示位于面边界上的点属于面所包含的点,线上的点与面相边界上的点重合时,表示面与该线相交。
- 面边界为面外:表示位于面边界上的点不算面所包含的点,线上的点只与面边界上点重合而不位于面内,此时不算相交。
- 取值方式:如果满足条件并可提供属性数据的对象有多个,则提供属性对象通过某种取值方式处理后赋给目标对象。
- 直接赋值:随机取其中一个的属性数据用于更新。该方式适合一对一赋值。
- 平均值:取其平均值用于更新。对数值类型的字段有效。
- 求和:取各个对象的属性和用于更新。对数值类型的字段有效。
- 最大值:取各个对象属性中最大的值用于更新。对数值类型的字段有效。
- 最小值:取各个对象属性中最小的值用于更新。对数值类型的字段有效。
- 最大SMID:取具有最大 SmID 的对象属性值用于更新。
- 最小SMID:则取具有最小 SmID 的对象属性值用于更新。
- 连接:使用连接符将多个属性值合并,并更新到一个目标对象的属性值中。主要用于需要一次性将多个属性值更新到同个字段的情况,比如统计一个河流流经的多个行政区。使用该方式时,目标字段类型仅支持文本型和字符型。
- 相交面积最大:若空间中存在多个相交子对象,则取具有最大相交面积的对象属性值用于更新。
- 连接符:取值方式选择连接时,需要设置连接符参数,用于将多个属性值分隔开,默认值为逗号。
- 字段设置:在列表中勾选要进行数据更新的提供属性字段,在对应的目标字段中选中后再次单击,就可以进行选择设置(选择需更新到的目标字段)。
注意事项:
支持跨字段类型存储更新结果,减少用户对更新结果的二次处理,同时支持新建目标字段进行属性更新。
- 更新完成后,目标数据集属性表中的字段(新建或者已存在的字段)会更新源数据集中对应的字段值。
注意事项:
- 提供属性的数据集与目标数据集的坐标系必须一致,否则可能导致更新失败。
- 字符型字段的默认长度为1,若目标字段的字段类型为字符型,在更新之前需要将字段长度修改为合适长度,否则可能导致更新失败。
- 提供属性字段与目标字段必须一一对应。如果字段类型不匹配,更新中将强制转换,若转换失败,将放弃对该目标字段的更新。
- 不同的统计方法需要对应不同的统计字段。取值方式平均值、求和、最大值和最小值时,提供属性的字段类型必须为数值型。
相关主题