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 是

在 GeoServer 中可视化 Neo4j 空间数据

这些说明将指导您开始将一些来自 Neo4j 空间的测试图层添加到正在运行的 GeoServer 中

以“admin”身份登录,密码为“geoserver”,除非您在安装过程中更改了 security/users.properties 文件中的这些内容

Geoserver 1 logged in

添加数据源

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

Geoserver 2 add new store

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

Geoserver 3 path to neo4j db
  • 数据库位置的一种选择是使用 Neo4j 空间中的单元测试创建的数据库。本维基的其余部分假设您运行了 TestDynamicLayers 单元测试,该测试为瑞典马尔默市加载了 OSM 数据集,然后在此数据上创建了多个动态图层(或视图),我们可以在 GeoServer 中发布它们。

  • 如果您确实使用单元测试作为样本数据库,那么数据库的位置将在 Neo4j 源代码的 target/var/neo4j-db 目录中。

  • 将 URL 键入为数据库目录中 neostore-id 文件的完整路径

从数据源发布

现在我们将从数据源发布一个图层

单击“向量数据源”下的“Neo4j”,然后单击“添加新图层”。

Geoserver 5 choose new layer

选择“Neo4j 数据存储”。

Geoserver 6 choose new layer2

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

Geoserver 6 publish layer settings
  • 将 CRS 手动键入“已声明的 SRS”字段中。对于 OSM 数据(如 TestDynamicLayers 代码发布的),请使用 EPSG:4326

  • 单击“从数据计算”以获取本机边界框

  • 将所有这些字段复制并粘贴到纬度/经度边界框中(由于某种原因,“从本机边界计算”不起作用)

  • 保存图层

  • 对要发布的每个图层重复此操作

Geoserver 7 four layers published

预览图层

预览已发布的图层之一

转到图层预览页面,选择图层,然后选择“OpenLayers”或其他预览选项。

Geoserver 8 single layer preview

预览多个图层

  • 通过单击“图层组”来添加图层组

Geoserver 9 layer groups
  • 然后单击“添加新的图层组”。

Geoserver 10 layer group settings
  • 输入名称,并从您要添加的图层之一中复制边界。“生成边界”功能似乎不起作用。

  • 将 CRS 输入为您要添加的图层之一中使用的 CRS。

  • 然后单击“添加图层”,并选择要添加到该组的图层。对要添加的每个图层重复此操作。

  • 保存该组,然后转到图层预览,您将在预览选项中看到该组。

Geoserver 11 layer preview list
  • 选择“OpenLayers”以在可缩放的动态地图中预览。

Geoserver 12 layer group preview

控制图层样式

如果您想更改图层的样式,一种选择是返回图层列表,选择一个图层,单击显示选项卡并编辑样式信息。这也会影响 OpenLayers 中的预览。

Geoserver 13 layers preview with styles