问题标签 [neo4j-spatial]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
296 浏览

neo4j - Neo4j 节点中的多个几何属性

首先,这是我的堆栈描述: 

  • GrapheneDB 上的 Neo4j 2.3.0 + Neo4j 空间插件 0.15
  • 我的 PC 上的 Ninja Framework 5.2.1 java 服务器
  • Neo4j-OGM 1.1.3 用于实体映射
  • 用于土工材料的 Geotools 14.0
  • 用于 REST 查询的 ApacheHttp

我有 Unit 节点,这些节点使用属性“位置”进行地理定位。位置是几何图形(POINT、CIRCLE 或 POLYGON)。

我在这个属性上创建了一个图层和一个索引。我可以添加一个地理定位单元。这运作良好。这是我以前的问题,我解决了它,因为它隐藏了真实的问题。

现在,我需要定义一些其他地理对象,例如“path”、“detectionZone”或“actionZone”。操作通常是“哪个其他单元在 actionZone 中?” 或“单元路径是否穿过检测区域?”

我怎样才能索引这些数据?每个属性一个索引?或者“wkt”属性的索引和 detectionZone、actionZone 和路径的新节点,具有 wkt 属性?

我需要为每个地理概念创建一个图层吗?还是一个独特的“geom”层将所有与空间相关的节点分组?

0 投票
1 回答
68 浏览

neo4j - neo4j:lucene ParseException:无法解析“bbox”

我正在使用带有空间扩展的neo4j支持的neography的ruby。发生以下错误:

org.apache.lucene.queryParser.ParseException: 无法解析 'bbox:[11.6,11.4,47.1,48.2]': 在第 1 行第 25 列遇到 \"\"]\"\"] \"\"。\n是期待以下之一:\n \"TO\" ...\n ...\n ...\n " (Neography::BadInputException)

这是查询:

如果我将查询放在 neo4j 的 web 前端,也会出现同样的错误:(Neo.DatabaseError.Statement.ExecutionFailure)

使用上面的错误消息:

org.apache.lucene.queryParser.ParseException:无法解析'bbox:[11.6,11.4,47.1,48.2]':在第 1 行第 25 列遇到“”]“”]“”。期待以下之一:“TO” …………

0 投票
1 回答
372 浏览

neo4j - neo4j-spatial:从空间索引中删除节点的官方方法是什么?

我的问题肯定是Neo4j Spatial - How To Delete A Node的副本,但尚未解决。

据我了解,从空间索引中删除节点当前未在 neo4j-spatial-plugin 中实现(未记录)。

现在我的问题是: “我自己该怎么做?” 我可以看到索引的所有节点,但是如何查询引用我要删除的节点的那个节点?此外:我可以从索引中删除该节点而不损害其他任何东西吗?

谢谢 :-)

0 投票
1 回答
161 浏览

neo4j - 如何在 Neo4j 中创建空间索引?

我的 neo4j 数据库中有一些现有数据。我想根据节点中存在的经度和纬度计算一个节点到另一个节点的距离。为此,我想在现有数据上创建空间索引,但我不知道如何创建该索引。

0 投票
1 回答
245 浏览

java - 使用 Spring Data neo4j 创建空间索引时出错

我正在研究 Neo4j Spring Data 项目,并希望在节点上执行一些空间相关操作。

实体类

控制器

用户服务实现

用户实体存储库

在保存用户时,它会给出异常,

例外

我是 neo4j 数据库的新手。我已经阅读了一些文章并通过 Neo4j 中的 REST API 创建了索引,但是使用 spring data neo4j 创建会产生这种类型的异常。我正在使用 neo4j-community-2.3.1-windows 版本和 spring-data-neo4j 3.4.0 RELEASE 版本。

请有任何建议。

0 投票
1 回答
60 浏览

neo4j - withinDistance 根本不准确

我在生产中使用 neo4j-spatial 0.13 和 Neo4J 2.1.8。

我有这两点:

使用半正弦公式,这两点之间的距离为:6.8 公里

我希望这个查询至少返回另一点:

但事实并非如此。

但是,当我传递一个稍微大一点的值时,比如11.0第三个参数,它就起作用了。

为什么?这是一个已知的严重错误吗?

我真的怀疑withinDistance使用的数学公式与haversine公式略有不同......
有人可以确认吗?

0 投票
1 回答
192 浏览

neo4j - neo4j 空间:密码不返回任何结果

我有一个包含经纬度信息的城市数据库,我正在尝试使空间查询正常工作。这是我尝试过的:

1.创建图层

