论文部分内容阅读
本文在对象—关系数据库和空间数据库的研究成果的基础上,设计并实现了基于开放源码数据库系统PostgreSQL的空间数据库-PostSISP中的空间数据模型和空间索引,完成了下述三方面的工作:
1.在空间数据模型方面参照OGC规范,用对象—关系方式设计并实现了能够处理矢量数据和栅格数据的空间数据类型,支持点、线、面、多点、多线、多面、集合和圆等几何类型以及栅格类型,同时提供针对空间数据类型的丰富的空间函数。参照EPSG和OGC规范,实现了空间投影参照系,提供了针对单个空间对象和一组空间对象的投影和变换操作,支持1785种参照系。并且允许用户对其进行扩充和自定义。设计并实现了空间数据的高层组织:层和数据集。
2.在空间索引方面基于GiST存取方法,实现R树空间索引。支持包含查询、范围查询、距离查询等13种类型的空间查询,除精确查询类型外,还支持外包比较的快速近似查询,更好地适应多种空间应用。针对最近邻居查询的特殊性(与范围查询等相比)以及现有GiST存取方法的不足,设计并实现了一种更为灵活和可扩展的存取方法GiST2。除了支持常用的扫描方式外,GiST2还能够支持定制的扫描方式,从而使得R树索引能够支持K最近邻居查询。设计并实现了针对空间数据类型的K最近对查询。包含了对查询处理中的查询树、计划树和执行引擎的扩展,并为以后的一般化的K最近对查询和空间连接的实现打下了基础。
3.在系统测试方面包括三方面的测试:功能完整性测试覆盖了空间数据类型、空间函数、空间操作符、空间索引。确保系统满足预期的功能;压力测试确保系统在多用户、长时间(7x24)高负荷条件下仍然能够比较流畅的运行;性能测试是对某些典型的空间功能进行测试,并获得测试结果,以便与其它空间数据库进行比较。