# 简单要素类与注记类

简单要素类与注记类是基本的矢量类型。要了解简单要素类与注记类,您需要了解以下一些基本概念。

简单要素类

简单要素类是相同类型简单要素的集合;是要素分类的概念性表示;是一种描述地理要素的格式分类。

边界

边界是线的集合。

0维几何,表示坐标空间中的一个单独位置。点有一个x坐标值和一个y坐标值。

曲线

一维几何基形,表示一条线的连续影像。注:曲线的边界是该曲线起止端点的集合。如果该曲线是一个环,两端点是相同的,该曲线(是拓扑闭合)被认为没有边界。第一个点称为起始点,最后一个点称为终止点。该曲线的连通性由“一条线的连续影像”子句保证。拓扑理论认为一个连通的集合的连续影像是连通的。

线

一维几何实体。用来表示较狭窄的要素。包括折线和弧线。

二维曲面

二维几何对象。

三维曲面

三维几何对象。

三维几何对象。

多边形

一个平面表面。通过一个外部边界和0个或更多的内部边界定义。每个内部边界定义一个多边形的一个洞。定义有效多边形有以下规则:

  • 多边形是拓扑闭合的;
  • 多边形的边界是由一组线性环组成的,这些线性环构成多边形的外部边界和内部边界;
  • 在边界交叉处不会出现两个环,在多边形的边界中的环可能在一点上相交,但只可能相切;
  • 多边形不可能有分割线(cut lines),刺穿(spikes)或者小孔(punctures);
  • 每个多边形的内部是一组相连的点;
  • 带有一个或者多个洞(hole)的多边形的外部是不相连的。每个洞(hole)定义一个外部的相连组件。

多点

0维几何集。多点的组成元素限制为点。这些点不是相连或有序的。如果多点中没有两个相同的点(有相同的坐标值),那么多点是简单的。

多线

一维几何集,它的组成元素是线。

多面

二维几何集,组成元素是表面。多面中的任意两个表面的内部都可能相交。多面的任意两个组成元素的边界都只可能相交于有限多个点。

多多边形

由多边形组成的多面。定义有效多多边形有以下规则:

  • 组成多多边形的两个多边形不可能相交(cross),但可能与有限个点相连;
  • 组成多多边形的两个多边形的内部不可能相交;
  • 多多边形被定义为拓扑闭合的;
  • 多多边形不能有分割线(cut lines),刺穿(spikes)或者小孔(punctures),一个多多边形是一个规则的,闭合的点集;
  • 带有多于1个多边形的多多边形的内部的是不连通的,多多边形的内部的连通组件的数量就等于多多边形中的多边形的数量,一个多多边形的边界是一组对应于它的成员多边形的边界的封闭曲线,多多边形的边界中的每一条曲线都在一个成员多边形的边界中,而成员多边形边界的每条曲线都是在多多边形的边界中的。

子元素

指一个元素c 是另一个元素(它的父元素)p 的内容,但不是p中的任何其它元素的内容。多点、多线、多多边形拥有子元素。子元素即构成多点、多线、多多边形的点、线、多边形。子元素的个数即构成多点、多线、多多边形的点、线、多边形的个数。

解析线

指由解析线参数控制的曲线。如弧线、圆心半径圆、3点圆、椭圆、圆心半径起始角终止角(顺时针旋转)、弧、3点弧、矩形(对角点+角度)、矩形(单点+长度宽度+角度)、样条曲线、Bezier曲线。

注记

是一种标识要素的描述性文本,分为文本注记、属性注记和维注记。其中:

  • 文本注记是一种内容和位置固定的注记,包括注记和版面;
  • 属性注记的内容来自要素的属性值,显示属性注记时,动态地将属性值填入注记模板。因此也称为动态注记,属性注记直接和它要标注的要素相关联,移动要素时,注记跟随移动,注记的生命期受该要素的生命期控制;
  • 维注记是一种特殊类型的地图注记,仅用来表示特定的长度和距离。维分为平行维和线性维,平行维与基线平行,表示真实距离;线性维可以是垂直、水平或旋转的,并不表示真实距离。

