在ArcGIS10中,就提到了要推出File GDB API,这对于用户来说又是一个福音,用户可以直接使用API来操作File GDB对象而不用使用ArcObject接口,这无疑是一种省时省钱的途径,下面就简单介绍一下目前的Beta版。
支持平台 |
Windows 2003 Server Standard, Enterprise & Datacenter (32-bit) SP2 Windows 2008 Server Standard, Enterprise & Datacenter (32-bit) SP2 Windows 7 Ultimate, Enterprise, Professional, Home Premium (32-bit) Windows Vista Ultimate, Enterprise, Business, Home Premium (32-bit) SP2 Windows XP Professional Edition, Home Edition (32-bit) SP3 |
软件环境 |
Visual Studio 2008 SP1 (C++) Standard, Professional, or Team Editions |
创建、打开、删除FGDB对象
读取GDB里面的Schema
创建GDB里面简单的对象(普通表、点线面要素类、数据集、子类、域)
读取GDB里面的数据集的内容
简单数据集内容(表、点线面、多点、多片要素类)的编辑(增删改)
进行属性和空间查询(有限制的只支持envelope-intersects空间查询)
操作附件
注记和多维要素类
关系类
几何网络和网络数据集
拓扑
Terrains数据集
Representations
Parcel Fabrics
以下还不能被执行
Geodatabase::Move
Geodatabase::Rename
Table::AlterField
File GDB SQL选择不支持ORDER By和Joins
在首次发布的API对影像对象也不支持(RD、RC、MD),但是感觉随着版本的不断更新,这些是能够支持的,只是现在不支持。
在上面看来FGDB API可以操作简单模型而不能操作复杂模型,用户可以使用Table::IsEditable 方法来进行判断。
FGDB API可以让用户不使用ArcObject来完成某些功能,但是不代表可以代替ArcObject,通过上面的介绍可以感受到,使用FGDB API之能操作简单的对象,实现一些简单的功能需要,而复杂的对象还是不能够完成,这个等待一会API的完善和Esri的技术策略了。
FGDB API是针对ArcGIS10的新的GDB Schema来设计的,所以只支持或者说只能操作ArcGIS10以后的版本,对以前的版本是不支持的。
http://resources.arcgis.com/zh-cn/content/geodatabases/10.0/file-gdb-api
下载完毕后,我们可以看到里面有相关的File GDBAPI.dll,相关的帮助文档、一些示例,还有一些头文件的定义,很全面。
在运行示例代码时,Display例子是需要使用OpenGL库,需要下载一个glut.dll
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
可执行文件、引用文件、库文件、源文件都需要进行引用。
在进行重新编译没有什么问题,但是F5执行时,出现以下错误
解决方法:将glut32.dll拷贝到示例的Bin文件夹即可
现在就可以看到Display的例子了
好了,这样基本上用户就可以运行他们的示例来学习File GDB API了,目前还是Beta版,估计随着ArcGIS的不断发展,File GDB API也会有一个很好的发展的。
该文档为作者在学习ArcGIS的一些笔记(自己学习、ArcGIS帮助、网络资源、高手请教相结合),难免有一些表达不全面或者理解有出入的,还请各位多多指教!
http://www.gisall.com/index.php?uid-121719 :欢迎访问GIS博客
http://blog.csdn.net/linghe301:欢迎访问GIS博客
或者在百度文科上搜索:linghe301
By Lish