Python与开源GIS:SpatiaLite简介

2017-04-03 作者: bukun 浏览: 522 次 Help edit

摘要: SQLite是一个深受欢迎的数据库管理系统,具有简单、稳定、易于使用和真正的轻量级特点。每个SQLite数据库是一个简单文件,用户可以自由复制、压缩,以及通过局域网LAN和广域网WEB毫不费力地传送。SQLite 而且数据库是跨平台的,同一个数据库文件可以在多....

SQLite是一个深受欢迎的数据库管理系统,具有简单、稳定、易于使用和真正的轻量级特点。每个SQLite数据库是一个简单文件,用户可以自由复制、压缩,以及通过局域网LAN和广域网WEB毫不费力地传送。SQLite 而且数据库是跨平台的,同一个数据库文件可以在多种操作系统环境工作,如:Windows, Linux, MacOS等。

SpatiaLite是SQLite数据的空间数据引擎。为了使用SQLite能够处理空间数据,需要在SQLite中加载空间扩展。SpatiaLite 发音为 spatial light, 前已述及, 其支持OpenGisConsortium OGC规范规范的空间数据处理函数。

SpatiaLite的一些主要功能

SpatiaLite对SQLite的扩展,使其能够兼容OGC的空间数据规范。

  • 支持WKT和WKB格式
  • 支持SQL空间函数AsText(), GeomFromText() , Area(), PointN()。
  • 对OpenGIS空间函数集的完全支持需要借助于GEOS, 支持高级复杂空间分析函数如:Overlaps(), Touches(), Union(), Buffer()等
  • 遵循OpenGIS规范完全支持空间元数据格式
  • 支持对Shape文件的导入与导出
  • 采用PROJ.4和EPSG支持坐标系的投影变换
  • 采用GNU libiconv支持各语言字符编码
  • 基于SQLite的RTree扩展真正地实现了空间索引
  • VirtualShape扩展使得SQLite访问Shape文件就像操作VIRTUAL TABLE一样
  • 用户可以对外部Shape文件进行标准SQL查询操作,而无需导入或者转换Shape文件
  • VirtualText扩展使得SQLite访问CSV/TxtTab文件就像操作VIRTUAL TABLE一样
  • 用于可以对外部CSV/TxtTab文件进行标准SQL查询操作,而无需导入或者转换CSV/TxtTab文件
  • GUI工具用户界面友好,支持上述所有功能

SpatiaLite的更多功能介绍

  • 可以处理大多数的图形数据,包括:点、线、多边形、点集合、线集合、多边形集合和几何对象集。
  • 每个几何要素都有一个空间参照标志符(spatial reference identifier,SRID),来标识其空间参照。
  • 几何对象列包含特定的几何类型和特定的SRID。这样可以阻止在数据库表中保存错误的几何对象或错误的空间参照。
  • 支持几何对象在WKT和WKB格式之间进行转换。
  • 支持几何功能,如面积量算,多边形和线简化,几何对象的距离量算,几何对象集合计算(九交模型),以及缓冲区生成等。
  • 支持几何对象在不同空间参照系间转换,以及平移、缩放或旋转几何对象。
  • 支持用最小外包矩形来快速计算空间关系
  • 支持用几何对象自身的空间关系运算(九交模型,如相等,接触和交叉等等),而不仅仅用最小矩形来计算。
  • 正确运用R-树索引可以大大提高空间查询的速度。
  • 实施空间索引的另外一种方法是利用MBR内存缓冲。这是用最小边界矩形来索引要素的极快方法,但是受限于可用的RAM,所以不适于大型数据集。

虽然SpatiaLite是一种轻量型数据库,但是功能惊人。对于具体的应用而言,SpatiaLite可能是基于Python语言的空间地理项目最好的选择。

返回目录

Copyright © 2014-2017 OSGeo中国中心 吉ICP备05002032号

Powered by TorCMS