空间数据库 - 打造空间数据帝国


发布日期 : 2022-12-01 01:40:07 UTC

访问量: 280 次浏览

![空间数据库--打造您的空间数据帝国](https://www.osgeo.cn/static/upload/88/88382ed4-7113-11ed-a314-00163e056ce7_m.jpg)

GIS 中的空间数据库是什么?

空间数据库为访问、存储和管理空间数据帝国提供了坚实的基础。 数据库是允许存储、输入、输出和组织数据的相关信息的集合。 数据库管理系统 (DBMS) 充当用户和数据库之间的接口。 空间数据库包括位置, 它具有点、线和多边形等几何图形。 GIS 将来自许多来源的空间数据与许多不同的人结合在一起。 数据库将用户连接到 GIS 数据库。 例如,一个城市可能连接了废水处理部门、土地记录部门、交通部门和消防部门, 并使用公共空间数据库中的数据集。 让我们更仔细地阅读本文关于空间数据库, 以及如何在 GIS 中使用。

GIS 中的属性表是什么?

首先,让我们来看一下基本知识: 默认情况下, 空间矢量要素始终与 GIS 中的非空间属性表相关联。 空间要素存储对象在地图上的位置, 非空间属性表解释了地图上的对象所代表的内容, 属性表类似于电子表格。

![GIS 中的属性表](https://www.osgeo.cn/static/upload/1c/1ce57aee-7116-11ed-85e0-00163e056ce7_m.jpg)

字段有不同的类型, 如文本 (字符串)、整数和日期 (YYYY/MM/DD)。 字段名是列名的标题。 字段名称应描述在该列中输入的信息。 例如,平均人口的字段名称可能为 AVG_POP。

属性表中的行表示数据集中的空间要素或该数据集的关联记录。 属性中的行可以与空间要素有关系, 有三种类型的关系:

  • 一对一关系
  • 一对多关系
  • 多对多关系

一对一关系:将表与表绑定

GIS 中的一对一关系是什么? 将一个要素链接到表中的一个条目时, 这是一种一对一的关系(1-1)。

![一对一关系:将表与表绑定](https://www.osgeo.cn/static/upload/2f/2f833862-7116-11ed-871e-00163e056ce7_m.jpg)

GIS 的独特之处在于, 一个表格与地理坐标联系在一起。 例如,以下是德国三个城市的地理位置:

![表格与地理坐标](https://www.osgeo.cn/static/upload/c7/c756952a-7117-11ed-a314-00163e056ce7_m.jpg)

如您所见, 我们可以获得有关这五个城市的一些额外信息, 了解它们的纬度和经度, 不仅如此,还会看到其他信息, 例如人口。

一对多关系将表中的多个记录联系在一起

什么是一对多关系?

当将一个空间要素与属性表中的多个记录相关联时, 是一对多关系(1-M)。 在这种情况下, 空间表中有一个唯一的标识符, 它唯一地标识表中的每一行。 这些键必须同时存在于空间和非空间属性表中。

这个唯一 ID(主键)是地理数据和属性表之间的主要链接。 该键必须作为外键存在于相关表中, 可通过连接唯一 ID 来设置 1-M 关系类。

![一对多关系](https://www.osgeo.cn/static/upload/ab/ab015342-7117-11ed-a314-00163e056ce7_m.jpg)

例如,一个调查站点可以在几年内进行多个观测。 调查站点将具有地理坐标, 与其绑定的表将具有与该唯一ID相关联的对应记录。 链接这些属性表的两个字段是主键, 并且必须存在于两个表中。

因此可以看到我们是如何减少冗余的, 我们不再在每次观察中存储纬度和经度。 这是因为每个纬度和经度仅在测量点表中存储一次。 GIS 中的多对多关系在 GIS 中不太常见。 当相关属性表中有很多条目时, 就会存在这种关系, 反之亦然, 同时可生成交集表以将许多记录关联在一起。

![减少冗余](https://www.osgeo.cn/static/upload/da/da00a8b4-7117-11ed-85e0-00163e056ce7_m.jpg)

关系数据库管理系统 (RDBMS)

什么是关系数据库管理系统(RDBMS)?

如上所述, 连接这些属性表的两个字段是主键的 ID。 将这些表联系在一起的是用户设置 1-M 关系。 如 RDBMS,RDBMS 是数据的关系存储概念。 关系数据库包含保存记录的表, 每个记录都包含该记录数据的字段。 它使用规范化来分离表并将表链接在一起。 标准化不会浪费空间。 它将信息分解为离散的组件, RDBMS 减少了重复信息。 在上面的示例中, 我们将重复信息放入多个表中。 一个表上有一个外键, 可通过关系访问该表。 RDBMS 可能变得非常复杂,例如下面的示例:

![关系数据库管理系统](https://www.osgeo.cn/static/upload/67/67b1d7fa-7118-11ed-a314-00163e056ce7_m.jpg)

什么是布尔代数?

布尔代数由用于选择具有一组代数条件的要素的条件组成, 条件包括 AND、OR、或 NOT。

通过使用布尔代数设置定义查询来过滤地图中显示的要素时。 例如,CITY = “LARGE” AND COUNTRY = “NORTH AMERICA” 将过滤出符合这些条件的所有记录。 在 GIS 中, 布尔代数会创建一组条件, 用于选择具有一组代数条件的要素。 条件包括 AND、OR、或 NOT。 我们使用维恩图来表示布尔运算。 布尔代数这个名字是由创始人乔治·布尔于1847年首创的。

![布尔代数](https://www.osgeo.cn/static/upload/bb/bbe810c6-711a-11ed-871e-00163e056ce7_m.jpg)
维恩图

结构化查询语言 (SQL) 是用户使用布尔代数与数据库交互的方式。

空间数据库示例

![维恩图](https://www.osgeo.cn/static/upload/8e/8e990dac-7118-11ed-a314-00163e056ce7_m.jpg)
矢量 GIS 文件格式

专有的 Esri 文件地理数据库存储矢量数据、栅格数据、表格、拓扑和关系。 模式确保数据完整性。 文件地理数据库具有结构、性能和数据管理优势。 开源 PostGIS 将空间对象添加到跨平台 PostgreSQL 数据库中。 PostGIS 为 PostgreSQL DBMS 提供的三个特性是空间类型、索引和函数。

通过支持不同的几何类型,PostGIS 空间数据库允许查询和管理有关位置和制图的信息。 其他数据库示例包括SQL Server(其中几何只是另一种数据类型,如 char 和 int)和 Microsoft Access(在 ArcGIS 中称为个人地理数据库)。 空间数据库为多个用户提供了一种同时访问共享空间数据的机制, 类似于 DBMS。

关于空间数据库的最终决定

数据库管理系统 (DBMS) 允许用户在数据库中存储、插入、删除和更新信息。 RDBMS 更进了一步。 它通过规范化减少了冗余, 并通过主键和外键将表链接在一起。 空间数据库更进一步, 因为它使用地理坐标记录数据。 从地理数据库到 PostGIS, 空间数据库已迅速成为管理空间数据的主要方法。