麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

ArcGIS Engine 10 开发手册(4-21)附件功能

附件功能是 ArcGIS 10 的一个新功能,ArcGIS 10 引入了要素类附件,这样就能够灵活地管理与要素 相关的附加信息。我们可以向单个要素添加文件作为附件,它们可以是图像、PDF、文本文档或任意其他文 件类型。例如,如果用某个要素表示建筑物,则可以使用附件来添加多张从不同角度拍摄的建筑物照片,以及包含建筑物契约和税务信息的 PDF 文件。

附件与超链接类似,但允许多个文件与一个要素相关联、将关联的文件存储在地理数据库中并以更多 方式访问这些文件。可通过识别 窗口、属性 窗口(编辑时)、属性表窗口以及 HTML 弹出窗口来查看这些附件。

和附件相关的接口

ITableAttachments

该接口用 于控 制一个要 素类 的附件, 为一 个要素类 开启 附件功能等 , 因此该接口 被 要素类(FeatureClass 实现)

IAttachmentManager

从该接口的字面意思就可以看出,该接口是用来管理附件的,相当于一个关系类,通过该接口将附件 添加到和要素相关联的那个关系类中

IAttachment

该接口表示一个附件,附件对象实现。

IMemoryBlobStream

ArcGIS 实际上是将附件以二进制存入到数据库中的,该接口用于控制附件的读取。

实例:开启附件功能,并添加一个附件:

private void CreateAttachTable (IFeatureClass pFeatureClass, int pID, string pFilePath, string pFileType)
{
  //要素表是否有附件表,数据库只能是10版本的

  ITableAttachments pTableAtt = pFeatureClass as ITableAttachments;

  if (pTableAtt.HasAttachments == false)
  {
    pTableAtt.AddAttachments ();
  }

  //获取附件管理器
  IAttachmentManager pAttachmentManager = pTableAtt.AttachmentManager;

  //用二进制流读取数据
  IMemoryBlobStream pMemoryBlobStream = new MemoryBlobStreamClass ();
  pMemoryBlobStream.LoadFromFile (pFilePath);

  //创建一个附件
  IAttachment pAttachment = new AttachmentClass ();
  pAttachment.ContentType = pFileType;

  pAttachment.Name = System.IO.Path.GetFileName (pFilePath);
  pAttachment.Data = pMemoryBlobStream;

  //添加到表中
  pAttachmentManager.AddAttachment (pID, pAttachment);
}

效果如下;

ArcGIS Engine 10 开发手册全集

ArcGIS Engine 10 开发手册全集: ArcGIS Engine 10 开发手册

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)