问题标签 [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 投票
1 回答
162 浏览

java - 在 Neo4J 中将新几何图形添加到 osm 文件

嗨,我正在尝试将一些餐厅添加到 importet .osm 文件中。所以我想将餐厅保存为新的点几何图形,并在正确的点将它们与现有的 osm 图连接起来。稍后我想读出所有餐厅并找到离任何给定点最近的餐厅。那么我应该在新图层中添加餐厅吗?有没有一种简单的方法可以将餐厅与正确地理点的图表连接起来?

感谢您的回答

问候

0 投票
2 回答
2262 浏览

neo4j - Neo4j 空间密码查询 withinDistance 不返回现有节点

我正在使用 Neo4j 2.0 的空间服务器插件,并按照http://neo4j.github.io/spatial/上的指南添加了一个名为 Stockholm 的节点。

我可以通过 REST 检索节点:

但不是下面的密码查询。这是为什么?我在这里做任何明显的错误吗?

0 投票
2 回答
720 浏览

neo4j - Neo4j 空间内距离只返回一个节点

我正在使用 Neo4j 2.0 的空间服务器插件,并设法将用户和城市及其地理属性 lat/lon 添加到空间索引“geom”。不幸的是,我无法通过 Neo4jClient 获取正确的语法:(我想要的基本上是:

  1. 将密码查询转换START n=node:geom('withinDistance:[60.0,15.0, 100.0]') RETURN n;为 Neo4jClient 语法,这样我就可以从指定点获取给定距离内的所有用户。

  2. 如果可以将节点及其各自的距离返回到该点,则更有帮助?

  3. 有没有办法在不指定距离的情况下从给定点获取最近的用户或城市?


更新

经过反复试验,我解决了问题 1 以及通过 Neo4jClient 与 Neo4j 空间通信的问题。下面 Neo4jClient 查询返回 1 个用户,但只返回最近的一个,即使数据库包含 2 个应该返回的用户。我还通过网络界面尝试了普通的密码,但没有任何运气。我是否完全误解了 withinDistance 应该做什么?:) 真的没有人可以对上面的问题 2 和 3 提供一点见解吗?将不胜感激!

0 投票
1 回答
136 浏览

java - Neo4j-spatial 导入 OSM 发现不匹配的顶点

这是我导入osmdata的方法:

当我导入 osmdata 时,我得到了这个:

我认为这是因为我导入的osmdata只是一个提取物,有些街道无法整体导入。我从http://metro.teczno.com/#san-francisco(21 MB bzip'ed XML OSM 数据)导入了 san-francisco.osm。所以我的问题是,我的代码或我正在导入的数据是否有问题,或者这是否正常?

问候

0 投票
2 回答
473 浏览

neo4j - 如何在春季数据neo4j空间中表示地理空间圆形或多边形区域?

我需要在地图中表示一个地方的圆形或多边形区域。任何地方都不是地图中的一个 lon lan piont。它是一个多边形区域。目前我拥有的是具有单点 lon lat 表示的单个单索引 wkt 字段。neo4j中如何表示圆形或多边形区域信息?

0 投票
0 回答
227 浏览

java - neo4j-spatial - 无法通过 neo4j REST API 创建简单的点层

我正在关注neo4j 空间文档以及 github 上的测试文件,以设置 neo4j 空间点层结构。我在 Windows 7 上使用 neo4j 2.0.2,克隆了空间 2.0.2。存储库并将空间插件安装到我的 \plugins 文件夹中(该插件也列在 neo4j 浏览器的插件部分下)。

我正在尝试通过执行以下代码(使用 Jersey)来设置点索引:

根据文档的要求,我在 POST 标头中包含了“accept=appliaction/json”、“Content-type=application/json”和 UTF-8 作为编码。我从 github 上的测试文件中复制了 POST 请求的正文。但是我收到状态 500 错误:

com.sun.jersey.api.client.ClientHandlerException:java.net.ConnectException:连接被拒绝:连接 com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155) com.sun.jersey.api。 client.Client.handle(Client.java:652) com.sun.jersey.api.client.WebResource.handle(WebResource.java:682) com.sun.jersey.api.client.WebResource.access$200(WebResource.java :74) com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:560) com.youtube.rest.status.V1_status.createSpatialIndex(V1_status.java:67) com.youtube.rest.status .V1_status.returnTitle(V1_status.java:24) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl。调用(未知来源) java.lang.reflect.Method.invoke(未知来源) com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) com.sun.jersey.server.impl.model .method.dispatch.Abs​​tractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185) com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) com.sun.jersey.server .impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) com.sun.jersey.server.impl .uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) com. sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) com.sun.jersey.spi。 container.servlet.WebComponent.service(WebComponent.java:409) com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540) com.sun.jersey.spi.container.servlet.ServletContainer。服务(ServletContainer.java:715) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 根本原因

