GIS中的SQL査询

Python与开源GIS

GIS中的SQL査询

2016-11-03 作者: xuzhiping 浏览: 3291 次

摘要: 一、关系数据库与SQL 1.关系模型 关系数据库建立于关系模型之上,关系模型是用二维与层次和网络模型相比,关系模型是目前商业化的GIS最常用的数据模型。 2.SQL查询语言 结构化查询语言SQL是基于关系运算的数据库操作与程序设计语言。SQL的前身是IBM的关...

一、关系数据库与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)使用子查询(嵌套查询)

关注“开源集思”公众号
获取免费资源

随机推荐


Copyright © from 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org