论文部分内容阅读
随着空间数据的广泛应用,对空间数据库的研究得到了越来越多的关注.而用于与空间数据库交互的空间查询语言,以及空间查询处理和优化方法又是其中非常重要的研究问题.空间数据类型和空间操作的引入增加了空间查询语言以及空间查询处理和优化的复杂度,而空间数据海量和结构复杂,以及空间函数计算量大的特性更是给如何高效处理真实应用场景下的复杂空间查询带来了前所未有的困难和挑战.目前对这些问题的研究仍然是空间数据库领域内的热点和难点.该文在对现有研究成果进行分析和总结的基础上,设计并实现了SISP系统中的空间SQL引擎,并在下述几个方面取得了有意义的成果:1.采用符合国际标准的空间SQL语言作为空间数据库的访问接口.支持丰富的空间数据类型和空间操作,允许通过空间SQL语言对空间数据库进行各种访问,除了通常意义上的查询,还包括关系模式的定义和修改、空间索引的创建和删除、以及空间数据的插入和删除等等.2.实现了高效的空间选择和空间连接等空间查询操作.空间选择和空间连接是空间数据库中最为常见并且耗时的操作,该文在R树空间索引的基础上,采用高效的算法来实现这些空间查询操作,从而达到高效处理空间查询的目标.3.能够对复杂空间查询进行有效的优化处理.该文采用启发式规则和基于代价的优化相结合的方式,为包含多个空间选择和空间连接操作以及非空间操作的复杂空间查询提出较优的执行计划,从而进一步改善空间查询处理的性能.4.提出较为完善的空间SQL引擎结构和模块设计.合理的系统体系设计和模块划分,使得系统具有较高的灵活性和可扩展性,空间SQL引擎特别是空间查询优化部分不依赖于特定的底层数据库和空间数据库实现.而定义良好的模块使得系统各部分之间的耦合度保持较低,从而为将来对系统功能的扩展以及采用技术和算法的改进提供方便.在对现有空间查询语言、空间查询处理方法和空间查询优化策略进行分析总结的基础上,该文在空间信息共享平台SISP中实现了能够高效处理以空间SQL表达空间查询的空间SQL引擎.该文的研究工作得到了"十五"国家高技术研究发展计划(863计划)课题《面向网络海量空间信息的大型GIS》及二期滚动、《新一代GIS关键技术研究》的支持.