java.net.ConnectException:连接被拒绝:连接 java.net.DualStackPlainSocketImpl.connect0(Native Method) java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) java.net.AbstractPlainSocketImpl.connectToAddress (未知来源) java.net.AbstractPlainSocketImpl.connect(未知来源) java.net.PlainSocketImpl.connect(未知来源) java.net.SocksSocketImpl.connect(未知来源) java.net.Socket.connect(未知来源) java。 net.Socket.connect(未知来源) sun.net.NetworkClient.doConnect(未知来源) sun.net.www.http.HttpClient.openServer(未知来源) sun.net.www.http.HttpClient.openServer(未知来源) sun.net.www.http.HttpClient.(未知来源) sun.net.www.http.HttpClient.New(未知来源) sun.net.www.http.HttpClient.New(未知来源) sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(未知来源) sun.net.www.protocol.http.HttpURLConnection.plainConnect(未知来源) sun.net.www.protocol .http.HttpURLConnection.connect(未知来源) sun.net.www.protocol.http.HttpURLConnection.getOutputStream(未知来源) com.sun.jersey.client.urlconnection.URLConnectionClientHandler$1$1.getOutputStream(URLConnectionClientHandler.java:238) com .sun.jersey.api.client.CommittingOutputStream.commitStream(CommittingOutputStream.java:117) com.sun.jersey.api.client.CommittingOutputStream.write(CommittingOutputStream.java:89) sun.nio.cs.StreamEncoder.writeBytes(未知来源)sun.nio.cs.StreamEncoder.implFlushBuffer(未知来源)sun.nio.cs.StreamEncoder.implFlush(未知来源)sun.nio.cs。StreamEncoder.flush(Unknown Source) java.io.OutputStreamWriter.flush(Unknown Source) java.io.BufferedWriter.flush(Unknown Source) com.sun.jersey.core.util.ReaderWriter.writeToAsString(ReaderWriter.java:191) com .sun.jersey.core.provider.AbstractMessageReaderWriterProvider.writeToAsString(AbstractMessageReaderWriterProvider.java:128) com.sun.jersey.core.impl.provider.entity.StringProvider.writeTo(StringProvider.java:88) com.sun.jersey.core .impl.provider.entity.StringProvider.writeTo(StringProvider.java:58) com.sun.jersey.api.client.RequestWriter.writeRequestEntity(RequestWriter.java:300) com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke (URLConnectionClientHandler.java:217) com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153) com.sun。jersey.api.client.Client.handle(Client.java:652) com.sun.jersey.api.client.WebResource.handle(WebResource.java:682) com.sun.jersey.api.client.WebResource.access$200 (WebResource.java:74) com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:560) com.youtube.rest.status.V1_status.createSpatialIndex(V1_status.java:67) com.youtube .rest.status.V1_status.returnTitle(V1_status.java:24) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java。 lang.reflect.Method.invoke(Unknown Source) com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) com.sun.jersey.server.impl.model.method.dispatch。AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185) com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) com.sun.jersey.server.impl.uri。 rules.HttpMethodRule.accept(HttpMethodRule.java:302) com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) com.sun.jersey.server.impl.uri.rules。 RightHandPathRule.accept(RightHandPathRule.java:147) com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest( WebApplicationImpl.java:1542) com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) com.sun.jersey。server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) com.sun.jersey.spi.container.servlet。 WebComponent.service(WebComponent.java:409) com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540) com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer. java:715) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)服务(WebComponent.java:409) com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540) com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:第715章服务(WebComponent.java:409) com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540) com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:第715章

我认为这可能是我的 tomcat 服务器的问题。但是 Web 服务的其他 URL 正在按预期工作。任何帮助是极大的赞赏。

0 投票
2 回答
807 浏览

neo4j - Neo4j 空间 - 执行 Cypher 查询时失败

我正在运行 Neo4j 2.0.1。连同 2.0.1 的空间插件。连同 2.0.1 的 JDBC 驱动程序。我创建了一个简单的点图层和一个索引来进行空间查询。如果我在浏览器中输入以下查询,则会返回相应的节点:

我在我的 servlet 中编写了一个方法来发送这个查询:

然后,我尝试向服务器发送请求:

我发送的准备好的声明是:

