File Geodatabase API是一个不依赖于ArcObjects来访问的File GDB的API,基于c++实现,该API可以说千呼万唤始初来,从08年用户大会就开始宣传,现在才确定明年1月份提供beta版。
File Geodatabase API的目的主要是使开发人员不必使用ArcObjects的授权即可以访问File Geodatabase,因此可以把File Geodatabase当作一种交换数据格式来使用,可以共享、交换数据,也许可以取代shapefile。
File Geodatabase API 是使用c++开发,并且只支持ArcGIS10 及其以后的File Geodatabase, 内部版本会提供c++类库(dll,lib,.h)以及API文档,并且仅支持windows。
下面介绍一下File Geodatabase API功能:
1 创建、打开删除file GDB
2 读取Geodatabase的schema(地理数据库中所有内容都可以只读方式打开)
3 创建简单要素模型的schema(包括表,点、线、面要素类,要素数据集,域以及子类型)
4 读取File Geodatabase中数据集的内容
5 插入、删除编辑简单数据集(点、线、面要素类以及Multipoint, Multipatch要素类 )
6 执行属性查询和空间查询(只能执行外包络矩形查询)
7 浏览关系和使用附件
File Geodatabase API 和ArcObjects的关系如下图1-1:
File Geodatabase API不能取代ArcObjects,因此很多ArcObjects提供的功能都没有,例如不能对复杂地理数据库类型进行插入、删除、更新操作:
1 注记和维要素类
2 关系类
3 几何网络和网络数据集
4 拓扑类
5 Terrains
6 制图表达
7 Parcel Fabrics
并且在内部版本中不支持栅格数据集的相关操作(包括Raster Dataset, Raster Catalog, Mosaic Datasets and Raster Attributes)
参考资料:
http://blogs.esri.com/Dev/blogs/geodatabase/archive/2010/12/13/File-Geodatabase-API-details.aspx