130 likes | 561 Views
SpatiaLite — “Flying” Light Spatial Database. 之 空间扩展查询语言与功能介绍 >> 1301110455 张玮 2013-10-24. SpatiaLite 概述. SQLite : 号称全世界最小的数据库 200K ? SpatiaLite : 基于 SQLite 的扩展,增加对空间数据的支持。 特点: 轻量级 跨 平台 开源性 遵守 OGC 标准(实现 OpenGIS 核心规范) 支持 R 树索引 与 Mbrcache. SpatiaLite 依赖的开源类库. GEOS :用于空间 分析
E N D
SpatiaLite— “Flying” Light Spatial Database 之 空间扩展查询语言与功能介绍 >> 1301110455 张玮 2013-10-24
SpatiaLite概述 • SQLite : 号称全世界最小的数据库 200K? • SpatiaLite: 基于SQLite的扩展,增加对空间数据的支持。 • 特点: • 轻量级 • 跨平台 • 开源性 • 遵守OGC标准(实现OpenGIS核心规范) • 支持R树索引与Mbrcache
SpatiaLite依赖的开源类库 • GEOS :用于空间分析 • LWGEOM : 用于空间分析(?) • PROJ.4 : 用于实现不同坐标参考系统间坐标的转换 • LIBICONV : 用于支持多种语言 • SQLite : 用于实现SQL数据查询引擎
SpatiaLite数据类型 • 简单类型:Point、Linestring、Polygon • 复杂类型:MultiPoint、MultiLinestring、MultiPolygon • 复合类型:GeomCollection • 其他类型:Curve、Surface等
SpatiaLite SQL函数概述 • 支持了 OpenGIS规定的绝大多数空间操作 • 大部分归功于GEOS • 例如:判断Geometry是否重叠Overlaps/ST_Overlaps • 实现了一些 OpenGIS未规定的操作 • 部分来自GEOS和PRJ.4 • 例如:其他几何数据格式(如GML、KML、SVG、GeoJSON等)的导入/导出操作、几何数据类型转换操作(如CastToMultiPoint) • 坐标转换(Coordinate transformations) 功能在增强 • 部分来自PRJ.4 • 例如:Transform( geom Geometry , newSRID Integer ) : Geometry
SpatiaLiteSQL函数分类 • 版本信息查询函数(Version Info functions) • 数学函数(math functions) • 长度/距离 单位转换函数(length/distance unit-conversion functions) • BLOB操作函数(utility functions for BLOB objects) • 几何对象非标准化操作函数(utility functions [non-standard] for geometric objects) • 利用WKT表述构建几何对象函数(functions for constructing a geometric object given its Well-known Text Representation) • 利用WKB表述构建几何对象函数(functions for constructing a geometric object given its Well-known Binary Representation)
SpatiaLiteSQL函数分类 • 获取几何对象WKT/WKB表述函数(functions for obtaining the Well-known Text / Well-known Binary Representation of a geometric object) • 其他几何数据格式导入、导出函数(functions supporting exotic geometric formats) • 表征几何图形自身属性的函数(functions on type Geometry) • 几何图形畸变纠正函数(functions attempting to repair malformed Geometries) • 几何图形压缩函数(Geometry-compression functions) • 几何类型转换函数(Geometry-type casting functions) • 空间维度转换函数(Space-dimensions casting functions)
SpatiaLiteSQL函数分类 • 表征点 属性的函数(functions on type Point) • 表征弧线 属性的函数(functions on type Curve [Linestring or Ring]) • 表征线 属性的函数(functions on type LineString) • 表征表面 属性的函数(functions on type Surface [Polygon or Ring]) • 表征多边形 属性的函数(functions on type Polygon) • 表征几何复合对象 属性的函数(functions on type GeomCollection) • 通过MBR近似判断空间关系的函数(functions that test approximative spatial relationships via MBRs) • 判断空间关系函数(functions that test spatial relationships)
SpatiaLiteSQL函数分类 • 判断距离关系函数(functions for distance relationships) • 空间操作函数(functions that implement spatial operators[GEOSstandardfeatures]|| [GEOS advanced features]||[GEOS trunk features]||[LWGEOM features]) • 坐标转换函数(functions for coordinate transformations) • 空间元数据与空间索引操作函数(functions for Spatial-MetaData and Spatial-Index handling) • FDO/OGR兼容性操作函数(functions implementing FDO/OGR compatibily) • 基于Mbrcache的查询函数(functions for MbrCache-based queries) • 基于R树的查询函数(functions for R*Tree-based queries (Geometry Callbacks))
空间操作符 • 支持OpenGIS规定的空间操作算子 • Intersection、Difference、GUnion、SymDifference、Buffer、ConvexHull、HausdorffDistance • 支持GEOS提供的高级/扩展空间操作算子 • OffestCurve、SharedPaths、ShortestLine等 • 支持LWGEOM提供的高级空间操作算子 • Split等 • 自带部分空间操作算子 • LinesCutAtNodes等
判断空间关系和距离关系 • 支持通过MBRs粗略判断两个空间实体的空间关系 • MbrDisjoint • MbrIntersects • 支持OpenGIS规范规定的空间关系判断操作 • Disjoint • Within • 支持距离关系判断 • Distance • PtDistWithin
参考资料 • SpatiaLite4.0.0SQLfunctionsreferencelist http://www.gaia-gis.it/gaia-sins/spatialite-sql-4.0.0.html • SpatiaLitehomepageDocumentation https://www.gaia-gis.it/fossil/libspatialite/wiki?name=misc-docs