当我在 Tomcat 7.0.53 上执行此操作时,出现以下异常:

地理空间查询期间失败:0 执行查询时出错 START n=node:geom('withinDistance:[{1},{2}, {3}]') RETURN n with params {3=1.0E8, 2=60.5, 1= 14.9} java.lang.RuntimeException:执行密码语句时出错 [{code=Neo.DatabaseError.Statement.ExecutionFailure, message=null, stackTrace=java.lang.NullPointerException at org.neo4j.gis.spatial.indexprovider.LayerNodeIndex .query(LayerNodeIndex.java:249) at org.neo4j.gis.spatial.indexprovider.LayerNodeIndex.query(LayerNodeIndex.java:293) at org.neo4j.cypher.internal.spi.v2_0.TransactionBoundExecutionContext$NodeOperations.indexQuery(TransactionBoundExecutionContext .scala:166) 在 org.neo4j.cypher.internal.compiler.v2_0.spi.DelegatingOperations.indexQuery(DelegatingQueryContext.scala:113) 在 org.neo4j.cypher.internal.compiler.v2_0.spi。ExceptionTranslatingQueryContext$ExceptionTranslatingOperations.org$neo4j$cypher$internal$compiler$v2_0$spi$ExceptionTranslatingQueryContext$ExceptionTranslatingOperations$$super$indexQuery(ExceptionTranslatingQueryContext.scala:142) 在 org.neo4j.cypher.internal.compiler.v2_0.spi.ExceptionTranslatingQueryContext$ ExceptionTranslatingOperations$$anonfun$indexQuery$1.apply(ExceptionTranslatingQueryContext.scala:142) at org.neo4j.cypher.internal.compiler.v2_0.spi.ExceptionTranslatingQueryContext$ExceptionTranslatingOperations$$anonfun$indexQuery$1.apply(ExceptionTranslatingQueryContext.scala:142) at org.neo4j.cypher.internal.compiler.v2_0.spi.ExceptionTranslatingQueryContext.org$neo4j$cypher$internal$compiler$v2_0$spi$ExceptionTranslatingQueryContext$$translateException(ExceptionTranslatingQueryContext.scala:149) 在 org.neo4j.cypher。internal.compiler.v2_0.spi.ExceptionTranslatingQueryContext$ExceptionTranslatingOperations.indexQuery(ExceptionTranslatingQueryContext.scala:142) 在 org.neo4j.cypher.internal.compiler.v2_0.spi.DelegatingOperations.indexQuery(DelegatingQueryContext.scala:113) 在 org.neo4j。 cypher.internal.compiler.v2_0.executionplan.builders.EntityProducerFactory$$anonfun$2$$anonfun$applyOrElse$2.apply(EntityProducerFactory.scala:66) at org.neo4j.cypher.internal.compiler.v2_0.executionplan.builders.EntityProducerFactory $$anonfun$2$$anonfun$applyOrElse$2.apply(EntityProducerFactory.scala:64) at org.neo4j.cypher.internal.compiler.v2_0.executionplan.builders.EntityProducerFactory$$anon$1.apply(EntityProducerFactory.scala:35)在 org.neo4j.cypher.internal.compiler.v2_0.executionplan.builders.EntityProducerFactory$$anon$1.apply(EntityProducerFactory.scala:34) 在 org.neo4j.cypher.internal.compiler.v2_0.pipes 的 org.neo4j.cypher.internal.compiler.v2_0.pipes.StartPipe$$anonfun$internalCreateResults$1.apply(StartPipe.scala:34)。 StartPipe$$anonfun$internalCreateResults$1.apply(StartPipe.scala:33) at scala.collection.Iterator$$anon$13.hasNext(Iterator.scala:371) at org.neo4j.cypher.internal.compiler.v2_0.ClosingIterator$ $anonfun$hasNext$1.apply$mcZ$sp(ClosingIterator.scala:38) at org.neo4j.cypher.internal.compiler.v2_0.ClosingIterator$$anonfun$hasNext$1.apply(ClosingIterator.scala:37) at org. neo4j.cypher.internal.compiler.v2_0.ClosingIterator$$anonfun$hasNext$1.apply(ClosingIterator.scala:37) at org.neo4j.cypher.internal.compiler.v2_0.ClosingIterator.failIfThrows(ClosingIterator.scala:91) at org.neo4j.cypher.internal.compiler.v2_0.ClosingIterator.hasNext(ClosingIterator.scala:37) at org.neo4j.cypher.internal.compiler.v2_0.PipeExecutionResult.hasNext(PipeExecutionResult.scala:166) at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:327) at scala.collection .convert.Wrappers$IteratorWrapper.hasNext(Wrappers.scala:29) at org.neo4j.cypher.internal.compiler.v2_0.PipeExecutionResult$$anon$1.hasNext(PipeExecutionResult.scala:74) at org.neo4j.server.rest .transactional.ExecutionResultSerializer.writeRows(ExecutionResultSerializer.java:291) 在 org.neo4j.server.rest.transactional.ExecutionResultSerializer.statementResult(ExecutionResultSerializer.java:103) 在 org.neo4j.server.rest.transactional.TransactionHandle.executeStatements(TransactionHandle .java:251) 在 org.neo4j.server.rest.transactional.TransactionHandle.commit(TransactionHandle.java:189) 在 org.neo4j.server.rest。transactional.TransactionHandle.commit(TransactionHandle.java:109) at org.neo4j.server.rest.web.TransactionalService$2.write(TransactionalService.java:198) at com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider .writeTo(StreamingOutputProvider.java:71) 在 com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:57) 在 com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse .java:306) 在 com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1437) 在 com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349) ) 在 com.sun.jersey.spi.container.servlet.WebComponent 的 com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)。com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537) 上的服务(WebComponent.java:416) com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer. java:699) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:848) 在 org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:698) 在 org.eclipse.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1506) 在 org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112) 在 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java :1477) 在 org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:211) 在 org.eclipse.jetty 的 org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)。服务器处理程序。org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:432) 的 org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:175) 的 ContextHandler.doHandle(ContextHandler.java:1096)在 org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1030) 在 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136) 在 org.eclipse.jetty.server .handler.HandlerList.handle(HandlerList.java:52) 在 org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) 在 org.eclipse.jetty.server.Server.handle(Server.java :445)在 org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:229) 在 org.eclipse.jetty.io 的 org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:268)。 AbstractConnection$ReadCallback.run(AbstractConnection.java:358)在 org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601) 在 org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532) 在 java.lang。 Thread.run(Thread.java:722) }]