2. 将 id 分配给 neo4j 的 Id 使用以下 Cypher Query 将城市节点的 id 属性设置为 Neo4j:

MATCH (n:City) SET n.id = id(n)

3.将节点添加到索引和层

//

//

我可以看到正在创建点头,但不确定这是否正确: 在此处输入图像描述

我正在尝试运行以下查询,但它一直没有返回任何行。 START n=node:geom('withinDistance:[27.97,77.58, 10000000]') RETURN n

在此处输入图像描述

有人可以指出我在这里可能缺少的东西。

编辑1: 当我发布以下消息时,我看到了

:POST /db/data/index/node {"name":"geom", "config":{"provider":"spatial", "geometry_type":"point","lat":"lat","lon":"lon"}}

我在日志中收到此错误:

因为我不是 Java 专家,所以我不想知道我是否错过了这里的任何包。

0 投票
2 回答
258 浏览

python - 在大型 Neo4J 数据库中查找特定长度的路径:内存性能

我有一个使用 Neo4J Spatial 插件运行的 Neo4J 实例。在其中,我有一个大约 3.5 k 节点的图,每个节点都有相同的标签,我们称之为 Basket。每个篮子都与同一城市的一个物理位置相关,这些篮子的密度变化很大。我计算了每个篮子与其 600m 内所有邻居之间的步行时间,并将这些存储为节点之间的非空间(有向)关系。因此,一些篮子似乎作为一个大集群的一部分存在,而其他篮子几乎独立存在,与其他篮子只有一种关系或几乎没有关系。

我的用户有一个问题:他们希望从一个地方开始,在另一个地方结束,一路访问任意数量的用户定义的篮子。我的程序旨在为用户提供一些路线选项(作为节点序列 - 我将在后面对实际的如何步行部分进行排序),计算第 n 个最短路径。

我已经编写了一个密码查询来执行此操作,如下所示。

NB - 节点59556497是我选择的两个节点,相距约 2 英里,在这种情况下,我决定沿途选择 4 到 5 个篮子。

但是,我一直遇到内存不足的异常,因此希望得到有关如何减少此问题的内存需求以使其在可接受的 1 到 6 秒的时间内在负担得起的服务器上执行的建议。

我的理解是 Neo4j 不会执行笛卡尔积来找到解决方案,而是“挑选每个节点并从每个节点中嗅探,直到找到合适大小的连接”(请原谅我的措辞!),所以我我对堆内存错误感到困惑。

我改进程序的想法是:

  1. 不知何故,将查询的路径查找部分限制在边界框内的节点上,由开始和结束节点的位置确定(即,在每个方向上增加 500 m,然后将查询限制在这些节点上)。但是,我找不到任何有关如何执行此操作的文档 - 是否可以不必为每个查询创建另一个空间层?

  2. 以不会产生内存错误的方式重新编写查询 - 这很容易吗?

  3. 完全停止使用 Neo4J 并编写一个算法以使用替代语言手动完成。如果是这样,你会推荐什么语言?C?C++/C#?或者我可以坚持使用 Python / Ruby / Java / Go 吗?(或者,我什至认为我可以在 PHP 中非常有效地做到这一点,但我不确定那是否是一个疯狂的时刻)。

任何关于如何解决这个问题的帮助和建议都非常感谢!

0 投票
1 回答
763 浏览

neo4j - 在地图中可视化 Neo4j-Spatial 数据库

我已经能够将一些 shapefile 导入 Neo4j 2.3.1。现在如何在地图上查看这些数据?

我已经尝试过 GeoServer 和 uDig 上的 Wiki 说明,但它们都已过时,我无法让它工作。

有没有最近的教程或其他工具可以解决这个问题?

0 投票
2 回答
1894 浏览

neo4j - 密码中的 Neo4j 3.0.0 + SPATIAL

我已经Neo4j Spatial (neo4j-spatial-0.16-neo4j-3.0.0-server-plugin.jar)从源代码编译了最新的并将其放入我的Neo4j 3.0.0插件文件夹中。

该扩展名列在浏览器中,我可以POST调用空间功能。

但是,我相信我也应该能够使用漂亮的新CALL功能Neo4j 3.0.0Cypher拨打电话,如下所示:

正如 Stefan 在此处的更新所暗示的:

如何仅使用密码在 Neo4j 中创建空间索引?

并显示在这里:

http://jexp.github.io/graphgist/idx?dropbox-14493611%2Fcypher_spatial.adoc

但是,我收到“没有spatial.addPointLayer为此数据库实例注册的名称的过程”。错误,并且在 jexp 示例中也可以看到相同的调用失败......我不确定我是否太早参加聚会或错过了什么?