论文部分内容阅读
随着地理科学和计算机科学的不断发展,地理信息系统(GIS)的应用领域也在不断扩展。空间数据的存储是GIS系统的组织基础,空间数据的存取效率在很大程度上影响着GIS系统的性能。目前GIS系统对空间数据的组织大多基于两种形式:一种是借助于空间数据库引擎将空间数据存入关系型数据库中,一种是将空间数据存入特定格式的文件中,利用文件系统对空间数据进行管理。但这两种存储方案都存在一定的不足:空间数据库引擎将数据存储在关系型数据库中,关系型数据库在应对海量空间数据时存取性能不足,而且存储结构不够灵活;文件格式的空间数据操作较繁琐,空间数据存储在文件中也导致无法对这些数据进行统一的管理。针对上述两种存储方案的不足,本文引入了Hypertable数据库来存储空间数据。Hypertable是基于Bigtable设计,以C++语言实现的非关系型分布式数据库,支持key-value数据模型。本文对基于Hypertable的空间数据库进行了详细的设计,将其应用到实际项目中,基于实验结果对其性能进行了评估,并与前述两种存储方案的性能进行了比较。本文的主要工作如下:1)常见空间数据存储方案的研究及性能测试。研究了Oracle Spatial空间数据库引擎和NetCDF文件存储格式,并在项目实现时对两种存储方案进行了性能测试。2)基于Hypertable空间数据库的设计。深入研究Hypertable数据库适合存储空间数据的特点以及在Hypertable上建立空间索引的方法。3)设计并实现海浪气象信息动态展示系统。对海浪动态展示系统进行详细的设计与实现,并且在该系统中加入了基于浪高级别的航线安全评估模块。