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 开发手册

如您有疑问,可在文末留言,或到QQ群提问。

本站QQ群:291616564 麻辣GIS

微信公众号:malagis,扫描右边二维码直接关注。

微信捐助麻辣GIS 支付宝捐助麻辣GIS

如果本文对您有所帮助,欢迎对我们团队进行打赏捐助,让我们在传播3S的路上可以走得更远。


作者:,GIS爱好者。
分享本文,请您带上本文链接

发表评论