我正在寻找一个使用 php 中的 neo4j 空间特征的非常基本的示例,最好使用这个库neo4jphp
我想存储带有纬度和经度的场地列表
我如何存储这些信息?lat 和 long 可以与其他场地信息一起存储在一个节点中吗?
你如何在某个给定点周围找到场地?
谢谢
编辑:空间特征我的意思是neo4j的空间插件
我正在寻找一个使用 php 中的 neo4j 空间特征的非常基本的示例,最好使用这个库neo4jphp
我想存储带有纬度和经度的场地列表
我如何存储这些信息?lat 和 long 可以与其他场地信息一起存储在一个节点中吗?
你如何在某个给定点周围找到场地?
谢谢
编辑:空间特征我的意思是neo4j的空间插件
我建议为每个场地创建一个节点,然后为这种类型的节点创建属性纬度和经度。然后,您还必须索引这些属性。
为了解决给定点周围的场地问题,也许创建一些国家的超级节点会有所帮助——例如欧洲、中欧、捷克共和国、布拉格。但这需要此类国家名称的数据库。我宁愿创建虚拟国家部分:将世界地球想象为 2d 地图。而不是在其上制作一个网格以获得 NxM 正方形的矩阵 - 最好通过使用一些全局模式来划分它,例如纬度和经度的每个 +1 是一个虚拟国家部分。
在你得到这个虚拟国家部分之后,而不是简单地将你的所有场地节点连接到它的超级节点,这些节点在这个虚拟国家部分中具有属性 lat's+long's。比,在搜索您的半径内的所有节点时,您必须首先找到国家部分(或跨境时的更多部分),然后手动检查该部分内的所有节点是否适合您的半径。
至少您不需要检查所有节点,而只需要检查一个子集。我不知道这种可以处理半径问题的索引解决方案,只有手动检查是唯一的方法。
你需要一个使用neo4jphp的例子吗?如果是这样,我会找时间做一个。
编辑:我发现一些解决方案已经存在,比如https://github.com/neo4j/spatial所以我的回答可能不合适,你应该等待领域专家的回答。