『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

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

ArcGIS Engine 10 开发手册(4-21)附件功能
附件功能是 ArcGIS 10 的一个新功能,ArcGIS 10 引入了要素类附件,这样就能够灵活地管理与要素 相关的附加信息。

     附件功能是 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);

}

效果如下;

 

      京ICP备2025132830号-1 京公网安备11010502057301号