转自:http://blog.csdn.net/linghe301/article/details/6386176
老是忘记怎么使用这个ArcGIS10的附件功能,这次就做个记录吧。
在项目应用过程中一般都有这样的需求,我针对每一个要素都有对该要素相关的文件,这些文件可能是一些扫描件、视频、音频等信息,用户往往采取有下面几种方法:
1:直接往要素类添加一个BLOB字段,来存储这些文件
2:专门使用一个普通属性表(含BLOB字段),进行关联
3:专门使用一个普通属性表(存储文件路径),真实物理文件存储在磁盘中而不是数据库中
但是往往大家都有相关的要求,但是没有相关的规范,致使好多情况类似的数据不能共享而需要大家进行再次的数据整理,ArcGIS可能看到了这种现象,在ArcGIS10中增加了附件的功能(只有GDB支持附件功能)。
下面来让我们体验一下。
=============================创建附件表======================
我们可以对某个要素类点击右键-Attachments,选择Create Attachments(创建附件表),Delete Attachments(删除附件表),当我们一开始选择Create Attachments,系统会创建一个含有BLOB字段的普通表(TableName__Attach),以及将要素类与附件表的一个关系类(TableName__ATTACHREL)
SQL> desc ZD__ATTACH
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
ATTACHMENTID NOT NULL NUMBER(38)
REL_OBJECTID NOT NULL NUMBER(38)
CONTENT_TYPE NOT NULL NVARCHAR2(150)
ATT_NAME NOT NULL NVARCHAR2(250)
DATA_SIZE NOT NULL NUMBER(38)
DATA BLOB
注意:ZD——ATTACH(中间是两个下划线)
主要是通过REL_OBJECTID来关联附件表与图形表的关系
如果要素类以及进行了版本注册,那么附件表也是版本注册(也是通过版本的原理进行关联的),但是考虑到效率原因,建议用户在只针对附件添加的过程中进行非版本编辑,这样效率会好一些。
===========================添加附件==================
添加附件需要打开编辑状态
打开属性表,打开附件管理器,添加附件即可
==========================查看附件==========================
保存编辑后,我们可以利用Identify查看附件信息
同样我们也可以使用ArcGIS Engine来进行代码编程