1.6 地理数据访问
开发人员可以从三个基本层次中获取Geodatabase 数据:
- 通过Geodatabase 数据访问对象,它是ArcObject 的一个子集。ArcObject 是ArcMap和ArcCatalog
软件构建的组件基础。
- 简单的非拓扑要素层次,通过符合OGC 简单要素协议的ArcSDE 应用程序编程接口实现。
- 行,列和表的层次上,通过关系数据库的本地SQL 接口实现。
1.6.1 通过ArcObjects 访问数据 获取数据的最合适的方法是通过Geodatabase
数据访问对象。在这个层次上,Geodatabase的整个结构被展示出来:拓扑,关系,集成规则和行为,同时还有栅格,表面和位置显示。
你可以通过ArcObjects 使用VBA 或Visual C++或其它合适的COM
开发环境编程获取数据。 以下是一部分Geodatabase 数据访问对象的一个简化的标准建模语言(UML)表,它将在第四章“地理数据的结构”中被讨论。
1.6.2 访问简单要素的数据 对于空间应用程序来说,完全可以获取简单非拓扑要素形式的地理数据。
ArcSDE 下在支持C API 和Java API, 这两种语言都符合OGC 简单要素规范。
OGC 是领导空间数据厂商的组织,它的目的是开发标准的软件接口,这样可以使得各种GIS
空间数据可以自由地进行交换。 在网络上拥有不同格式的地理数据的不同组织可以将本地数据格式组织为“简单要素”集成到应用程序中。
ESRI 是OGC 技术规范最主要的贡献者,并且承担地理数据公开交换的义务。 1.6.3
通过SQL 访问数据 GIS 是丰富的地理数据资料档案库,这个资料档案库中管理存储了各种自然要素、交通运输之类的基础设施、或者入公共事业几何网络等等这样的数据。使用Geodatabase
来维护和管理数据的时候,外面的数据库应用程序可以有效地获取享的以非空间形式表达的数据。 使用关系数据库自带的SQL
接口,便可以建立从Geodatabase 中提取数据的应用程序,可以将这些提取的数据用于各种分析工作,比如处理工作流程或则统计分析等。
在这个视图中,Geodatabase 是一系列的表、列和行。通过SQL 接口,可以观察到Geodatabase
数据库的内部物理结构。这个结构在ArcInfo 中是不能直接可见的, 要通过ArcCatalog 图形界面管理。使用SQL 开发程序可以更新要素属性,在这个过程中,尤其小心不要破坏Geodatabase
的管理结构。
|