ArcGIS属性表关联方式(Join和Rela…

ArcGIS表关联方式介绍(Join和Relate)

注:本文转载于 Blog:http://blog.csdn.net/linghe301
Weibo:http://www.weibo.com/linghe301

ArcGIS的表关联方式有很多:Join、Relate、QueryLayer、ArcSDE视图、关系类等,这些关联看似有相同的地方,但是其实不同的关联方式适合于不同的数据,不同的软件环境,不同的应用场景,不同的版本等,下面我们就针对每一个关联进行相关的分析和说明。

本文所有的测试环境

操作系统:Windows7 64Bit

数据库:Oracle 11.2.0.164Bit

中间件:ArcSDE10 SP2 64Bit

客户端:ArcGIS Desktop10SP264Bit

数据情况

面状要素:Place


普通表:Owner


预前说明

关于普通表在数据库中存储和在ArcSDE里面存储管理是完全不同的,虽然都是存储在数据库中,但是通过ArcSDE管理这些普通表的信息是会注册到ArcSDE的相关Schema中的,那么就出现一个问题,当我们需要管理一个Linux操作系统的普通表,如果这些表是ArcSDE管理,那么这些表我们就可以通过ArcSDE服务的方式进行关联,如果这些表是以普通方式进行存储,那么我们只能通过OleDB驱动来关联,但是Windows系统默认的OleDB驱动有SQLServer和Oracle的,如果用户是DB2的数据库,需要自己安装OleDB驱动,要么不安装OleDB驱动使用ArcSDE服务。

Join

       使用场景:将一个要素类与一个普通表进行关联

数据环境:文件数据或者数据库都可以

必须条件:要素类与普通表必须有一个关联字段


Join后我们可以看到,要素类的属性(既有要素类属性又有普通表的属性)

Validate Join进行验证

Ø  检查字段名称是否以无效字符开头。

Ø  检查字段名称是否包含无效字符。

Ø  检查字段名称是否与保留字匹配。

Ø  检查是否存在非地理数据库 MS Access表。

连接表可能失败的原因

用于连接的指定字段中的值不匹配。

连接区分大小写,使用字符串字段创建连接时要注意此问题。例如,NEW YORK 不会与 New York 连接。要将字符串值转换为正常的大小写形式,请参阅进行字段计算中的任务。

表或要素类的名称,或者表或要素类中的字段名称包含空格或特殊字符。

这些特殊字符包括连字符(如 x-coordinate 和 y-coordinate)、圆括号、方括号以及 $、% 和 # 等符号。实际上排除了字母数字和下划线之外的所有符号,但字段名称不能以数字或下划线开头。必须先对带分隔符的文本文件或其他表中的字段名称进行编辑以删除不支持的字符,然后再在 ArcGIS 中使用这些文件。地理数据库的要素类、表和字段的名称最多可包含 64 个字符。(更具体地说,您最多只能为个人地理数据库的要素类名称输入 52 个字符,因为系统会将字符总数追加到 64 个。)Shapefile 和 .dbf 字段的最大名称长度为 10 个字符。对于 INFO 表,最多使用 16 个字母或数字。

表中的字段名为 MicrosoftAccess 的保留字。

例如,date、day、month、table、text、user、when、where、year 和 zone。

表存储在非个人地理数据库的Microsoft Access 数据库中。

应通过 OLE DB 连接在 ArcGIS 中访问 Microsoft Access 表,而不应试图直接向 ArcMap 添加数据库。


使用join其实最大的便利就是进行标注显示,如下:


使用这个可以将要素类的属性和普通表的属性同时标注,增加用户对数据的可读性。

存储方式:只能使用MXD的方式进行存储,如果不使用MXD,关闭ArcMap建立的关联关系就不在存在。

提示:如果要素类与属性表不在同一个库中(同一个库表示文件数据比如在同一个Geodatabase,非文件数据在同一个数据库中),如果修改属性表的值,是不会实时更新的,必须重新再建立Join连接,这样才能看到最新的信息。

Relate

         Relate的使用跟Join比较类似,但是Relate并不会更改要素类的表信息(不会将普通表的信息添加到要素类中),但是在使用ArcMap的信息查询可以看到。

       关于使用数据、使用场景、存储方式都可以参考Join的说明。


-------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
QQ群:              78773981
Blog:               http://blog.csdn.net/linghe301
Weibo:            http://www.weibo.com/linghe301

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值