注记的集合构成注记类。

注记类的相关操作与简单要素类相差无几,以下描述的各项操作虽然指明了是对简单要素类对象的操作,但同样适用于注记类文件夹及其对象。

另外,由于简单要素类和注记类的创建和管理上基本一致,以下就以简单要素类为例,讲解简单要素类与注记类的相关操作。

# 创建类

系统中,既可以在GDBCatalog目录中创建类,也支持在地图编辑器中创建类。在GDBCatalog目下创建简单要素类的具体操作说明如下。

操作说明

1. 在“数据库”节点右键选择“创建”功能,弹出如下对话框。选择“简单要素类”或“注记类”类型,设置空间参照系:

2. 点击“确定”,即可成功创建“简单要素类”或“注记类”。

# 参照系管理

修改简单要素类的空间参照系,可在此功能下完成操作。

操作说明

1. 在GDBCatalog树中,右击要编辑空间参照系的简单要素类,右键查看“属性”,可查看并修改空间参照系信息:

# 其它编辑操作

在GDBCatalog目录下的简单要素类右键菜单中,您还可以进行以下操作:

# 复制(url)/粘贴简单要素类

“复制(url)/粘贴”功能,用来将一个或者多个简单要素类(或其url)复制到目标位置。系统中提供了两种复制方式,一种是直接复制简单要素类的图属信息,能够实现简单要素类的快速备份;一种是复制简单要素类所在位置的URL。

复制URL

简单要素类的URL的使用便于外部对数据进行访问。

1. 在Catalog目录树下,右键需要复制的简单要素类,在弹出的右键菜单中单击“复制URL”项,完成简单要素类URL的复制;

2. 在目标位置使用“粘贴”,完成简单要素类URL的复制和粘贴。

复制

使用“复制”,可以将指定的简单要素类快速的复制到要素数据集或另一个数据库中的相应位置,能够实现重要数据在数据库中的快速备份。

1. 在GDBCatalog目录树下,右键需要复制的简单要素类,在弹出的右键菜单中单击“复制”项,完成简单要素类的复制;

2. 在GDBCatalog目录树的目标位置上右键(简单要素类复制后,只能粘贴在GDBCatalog目录下的数据库中相应的位置。),在其右键下拉菜单中单击“粘贴”(在进行了“复制”操作后,相关的“粘贴”功能才会被激活),完成简单要素类粘贴。完成数据备份。

# 移动到数据集

实现将GDBCatalog目录中“简单要素类”节点下的要素快速的移动到其所在数据库的要素数据集中。您可以选择将其移动到已经创建好的要素数据集中,也可以再新建一个要素数据集。“移动到数据集”功能能够实现数据的快速迁移。

1. 在GDBCatalog目录树中,右键需要移动的简单要素类的节点,在其右键菜单中选择“移动到数据集”,弹出“移动到数据集”对话窗,如下图所示:

提示:

“移动到数据集”功能只能将简单要素类移动到自身所在数据库的“要素数据集”中,若需要将简单要素类移动到另一个数据库中,可以使用简单要素类节点下的“复制”功能。

# 删除类

删除被选中的简单要素类。

1. 在GDBCatalog目录中,选中要删除的简单要素类,在其右键菜单中选择“删除”项。

2. 选择删除后,由于删除操作不可撤销,系统会弹出如下提示信息。点击“确定”,完成删除。

提示:

进行删除操作前,请确认被删除数据数据未在使用中,否则删除操作会失败。

# 清空类

执行“清空”操作时,会删除要素的图属信息,只保留数据的属性结构。

1. 在GDBCatalog目录中,选中要清空其图属信息的简单要素类,在其右键菜单中选择“清空”项。

