一、建立Geodatabase数据文件
1、新建一个Geodatabase:
如图1.1所示:在ArcCatalog环境下新建一个名为“Personal Geodatabase”的数据文件。
1.1 建好的Geodatabase
数据文件
2、新建要素集:
在Personal Geodatabase下,新建一个shanghai要素集,定义坐标系统为高斯投影(如图 1.2所示),单位为米,精度为1。
1.2 创建要素数据集
3、新建要素类:
在shanghai要素集中,新建一个parcel和pole要素类,parcle的Shape字段类型为polygon,新增字段parcel_name(文本型)、owner_name (文本型);pole的Shape 字段类型为点类型,新增三个字段:类型(短整型)、高度(短整型)和管理部门(文本型)。
1.3 创建parcel要素类
1.4 创建pole要素类
4、新建表:
如图1.5所示,在Personal Geodatabase下,新建一个owner表,新增字段name (文本型)、age (短整型)
1.5 创建owner表
二、创建子类
1、新建子类:
单击鼠标右键,打开pole要素类的属性表,选择子类选项卡,根据type字段创建pole类型子类,包括Wood、Steel和Cement。
图2.1 pole要素类新建子类
2、对子类赋值:
如图2.2所示,在ArcMap环境下通过列表框选择对要素子类进行赋值。
图2.2 pole要素类赋值
三、按子类定义pole要素类的域:
1、打开Geodatabase的属性表,定义三个域:Wood_pole高度域(短整型),20—30ft;Steel_pole的高度域(短整型),30—50ft;pole的管理部门域(文本),市管,区县管。
图3.1 按子类定义pole要素类的域
2、打开pole要素类属性表,定义高度和管理部门字段的域,其中,高度按子类定义。
图3.3 定义高度和管理部门字段的域
3、检查输入的要素的有效性:
在ArcMap环境下,对选中点进行属性编辑,其中管理部门只能在市管和区县管两个值中选择;输入的高度值是否有效,通过Validation(验证要素)命令对选中的要素进行有效性检验。
图3.4 输入pole要素类的高度值
图3.5 验证选中的要素的有效性
四、建立拓扑
1、点的拓扑规则
1)拓扑一:Must be covered by boundary of
点必须在多边形边界上:地籍测量工作中,往往要涉及地籍资料建库,而地籍资料建库的时候界址点必须在宗地的边界上,如果不在,那就是不合实际的。
新建两个图层(Building_place、Boundary_point),如图4.1.1所示,在Arcatalog 环境下在shanghai要素集下建立“Must be covered by boundary of”的拓扑关系。
图4.1.1 创建“Must be covered by boundary of)”的拓扑关系拓扑验证:
图4.1.2 “Must be covered by boundary of)”拓扑关系验证结果
2)拓扑二:Must be properly inside polygons
点要素必须在多边形要素(不包含点在边界上的情况):在实际生活中,对于城市燃气管网,每个用户都只能在燃气管网的端点节点上,不能在线之外。
新建两个图层(用户、燃气管网),如图4.1.1所示,在Arcatalog环境下在shanghai 要素集下建立“Must be properly inside polygons”的拓扑关系。
图4.2.1 创建“Must be properly inside polygons)”拓扑关系
拓扑验证:
图4.2.1 “Must be properly
inside polygons”拓扑关系验证结果
3)拓扑三:Point must be covered by line
点要素必须在线要素之上:做输电线路地理信息系统时,变压器、输电塔或者变压站可以看做是一个点,输电线路看做是一条线,变压器、输电塔或者变压站必须在整条
输电线路上。
新建两个图层(输电线、电塔),如图4.1.1所示,在Arcatalog环境下在shanghai 要素集下建立“Point must be covered by line”的拓扑关系。
图
4.3.1 创建“Point must be covered by line”拓扑关系
图4.3.2 “Point must be covered by line”拓扑关系验证
2、线的拓扑规则
1)Must not overlap:
线与线不能相交