1

我在 PostGIS 中有一个道路网络,我已经对其进行了多次处理。现在,每条道路都有自定义成本,不仅基于其长度。这些只是折线,我目前没有带有 netwotk 节点的层。我想使用neo4j计算该网络上的最短路径。我想有两种方法:

  • 使用 neo4j-spatial,我可以导入从我的 PostGIS 数据库中获取的 shapefile。但是,我无法控制导入过程。我刚刚尝试过,例如我找不到节点,因为我不知道它们的 ID(由 shapefile 导入器创建的节点)

  • 在不使用 neo4j-spatial 的情况下,我可以编写一个自定义转换器来创建网络节点及其关系,并将其导入 neo4j。但是,我认为这种方式会使我失去在 neo4j 中运行地理查询的能力(例如,用户选择从 XY 点开始,找到最近的网络节点)

你有什么建议吗?

谢谢

4

1 回答 1

1

使用 Neo4j-Spatial,您可以创建一个 EditableLayer 并向其添加线条,从而使用可用的空间操作,参见例如https://github.com/neo4j/spatial/blob/master/src/test/java/org/neo4j /gis/spatial/LayersTest.java#L121是一个带有多边形的示例,并对其进行搜索。

于 2013-04-03T12:32:47.003 回答