2. 选择清空后,由于清空操作也不可撤销,系统会弹出如下提示信息。点击“确定”,执行清空操作。

# 重命名类

修改简单要素类名称。简单要素类的名称和别名都可以通过该功能进行修改。

1. 在GDBCatalog目录中,选中要修改其名称的简单要素类,在其右键菜单中选择“重命名”项:

2. 该简单要素类名称处于可编辑状态,可直接输入新的名称进行修改。

# 索引管理

索引是表示数据的另一种方式,它提供的数据顺序不同于数据在磁盘上的物理存储顺序。索引的特殊作用是在表内重新排列记录的物理位置。索引可建立在数据表的一列上,或建立在表的几列的组合上。

试想您要在图书馆中找一本书,您将要一架一架地遍历寻找,直到找到想要的那本书为止。这样的查找肯定费时费力,那么管理员可以将所有的图书标题按字母分类建立索引卡片,并按字母顺序放在对应的书架上,这样您仅通过查询索引卡片,便很容易查询到所需书籍。

再进一步设想,图书管理员很勤劳,他不仅按照图书标题字母分类,而且还按中图法、作者姓名、出版社等元素分别建立了索引卡片,借阅者在检索图书信息时将具有更大的灵活性、效率也会更高。因此在一个数据表中是可以建立多个索引的。

在数据库中,对无索引的表进行查询一般称为全表扫描。全表扫描是数据库服务器用来搜寻表的每一条记录的过程,直到所有符合给定条件的记录返回为止。这个操作可以比作在图书馆中查书,从第一个书架的第一本书开始,浏览每一本书,直到发现所要的书为止。为了进行高效查询,可以在数据表上针对某一字段建立索引,由于该索引包括了一个指向数据的指针,数据库服务器则只沿着索引排列的顺序对仅有一列数据的索引进行读取(只建立一个索引)直至索引指针指向相应的记录上为止。由于索引只是按照一个字段进行查找,而没有对整表进行遍历,因此一般说来索引查找比全表扫描的速度快。

那么,是不是使用索引查询一定比全表扫描的速度快呢?答案是否定的。如果查询小型数据表(记录很少)或是查询大型数据表(记录很多)的绝大部分数据,全表扫描更为实用。例如,查询“性别”字段,其值只能是“男或女”,在其上建立索引的意义就不大,甚至不允许在布尔型、大二进制型(备注型、图像型等)上建立索引。

MapGIS中提供了空间索引及属性索引两类索引管理,可以设置查找与空间查询匹配的要素,同时可以查找与属性查询匹配的记录。

属性索引中又包含了常规索引和唯一索引。

# 空间索引

# 功能说明

空间索引是指依据空间对象的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构,其中包含空间对象的概要信息,如对象的标识、外接矩形及指向空间对象实体的指针,用以提高数据的显示、编辑以及空间查询效率。

序号 索引类型 数据源 说明
1 R树索引 HDB 建立每个几何实体的外接矩形,再通过外接矩形的最大、最小坐标检索几何实体。
2 四叉树索引 网络数据库 对整个几何实体进行四又树分割,使每个子块中包含单个几何实体,然后根据包含每个实体的子块层数或子块大小,建立相应索引
3 聚集索引 网络数据库 根据几何实体在数据库表行中数据的物理顺序构建索引
4 要素外包索引 网络数据库
5 缓存索引 网络数据库

# 操作说明

1. 在GDBCatalog树中选择某个矢量数据,在右键菜单中选择“索引管理”项。

2. 在弹出的对话框中,选择索引类型,如R树索引,点击“创建”或“移除”按钮即可。

# 属性索引

# 操作说明

1. 在GDBCatalog树中选择某个矢量数据,在右键菜单中选择【索引管理】项。

2. 在弹出的对话框中,选择【属性索引】:

3. 点击【创建】,设置索引名称,并选择属性字段。

4. 点击"确定",即可构建属性索引。