GeoServer 中的 Neo4j 空间
Neo4j Spatial 包含对 GeoTools 数据存储的内置支持。这意味着它原则上可以直接在 GeoServer 中使用。本文档将讨论如何在 GeoServer 中启动和运行它。如果您对桌面 GIS 感兴趣,请查看 uDig 中的 Neo4j 空间。
在 GeoServer 中安装 Neo4j-Spatial
安装 GeoServer
首先,您需要从 http://geoserver.org/display/GEOS/Download 下载并安装 GeoServer。有关详细的安装说明,请参阅 GeoServer 官方文档,网址为 http://docs.geoserver.org/stable/en/user/installation/index.html 这里,我们提供了非常基本的说明,以及在使用 Neo4j 空间安装 GeoServer 时要考虑的因素
-
选择适合您将要使用的 Neo4j 空间版本的正确版本
-
Neo4j-Spatial 主干目前被编码为与 GeoTools 2.7 一起使用,这意味着我们需要将其加载到 GeoServer 2.1 或更高版本中。我们测试的版本是 geoserver-2.1-beta1
-
如果您想在 GeoServer 2.0.2 的稳定版本上部署,那么您可以使用旧的 Neo4j-Spatial,或者修改代码以与 GeoTools 2.6 一起使用(差异很小)。与 GeoServer 2.0 系列一起使用的 Neo4j Spatial 的最后一个版本来自 2010 年 9 月底。
-
如果您已经有一个正在运行的 servlet 容器,您可以下载 WAR 版本,否则下载 BIN 版本(或者在 Windows 上下载 Windows 安装程序)。使用 geoserver 中包含的说明进行安装和运行。
-
安装完成后,在 http://localhost:8080/geoserver/web/ (或其他位置,如果您进行了不同的配置)上打开一个 Web 浏览器,以测试 GeoServer 是否正常运行。
添加 Neo4j 空间
通过将以下 JAR 文件复制到 GeoServer 目录 webapps/geoserver/WEB-INF/lib 中来安装 Neo4j-Spatial
-
json-simple-1.1.jar
-
geronimo-jta_1.1_spec-1.1.1.jar
-
neo4j-kernel-1.2-1.2.M03.jar
-
neo4j-index-1.2-1.2.M03.jar
-
neo4j-spatial.jar
获取最后一个 jar 可以通过使用 maven 从源代码编译来实现,也可以简单地浏览到 maven 存储库网站 http://m2.neo4j.org/org/neo4j/neo4j-spatial/
在撰写本文时,最新的 JAR 是
-
适用于 GeoTools 2.7 和 GeoServer 2.1.x
-
http://m2.neo4j.org/org/neo4j/neo4j-spatial/0.3-SNAPSHOT/neo4j-spatial-0.3-20101021.124131-1.jar
-
适用于 GeoTools 2.6 和 GeoServer 2.0.x
-
http://m2.neo4j.org/org/neo4j/neo4j-spatial/0.2-SNAPSHOT/neo4j-spatial-0.2-20100929.153937-103.jar 然后重新启动 GeoServer。
在 GeoServer 中可视化 Neo4j 空间数据
这些说明将指导您开始将一些来自 Neo4j 空间的测试图层添加到正在运行的 GeoServer 中
以“admin”身份登录,密码为“geoserver”,除非您在安装过程中更改了 security/users.properties 文件中的这些内容

添加数据源
转到“存储”,然后单击“添加新的存储”。

为数据源命名,并添加您图层所在的 Neo4j 数据库的路径

-
数据库位置的一种选择是使用 Neo4j 空间中的单元测试创建的数据库。本维基的其余部分假设您运行了 TestDynamicLayers 单元测试,该测试为瑞典马尔默市加载了 OSM 数据集,然后在此数据上创建了多个动态图层(或视图),我们可以在 GeoServer 中发布它们。
-
如果您确实使用单元测试作为样本数据库,那么数据库的位置将在 Neo4j 源代码的 target/var/neo4j-db 目录中。
-
将 URL 键入为数据库目录中 neostore-id 文件的完整路径
从数据源发布
现在我们将从数据源发布一个图层
单击“向量数据源”下的“Neo4j”,然后单击“添加新图层”。

选择“Neo4j 数据存储”。

选择一个图层,然后单击“发布”。GeoServer 似乎在检测 CRS 和边界方面遇到了问题,因此我们必须手动输入这些信息

-
将 CRS 手动键入“已声明的 SRS”字段中。对于 OSM 数据(如 TestDynamicLayers 代码发布的),请使用 EPSG:4326
-
单击“从数据计算”以获取本机边界框
-
将所有这些字段复制并粘贴到纬度/经度边界框中(由于某种原因,“从本机边界计算”不起作用)
-
保存图层
-
对要发布的每个图层重复此操作
