1.地理数据库中的数据集
ArcGIS是围绕着Geodatabase数据库构建的,它使用对象关系型数据库来存储空间数据。Geodatabase是一个存储数据集的容器,同时将空间数据和属性绑定起来。
数据集是地理数据库的一个重要概念。它是在 ArcGIS 中组织和使用地理信息的主要途径。地理数据库包含三种主要数据集类型:
1.要素类
2.栅格数据集
3.表
地理数据库存储既包括各个地理数据集的方案和规则库,也包括空间和属性数据的简单表格存储。地理数据库中的三种主要数据集(要素类、属性表和栅格数据集)以及其他地理数据库元素都是使用表来存储的。地理数据集中的空间制图表达以矢量要素或栅格的形式存储。
2.要素类与栅格的基础知识
要素类是具有相同空间制图表达(如点、线或面)和一组通用属性列的常用要素的同类集合,例如,表示道路中心线的线要素类。最常用的四个要素类分别是点、线、面和注记(地图文本的地理数据库名称)。
矢量要素(带有矢量几何的地理对象)是一种常用的地理数据类型,其用途广泛,非常适合表示带有离散边界的要素(例如街道、州和宗地)。要素是一个对象,可将其地理制图表达(通常为点、线或面)存储为行中的一个属性(或字段)。在 ArcGIS 中,要素类是数据库表中存储有公共空间制图表达和属性集的要素的同类集合,例如,面要素用于表示陆地,点要素用于表示城市:。
图1.点要素与面要素
栅格数据集常用于表示和管理影像、数字高程模型及许多其他现象。通常,栅格是用于表示点、线和多边形要素的一种方法。在下面的示例中,可以看到如何将一系列多边形表示为栅格数据集。
图2.栅格数据集的表示
栅格是以行列排列的一组像元,是 GIS 中经常使用的数据集。用户通常使用多个栅格文件,然而随着其他地理信息的增加,许多用户已看到不断增长的在 DBMS 中管理栅格数据的需求。文件和 ArcSDE 地理数据库均提供了非常有效的栅格数据管理方式。
图3.栅格数据
3.利用C#创建要素数据集与栅格数据集
在使用AE打开或者加载数据的第一步就是 通过工作空间工厂(IWorkspaceFactory)获取工作空间(IWorkspace),然后从工作空间中获取数据集(DataSet)、要素类(FeatureClass)等数据。
这种模式就是面向对象设计模式中的工厂模式,当我们想要扩展新的数据类型时,只需要创建对应的工作空间类,这个类继承自IWorkspaceFactory,然后创建相应的工作空间类,这个类继承自IWorkspace接口。
因此我们要在窗体内定义几个成员变量`
//属性空间
IPropertySet propertySet;
//工作空间
IWorkspace workspace;
IWorkspaceFactory workspaceFactory = new SdeWorkspaceFactory();
//打开sde工作空间(propertySet自己设置)
workspace = workspaceFactory.Open(propertySet, 0);