GIS中的SQL査询


发布日期 : 2026-01-05 06:42:19 UTC

访问量: 138 次浏览

一、关系数据库与SQL

1.关系模型

关系数据库建立于关系模型之上,关系模型是用二维与层次和网络模型相比, 关系模型是目前商业化的GIS最常用的数据模型。

2.SQL查询语言

结构化查询语言SQL是基于关系运算的数据库操作与程序设计语言。 SQL的前身是IBM的关系数据库管理系统System-9上的SEQUEL。 IBM的SQL/DS及DB2全采用这种语言。 目前,美国国家标准化协会(ANSI)已把SQL作为关系DBMS标准语言的基础, 国际标准化组织(ISO)也采纳同样的建议。

SQL像所有的关系数据操纵语言——是一个集合级的语言, 它的M纵对象与结果都是表。这样的集合级语言有时被描述成非过程化的, 在此范围中用么而不是怎样做。

SQL语言按功能分为三个组成部分,即数据定义语言(DDL)、 数据操纵语言(DML)和数据控制语言(DCL)。 现以数据定义语言和数据操纵语言的部分主要句为语言和操作。

二、Maplnfo中的SQL查询

Maplnfo是以二维关系表的形式组织地理数据的属性数据, Maplnfo的SQL查询命令可以完成各种基于关系表的信息的组织、分析、汇总等操作。 同时,作为一个GIS软件,Maplnfo的SQL查询命令中包含有许多月于空间分析的函数和操作。

1.MAPINFO的SQL对话框

Maplnfo中SQL查询的实现是通过SQL对话框完成的, SQL对话框主要有六个组成部分:

(1)选择列:该栏的默认值是一个 * 号, 表示查询结果表中包含所有基表中的属性字段, 但是你完全可以(同时也是必要的)根据需要用你选择的列代替 * 号。 夕间以逗号隔开,列名可以从右侧的名为columns 的下拉列表框中选取。

(2)来自表:这是你首先要填的栏目, 因为所有SQL查询都是针对于某一个或若干个基表完成的。 同样,表名可以从右侧名为Tables的下拉列表框中选取,多于一个基表时, 每个表之间以逗号(,)隔开。

(3)条件:该栏用于填写你的查询条件

(4)按列分组:该栏对于数据的统计、汇总和求平均值非常有用。 该栏经常与Select columns栏中使用到的聚合函数配合使用。

(5)按列排序:该栏用于对查询表中的记录进行排序, 通过该栏可以进行升序、降序以及嵌套排序等。

(6)结果存入表:在此你可以为查询结果进行命名。 但无论何时,查询结果表都是一个临时表,除非你通过Save as命令将其存为普通表。

2.使用SQL进行地理查询

(1)地理联结

(2)距离量算

(3)寻找最近点

(4)按比例叠置

(5)使用子查询(嵌套查询)


本文链接 :GIS中的SQL査询