当前位置:文档之家› 4、地理信息系统空间数据库

4、地理信息系统空间数据库

欧洲标准化委员会( 欧洲标准化委员会(CEN/TC287) ) 美国联邦地理数据委员会(FGDC) 美国联邦地理数据委员会( ) 国际标准化组织地理信息/地球信息技术委员 国际标准化组织地理信息 地球信息技术委员 会(ISO/TC2间数据库引擎(SDE)——是在 空间数据库引擎( ) 是在GIS应用软 应用软 是在 件和关系数据库之间建立了一个中间层, 件和关系数据库之间建立了一个中间层,由 SDE为GIS应用软件提供在关系数据库里存储、 为 应用软件提供在关系数据库里存储、 应用软件提供在关系数据库里存储 存取、查询和分析空间数据的相应功能。 存取、查询和分析空间数据的相应功能。
第七节 空间元数据
空间元数据的主要作用: 空间元数据的主要作用:
帮助空间数据的使用者查询所需的空间信息, 帮助空间数据的使用者查询所需的空间信息, 查询所需的空间信息 进行空间数据的共享,并进一步处理空间数据。 进行空间数据的共享,并进一步处理空间数据。 共享 处理空间数据
国际上对空间元数据标准内容进行研究的组织 主要有三个: 主要有三个:
一、空间关系查询类型
面-面查询:与某个多边形相邻的多边形是哪些; 面查询:与某个多边形相邻的多边形是哪些; 线-面查询:某条线经过(或穿过)哪些多边形,某条链的左、右多 面查询:某条线经过(或穿过)哪些多边形,某条链的左、 边形是哪些;(河流经过哪些行政区) 边形是哪些;(河流经过哪些行政区) ;(河流经过哪些行政区 点-面查询:查询某点实体包含在那个面实体的内部。(如查询某城 面查询:查询某点实体包含在那个面实体的内部。(如查询某城 。( 市所在的行政区) 市所在的行政区) 面-线查询:查询经过某个面实体的线实体。(如查询经过某行政区 线查询:查询经过某个面实体的线实体。(如查询经过某行政区 。( 的河流) 的河流) 面-点查询:某个多边形内有哪些点状要素;(如查询某行政区内的 点查询:某个多边形内有哪些点状要素;(如查询某行政区内的 ;( 所有城市、或乡镇) 所有城市、或乡镇)
线-线查询:与某条河流相连的支流是哪些,某些道路跨过哪些河流; 线查询:与某条河流相连的支流是哪些,某些道路跨过哪些河流; 线-点查询:查询距离某个线实体一定范围内的点实体;或某条道路上有 点查询:查询距离某个线实体一定范围内的点实体; 哪些桥梁,某条输电线路上有哪些变电站; 哪些桥梁,某条输电线路上有哪些变电站; 点-线查询:查询距离某个点实体一定范围内的线实体(如 查询距某城市 线查询:查询距离某个点实体一定范围内的线实体( 500m范围内的河流),或某个结点由哪些线( 500m范围内的河流),或某个结点由哪些线(链) 范围内的河流),或某个结点由哪些线 相交而成。 相交而成。 点-点查询:查询距离某点实体一定范围内的其他点实体。如查询距离水井 点查询:查询距离某点实体一定范围内的其他点实体。 1km范围内的所有村落。 1km范围内的所有村落。 范围内的所有村落 “开窗”查询: 在图形显示屏幕上用光标临时划定一个不规则的多边形, 开窗”查询: 在图形显示屏幕上用光标临时划定一个不规则的多边形, 好像在背景地图上开了一个“窗”,然后查出和该 好像在背景地图上开了一个“ 窗口有关的点、 窗口有关的点、线、面及其属性信息。 面及其属性信息。
SQL查询 查询
SQL(Structure Query Language)是结构化 ( ) 查询语言,是一套强大的查询系统。语言简单、指令 查询语言,是一套强大的查询系统。语言简单、 简洁、操作简单、功能强大,被广泛运用在相互关联 简洁、操作简单、功能强大, 的数据库中,并能完成十分复杂的查询和选择。 的数据库中,并能完成十分复杂的查询和选择。
格网索引 B A
0 2 8 10 32 34 40 42 1 3 9 11 33 35 41 43 4 6 12 14 36 38 44 46 5 7 13 15 37 39 45 47 16 18 24 26 48 50 56 58 17 20 21 19 22 23 25 28 29 27 30 31 49 52 53 51 54 55 57 60 D 61 59 62 63
“SQL选择”的操作示例 SQL选择” SQL选择
例如:查询并显示出人口大于 例如:查询并显示出人口大于3000万的省份 万的省份
图5-9 满足条件的浏览窗口
图5-11 不排序 图5-12 升序 图5-13 降序
图5-10 人口>3000万的省份单独显示
不能处理空间关系的查询, 但SQL不能处理空间关系的查询,要实 不能处理空间关系的查询 现空间操作,需要对 进行空间扩展 现空间操作,需要对SQL进行空间扩展, 进行空间扩展, 即采用SQL的基本语法形式, 即采用SQL的基本语法形式,并在查询 的基本语法形式 条件中加入空间约束条件的算子。 条件中加入空间约束条件的算子。
第四章 GIS空间数据库 GIS空间数据库
第一节 空间数据库概述 第二节 空间数据库概念模型设计 第三节 空间数据库逻辑模型设计 第四节 空间数据库物理设计 第五节 空间数据查询 第六节 空间数据库索引 第七节 空间元数据 第八节 空间数据库引擎 第九节 空间时态数据库
第五节 空间数据查询
针对空间关系的查询:如查询一条公路途经的所有城镇; 针对空间关系的查询:如查询一条公路途经的所有城镇; 针对属性的查询:如查询一个城市的人口数量; 针对属性的查询:如查询一个城市的人口数量; 结合空间关系和属性的查询: 结合空间关系和属性的查询:如查询距某河流的距离大于 500m(空间关系),种植玉米(属性)、且面积大于 500m(空间关系),种植玉米(属性)、且面积大于 ),种植玉米 )、 既可以是空间计算,也可以是属性) 800hm2(既可以是空间计算,也可以是属性)的土地利用 单元。 单元。
是依据空间实体的位置和形状或空间实体之间的某种空 是依据空间实体的位置和形状或空间实体之间的某种空 位置和形状 间关系按一定的顺序排列的一种数据结构,其中包含空 间关系按一定的顺序排列的一种数据结构, 间实体的概略信息,如标识码、最小外接矩形以及存储 间实体的概略信息,如标识码、 地址。 地址。 作为一种辅助性的空间数据结构, 作为一种辅助性的空间数据结构,空间索引介于空间操 作算法和空间实体之间,它通过筛选 筛选把大量与特定空间 作算法和空间实体之间,它通过筛选把大量与特定空间 操作无关的空间实体排除, 操作无关的空间实体排除,从而提高空间操作速度和效 率。
SDE
SDE的访问模式:
GIS用户的应用程序通过 用户的应用程序通过SDE的应用编辑接口 的应用编辑接口 用户的应用程序通过 的应用 服务器提出空间数据访问请求, (API)向SDE服务器提出空间数据访问请求, ) 服务器提出空间数据访问请求 SDE服务器依据空间对象的特点在存储空间数 服务器依据空间对象的特点在存储空间数 据的关系数据库中完成空间数据的搜索, 据的关系数据库中完成空间数据的搜索,通常 采用SQL方式进行,并将搜索结果向GIS用户 方式进行,并将搜索结果向 采用 方式进行 用户 的应用程序返回。 可以提供空间、 的应用程序返回。SDE可以提供空间、非空间 可以提供空间 数据进行高效率操作的数据库服务。 数据进行高效率操作的数据库服务。
索引是数据库的一种数据快速查找的机制, 索引是数据库的一种数据快速查找的机制,通 常由关键字和存储地址组成。 常由关键字和存储地址组成。 关键字和存储地址组成 关键字标识数据记录; 关键字标识数据记录; 地址表示记录在数据库中的存储位置; 地址表示记录在数据库中的存储位置; 索引就是一张关键字与地址的对照表, 索引就是一张关键字与地址的对照表,通过索 引可以直接到数据库里找到对应关键字的记录。 引可以直接到数据库里找到对应关键字的记录。
二、属性数据查询
大多数的GIS软件都将属性信息存储在关系数据库中, 软件都将属性信息存储在关系数据库中, 大多数的 软件都将属性信息存储在关系数据库中 而几乎所有的关系数据库管理系统都支持结构化查询语 而几乎所有的关系数据库管理系统都支持结构化查询语 言(SQL)。 )。 利用SQL可以在属性数据中方便地实现多种条件的组合 可以在属性数据中方便地实现多种条件的组合 利用 查询,找出满足条件的空间实体。 查询,找出满足条件的空间实体。
关系数据库通常是一维索引, 关系数据库通常是一维索引,即根据一个关键 字去查询记录的地址。 字去查询记录的地址。而空间实体的查询通常 是通过空间位置来进行的,而空间位置通常是 是通过空间位置来进行的, 二维的平面位置,需要建立二维的索引 二维的索引。 二维的平面位置,需要建立二维的索引。
空间索引: 空间索引:
一、范围索引
即在记录每个空间实体的坐标时, 即在记录每个空间实体的坐标时,同时记录每个空间实 体的最大和最小坐标。 体的最大和最小坐标。 最大和最小坐标 在通过一个查询范围查询包含在其中的空间实体时,根 在通过一个查询范围查询包含在其中的空间实体时, 据空间实体的最大和最小范围, 据空间实体的最大和最小范围,预先排除那些没有落入 查询范围内的空间实体, 查询范围内的空间实体,只对那些最大和最小范围落在 查询范围内的空间实体进行进一步的坐标位置等判断, 查询范围内的空间实体进行进一步的坐标位置等判断, 最后查询出那些真正落入查询范围内的空间实体。 最后查询出那些真正落入查询范围内的空间实体。
空间关系的谓词通常有:
相邻:Adjacent 或 Touch 包含:Contain 穿过:Cross 被包含:Inside 或 Within 缓冲区:Buffer
例子:
条件:有两个空间数据, 条件:有两个空间数据,一是各个省份的点要素空间数据 City,属性数据里面带有各个城市的名称;另一个是各个 属性数据里面带有各个城市的名称; 属性数据里面带有各个城市的名称 省行政区的多边形空间数据Province,属性数据里面带有 属性数据里面带有 省行政区的多边形空间数据 各个省的名称。 各个省的名称。 查询要求:查询江苏省省会所在地和名称? 查询要求:查询江苏省省会所在地和名称?
相关主题