了解字段计算器

上传人:kms****20 文档编号:39573816 上传时间:2018-05-17 格式:DOC 页数:9 大小:1.10MB
返回 下载 相关 举报
了解字段计算器_第1页
第1页 / 共9页
了解字段计算器_第2页
第2页 / 共9页
了解字段计算器_第3页
第3页 / 共9页
了解字段计算器_第4页
第4页 / 共9页
了解字段计算器_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《了解字段计算器》由会员分享,可在线阅读,更多相关《了解字段计算器(9页珍藏版)》请在金锄头文库上搜索。

1、了解字段计算器了解字段计算器Alison 2007-06-01 标签: ArcGIS Desktop ArcCatalog Field Calculator HiGIS.cn 原创文章,转载请注明出处了解字段计算器了解字段计算器了解基本的编程技术能帮助 GIS 用户更灵活地应用 ArcGIS 并扩展其功能。(所 谓“授之以鱼不如授之以渔“,)软件开发者不可能为所有用户都提供可能用到 的每个细微功能,而是提供了该软件代码级别的访问入口。本文介绍了属性表,并描述了在 ArcMap 中如何使用简单字段计算器。字段计算 器是一个非常有用却常被忽视的工具。字段计算器可以让我们避免手工输入属 性值的烦恼,

2、也可以帮助我们将已有的表格数据中的属性值赋予新表,它给非 程序员提供了解编程基础的毫不费力的方式。本文中描述的操作在 ArcMap 任何级别的许可(ArcView,ArcEditor 或 ArcInfo)下都可以使用。这些例子简单易学,是学习使用字段计算器的良好入 门练习。理解和修改属性表理解和修改属性表无论 coverage,shapefile,geodatabase 还是其他格式的地理数据,属性表都是 它的数据库组成部分。所有属性表都以数据库格式存储。shapefile 的属性表 存储在 dBASE 中,personal geodatabase 的属性表存储在 Microsoft Acce

3、ss 中,ArcSDE geodatabase 则可存储在多种关系数据库管理系统(DBMS)中,如 IBM DB2,Informix,Microsoft SQL Server 和 Oracle。虽然这些数据库各不相 同,但下面的例子和描述都是聚焦在数据库间的共性上。图 1 属性表界面属性表结构属性表结构在 ArcMap 中右键单击内容目录表(Table of Content)中的一个要素类图层, 并选择 Open Attribute Table,就可以打开一个属性表。属性表里包含了该要 素的数据库属性。属性表和电子数据表(spreadsheet)相似,是数据库的平面 化文件表示。表的每条记录(

4、行)都对应表达了一个要素,每个字段(列)是 每个要素所包含的属性-形状、面积、周长或名称等。图 1 所示是一个 geodatabase 里存储的一个美国各州要素的属性表。每个州都 有一个系统自动生成的 feature IDFID字段;shape 字段存储了几何信息: STATE_NAME, STATE_FIPS, SUB_REGION, STATE_ABBR 等是描述州信息时常用的 字段。shape_length 和 shape_area 是 ArcGIS 在 geodatabase 里创建的系统字 段,用于存储要素几何形状的长度、周长和面积,其单位与该数据坐标系统的 单位一致,在本例中,单位

5、是十进制的度。图 2 为属性表增加一个字段添加字段添加字段字段计算器常用来创建一个新字段。要在 ArcMap 中为一个属性表添加一个新字 段,可用前文描述的方法打开属性表,单击属性表里的 option 按钮,选择 add field 打开 add field 对话框在 add field 对话框中可以给新字段命名 (Name),定义数据类型(Type),设定 precision 和 scale(如果需要的话) 。也可以在 ArcCatalog 中添加新字段,在 ArcCatalog 的目录树中右键单击需 要添加字段的要素类,选择 properties,在 feature class prope

6、rties 对话 框中的 fields 标签里,可以添加新字段并设置字段属性。(编者注:有时可能 出现锁定的状况,只要将其他使用该文件的应用程序关闭,重试一次上述操作 即可。)图 5 Precision 和 scale 属性创建字段名创建字段名在 shapefile 中,字段名称的长度限制在 10 个字符以内,仅限于数字、字母、 连字符和下划线,不能使用空格或其他特殊字符。其实还有一些字符也可以使 用,但并不推荐。shapefile 是最常用的 GIS 数据集之一,由于其字段名称的 字符限制,用户在给字段命名时需要慎重。在 personal geodatabase 中,字段名称受 Mircos

7、oft Access 字段命名规则的 限制。字段名称可以长达 64 个字符,可以是字符、数字、空格和特殊字符的组 合,其中特殊字符不包括句点(.),感叹号(!),重音符(),双引号 (“)和中括号()。geodatabase 的字段名也不能以空格开头,不能包含控 制字符(ASCII 码值为 0 到 31)。ArcSDE geodatabase 的字段名称限制与其底层数据库有关。要素类或关联类这 样的对象都是以表格的形式存储在 RDBMS 中,所以数据库的命名限制不仅约束 了独立的表格,也约束了这些对象。虽然 personal geodatabase 和 ArcSDE geodatabase 允

