发明名称 以GeoJSON格式半结构化方式存储地理数据的MongoDB集群的地理数据读写方法
摘要 本发明针对MongoDB集群设计了大规模地理数据存储方案,在MongoDB集群中以GeoJSON格式半结构化方式组织地理数据,使分布式高速MongoDB集群高效存储大规模地理数据成为可能。针对该地理数据存储方案,本发明提出了地理数据的读写方法以及可实现该地理数据读写方法的驱动程序,以OGR类库为地理数据读写驱动的设计架构,以GeoJSON格式半结构化的读写MongoDB集群地理数据源。本发明采用OGR函数库,在地理数据与MongoDB集群之间通过内存中构建的OGR对象建立桥梁,使针对MongoDB集群的地理数据高效读写成为可能,使得高性能地理分析算法可以运行在MongoDB数据库集群之上。
申请公布号 CN104021210B 申请公布日期 2017.02.15
申请号 CN201410276517.3 申请日期 2014.06.20
申请人 南京大学 发明人 李满春;张帅;陈振杰;徐经纬;秦逸
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 南京同泽专利事务所(特殊普通合伙) 32245 代理人 蔡晶晶
主权项 以GeoJSON格式半结构化方式存储地理数据的MongoDB集群中地理数据的读取方法,所述MongoDB集群中包含有若干与地理数据源对应的空间数据库,每个空间数据库包含有若干个与地理图层一一对应的地理要素集合,每个地理要素集合中包含有一个空间元数据文档、若干与地理要素一一对应的GeoJSON文档,所述地理要素以GeoJSON文档的形式进行存储,所述空间元数据文档存储有与相应地理图层相关的空间元数据信息,其特征在于所述地理数据的读取方法步骤如下:第1步、根据给定的连接参数建立与MongoDB集群的相应空间数据库对应地理要素集合的数据连接;第2步、查找所述MongoDB集群对应地理要素集合中的空间元数据文档,获取相应的空间元数据信息;第3步、在计算机内存中构建以下OGR地理对象:地理数据源对象、地理图层对象、地理要素对象、空间参考对象,所述OGR地理对象是OGR类库中对应类的实例,所述地理数据源对象包含有与对应地理要素集合数目相等的地理图层对象,每个地理图层对象包含有若干地理要素对象;从所述第2步中获取的空间元数据信息中抽取空间参考信息赋值给空间参考对象,完成对空间参考对象的实例化;第4步、根据查询条件利用JSON解析函数库对相应空间数据库对应地理要素集合中的GeoJSON文档进行结构解析,逐个提取GeoJSON文档中存储的地理要素信息,赋值给地理要素对象,完成地理要素对象的实例化;第5步、将所有实例化的地理要素对象更新至相应的地理图层对象中,再将地理图层对象更新至地理数据源对象中,至此,完成将MongoDB集群中地理数据读取至内存。
地址 210046 江苏省南京市栖霞区仙林大道163号