当我通过手动向文档中指定的 URL 发送 http 请求来执行查询时,我没有收到异常。我不知道为什么会发生此异常。谁能指出我正确的方向?

编辑:似乎索引查询无法参数化。但是,如果我按照 Stefan Armbruster 的建议进行操作,则会发生新的异常(也许这是 0.12 空间实现中的另一个问题)。

地理空间查询期间失败:0 执行查询时出错 START n=node:geom({1}) RETURN n with params {1='withinDistance:[14.9,60.5,1.0E8]'} java.lang.RuntimeException: Error execution cypher statement (s) [{code=Neo.DatabaseError.Statement.ExecutionFailure, message=only within, withinDistance 和 bbox 被实现。, stackTrace=java.lang.UnsupportedOperationException: only within, withinDistance 和 bbox 被实现。在 org.neo4j.gis.spatial.indexprovider.LayerNodeIndex.query(LayerNodeIndex.java:281) 在 org.neo4j.gis.spatial.indexprovider.LayerNodeIndex.query(LayerNodeIndex.java:293) 在 org.neo4j.cypher.internal .spi.v2_0.TransactionBoundExecutionContext$NodeOperations.indexQuery(TransactionBoundExecutionContext.scala:166) 在 org.neo4j.cypher.internal.compiler.v2_0.spi.DelegatingOperations.indexQuery(DelegatingQueryContext.scala:

这个问题似乎与2013 年年中的这个问题相似。

0 投票
1 回答
65 浏览

neo4j-spatial - Neo4j空间代码中的类转换异常

以下代码片段:

失败并出现错误:

我试图从这里获取示例代码来工作,我在下面包含了相关的导入语句,以防我以某种方式导入了错误版本的函数。

有人可以给我建议吗?

此外,它的 2.0.1 用于 neo4j 和 v13 用于空间。

0 投票
2 回答
91 浏览

java - Neo4j Spatial 导致生命周期异常

所以我试图了解 Neo4j Spatial。我写了以下代码:

这似乎在我第一次运行它时起作用,但是如果我第二次尝试运行它,我会得到:

所以我知道这通常是某种版本控制,所以下面是我从有效的 POM 中拥有的(以及许多其他的)maven 依赖项。

PS:我也很感激理解为什么 SO 没有通过漂亮的突出显示来解析 Java 代码。

0 投票
2 回答
3836 浏览

maven - 带有“负查找偏移”的 mvn clean install 错误

mvn clean install 导致构建错误这是我得到的错误..