8、许较长的字段名和特殊 字符,但是要注意,这些数据可能会输出为 shapefile。如果输出为 shapefile,过长的字段名就会被截断成 10 个字符的长度。例如,字段名 POPULATION UNDER 21和POPULATION OVER 21就会变成POPULATI_1和 POPULATI_2,这样会使字段名很难区分。Elevation in Meters ELEV_M Area in AcresAREA_ACRES Area in Square Feet AREA_SQ_F Population in 2000POP_2000图 6 字段名称缩写示例因此,在给字段命名时,必须考虑将来

9、的使用。应该将字段命名为常用的、易 于理解的缩写。数据的使用者往往不止一人,所以必须要简明准确地表达字段 意义。如果一个字段名十分复杂,则可创建一个别名(Alias),并在元数据里 进行定义。ArcGIS Desktop 的帮助里有文档专门讲述如何定义字段别名,在帮 助的 index 标签里键入 alias 可以找到这个专题。图 6 是易于识别的字段名称 缩写的例子。设置字段类型设置字段类型ArcGIS 支持六种常用的字段类型。图 3 总结了这些基本字段类型的特点和使用。 还有其他几种类型,但很少在字段计算器中用到。字段类型的属性字段类型的属性选定了字段类型后,add field 对话框中就会

10、显示该字段类型的属性(field properties)。对于文本字段,其字段属性就是长度。长度可以设定为 1 到 255 个字符,ArcGIS 缺省值为 50。但是让文本长度使用缺省值占用 50 个字符, 却只输入寥寥几个字符的值是十分浪费存储空间的做法。长的字段会影响字段 计算的速度。字段大小对性能的影响,对于一个仅包含数百条记录的要素类来 说并不是十分明显,但是随着数据量的增大,这个问题就会显现。图 4 中的表 显示了不同的文本字段长度值(50 和 2)时,文件大小的不同。虽然不会有包含超过 100,000 个州的文件,但是对于等高线、土地利用等数据来说,这种低 效的存储方式是一个严重的

11、问题。短整型和长整型这两种数据类型都有一个 precision 字段属性。浮点型和双精 度型则有 precision 和 scale 字段属性。Precision 是表示用来存储数据的位 数。Scale 是指小数点右边的小数位数。更多关于设定适当的 precision 和 scale 属性的信息,请参阅 ArcGIS 帮助中的“Setting an appropriate geodatabase spatial domain“。字段计算器可以通过多种方式为这个新创建的 字段赋值。图 7 简单字段计算器和高级字段计算器使用字段计算器使用字段计算器字段计算器可用于计算要素类属性表中的一条、若干条或

12、者所有记录的字段值。 字段计算器是复制、连接和创建新字段值的良好工具。字段计算器有两种模式: 简单(simple)模式和高级(advanced)模式。在简单模式下,字段计算器可 以用于复制字段值、连接字符串、执行大多数数学计算、输入原始数据。在高 级模式下,字段计算器可以进行基于条件的重分类(reclassification)、执 行复杂的数学计算、提取几何信息和地理信息。无论是否开启编辑会话(edit session),都可以使用字段计算器。在编辑会 话内进行的任何字段计算都是可撤消的,在编辑会话外进行的字段计算速度较 快,但不能撤消。当然,字段的计算是可以重新进行的。通常的处理原则是: 如

13、果对一个已有数据的字段执行计算,则应在编辑会话内进行;如果对新的空 字段进行赋值计算,则可在编辑会话外进行。对于 geodatabase 中参与了拓扑 或几何网络的要素类,则只能在编辑会话内进行计算。在 ArcMap 中打开一个属性表或其他表,右键单击字段名,在弹出的菜单中选择 calculate values,即可打开字段计算器。图 8 打开字段计算器来计算一个新字段图 9 字段计算器的界面组成充分利用简单字段计算器充分利用简单字段计算器若需计算一个表中的所有记录,则不选择任何记录或者选中所有记录;若只需 计算一条记录,则选中该记录;若需要计算特定的一些记录,则可按住 ctrl 键 选择这些

14、记录,或者通过一定的属性或位置条件来选择这些需要计算的特定记 录。简单字段计算器的一个最常见的应用就是将一个字段的值复制到另一个字段中。 在字段计算器的字段列表中单击一个字段名,该字段名则会显示在字段计算器 的 workbox 里,字段名称以中括号包围,点击 OK,即可向新字段复制源字段中 的值。这个功能在字段重命名时非常有用。简单字段计算器还可以执行大部分数学计算,可以执行简单字符串(文本)函 数,也可以输入原始数据。在计算字符串时注意要使用双引号。例如用字段计算器来计算年龄小于 21 岁的人口总和。在 ArcMap 中导入人口统 计数据的表,创建一个名为AGE_UNDER21的长整型字段。在字段列表中点击 AGE_UNDER5、AGE_5_17和AGE_18_21这三个字段,即可将这些字段加入 workbox 中,并用加号把它们隔开。附表中列出了在简单计算器中可执行的操作的示例,而字段计算器支持的计算 函数远不止这些。有关更多 VBScript 函数的说明,可参见

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号