Welcome 微信登录

首页 / 数据库 / MySQL / 图数据库实践系列 (二)--Neo4J空间数据存储

上讲回顾:介绍了Neo4j的概念和安装,同时包括介绍了Git和Maven两个工具。本文会介绍Neo4j Spatial项目以及空间数据(矢量)的存储。

1.Neo4j Spatial 简介

1.1Neo4j Spatial概念

Neo4j Spatial项目是图数据库Neo4j的一个插件,它通过将空间数据映射到图模型(graph model),它将对象和关系当作顶点和边存储在图模型中。因而使得Neo4j具有空间数据的导入,存储,查询等功能[8]。Neo4j Spatial支持的地理要素遵循OpenGIS的规范[9],包括点(point),线段(line-string),面(polygon),多点(multipoint),多线段(multi-linestring)等简单要素。Neo4j Spatial使用R树作为空间索引,主要是集成了Lucene 的索引库,支持的空间查询包括覆盖(cover),被覆盖(cover by),包含(contian),相交(intersect)等。一般而言,R树会将叶子结点(COUNT,LEVEL,<OIi,MBRi>)上几何要素分组并用它们的数据矩形来表示,相比PostGIS所使用的优化过GisT[13]索引要低效,会使Neo4j在范围查询上效率有所不及PostGIS,但它对适合图模型的数据(如网络数据)操作效率非常高[14]。综上所述,Neo4j在符合图数据模型的分析中如邻近搜索,路径分析等这些特定类型的应用有非常大的优势。Neo4J图数据库实践系列图数据库实践系列 (一)--Neo4J简介与安装 http://www.linuxidc.com/Linux/2013-08/88766.htm图数据库实践系列 (二)--Neo4J空间数据存储 http://www.linuxidc.com/Linux/2013-08/88767.htm图数据库实践系列 (三)--Neo4j Spatial的REST集成 http://www.linuxidc.com/Linux/2013-08/88768.htm

1.2 Neo4j Spatial特性

Neo4j Spatial的部分核心特性包括
  • 支持Esri Shapefile格式,OSM(OpenStreetMap)格式(只支持.osm格式)(补充:Open Street Map目前逐步适用PBF替代OSM)
  • 支持所有通用的几何要素
  • 在空间查询的时候支持拓扑操作
  • 允许任何图数据都实现空间操作功能
  • 能够将单一图层或者数据集拆分成多个子图层

2.Neo4j Spatial安装

2.1 EGit安装

EGit是Eclipse团队提供的Git插件,它基于JGit(Git的java实现版本)实现的,允许在Eclipse中实现Git的各种命令[15]。它的安装和其他插件一样,在eclipse中选择Help->Install New Software,加入Update site http://download.eclipse.org/egit/updates 会如图1所示:图1 安装EGit安装成功的话,需要重启Eclipse。File ->New -> Other,会看到Git的字样。

2.2 M2eclipse安装

M2eclipse是Maven的Eclipse插件,项目的目标是提供为Eclipse 提供一流的Maven支持,使它能够更方便地编辑POM文件,构建项目等[16]。同样可以通过Update Site 安装:http://download.eclipse.org/technology/m2e/releases。如图2所示:图2 安装M2Eclipse安装成功的话,需要重启Eclipse。File ->New -> Other,会看到Maven的字样。

2.2Neo4j Spatial安装

Neo4j Spatial源码可以在Github下载,我们通过以上安装的两个插件,来构建和安装我们的Neo4j Spatial项目。首先在eclipse中File中导入Git项目,File -> Import -> Git -> Project from Git.如果本地已经存在Git库,可以选择Local.我们远程下载Spatial,选择URI,如图3所示。图3 选择远程库输入Neo4j Spatial URI,然后Next,如图-4所示:图4 输入URIEGit会自动Fetch回所有的源码,我们可以按照自己需要选择特定版本,然后Next。如图5所示:图5 选择源码版本然后可以一直Next,直至选择导入的项目类型,选择Import as general projcet.如图6 所示:图6 导入项目再Next然后点finish 完成neo4j spatial 的导出。此时,还需要将该项目转化成Maven Project ,选中项目,右键:Configure ->Convert to Maven Project.最后我们得到了一个git管理下的maven项目。使用如下命令来安装Neo4j Spatial。 mvn clean install 在eclipse操作是 Run as ->5. Maven Build ->输入构建目标。 如图7所示:图7 构建Neo4j Spatial 项目M2eclipse会自动构建工程。如果安装失败的话,可以使用如下命令跳过单元测试 mvn clean install -DskipTests 最后eclipse的console会报出build success。
  • 1
  • 2
  • 下一页
图数据库实践系列 (一)--Neo4J简介与安装图数据库实践系列 (三)--Neo4j Spatial的REST集成相关资讯      Neo4j 
  • Neo4j安装&入门&一些优缺点  (今 20:36)
  • Neo4j图数据分页处理  (01月10日)
  • Neo4j发布开源图查询语言  (11/13/2015 08:09:25)
  • 什么选择图形数据库,为什么选择  (今 20:34)
  • Neo4j 2.2.8 发布下载,面向网络的  (12/30/2015 18:42:06)
  • ArangoDB、MongoDB和Neo4j性能比较  (06/19/2015 13:15:03)
本文评论 查看全部评论 (0)
表情: 姓名: 字数