『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打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备08100627号-22 京公网安备 11010802030428号