Neo4j 空间过程

Neo4j Spatial 也可以打包为 ZIP 文件,可以将其解压缩到 Neo4j 服务器$NEO4J_HOME/plugins 目录中。重新启动服务器后,您应该能够从 Cypher 查询语言中使用以下 **过程调用**。

表 1. 可用的空间过程
名称 描述 签名

"spatial.addLayer"

"添加一个具有给定类型(参见 spatial.getAllLayerTypes)和配置的新层,返回层根节点"

"spatial.addLayer(name :: STRING?, type :: STRING?, encoderConfig :: STRING?) :: (node :: NODE?)"

"spatial.addLayerWithEncoder"

"添加一个具有给定编码器类和配置的新层,返回层根节点"

"spatial.addLayerWithEncoder(name :: STRING?, encoder :: STRING?, encoderConfig :: STRING?) :: (node :: NODE?)"

"spatial.addNode"

"将给定节点添加到层中,返回几何节点"

"spatial.addNode(layerName :: STRING?, node :: NODE?) :: (node :: NODE?)"

"spatial.addNodes"

"将给定节点列表添加到层中,返回计数"

"spatial.addNodes(layerName :: STRING?, nodes :: LIST? OF NODE?) :: (count :: INTEGER?)"

"spatial.addPointLayer"

"添加一个新的简单点层,返回层根节点"

"spatial.addPointLayer(name :: STRING?) :: (node :: NODE?)"

"spatial.addPointLayerWithConfig"

"添加一个具有给定配置的新简单点层,返回层根节点"

"spatial.addPointLayerWithConfig(name :: STRING?, encoderConfig :: STRING?) :: (node :: NODE?)"

"spatial.addPointLayerXY"

"添加一个具有给定 x 和 y 坐标属性的新简单点层,返回层根节点"

"spatial.addPointLayerXY(name :: STRING?, xProperty :: STRING?, yProperty :: STRING?) :: (node :: NODE?)"

"spatial.addWKT"

"将给定 WKT 字符串添加到层中,返回创建的几何节点"

"spatial.addWKT(layerName :: STRING?, geometry :: STRING?) :: (node :: NODE?)"

"spatial.addWKTLayer"

"添加一个新的 WKT 层,使用给定节点属性来保存 WKT 字符串,返回层根节点"

"spatial.addWKTLayer(name :: STRING?, nodePropertyName :: STRING?) :: (node :: NODE?)"

"spatial.addWKTs"

"将给定 WKT 字符串列表添加到层中,返回创建的几何节点"

"spatial.addWKTs(layerName :: STRING?, geometry :: LIST? OF STRING?) :: (node :: NODE?)"

"spatial.asExternalGeometry"

"将几何对象作为外部几何类型返回给客户端"

"spatial.asExternalGeometry(geometry :: ANY?) :: (geometry :: ANY?)"

"spatial.asGeometry"

"将几何对象作为内部 Cypher 几何类型返回,可以传递给其他过程,但不会返回给客户端"

"spatial.asGeometry(geometry :: ANY?) :: (geometry :: ANY?)"

"spatial.bbox"

"查找给定层中位于方框左下角和右上角坐标内的所有几何节点"

"spatial.bbox(layerName :: STRING?, min :: ANY?, max :: ANY?) :: (node :: NODE?)"

"spatial.closest"

"查找层中所有距离给定坐标的距离内的几何节点"

"spatial.closest(layerName :: STRING?, coordinate :: ANY?, distanceInKm :: FLOAT?) :: (node :: NODE?)"

"spatial.decodeGeometry"

"将层节点的几何作为内部 Cypher 几何类型返回,可以传递给其他过程,但不会返回给客户端"

"spatial.decodeGeometry(layerName :: STRING?, node :: NODE?) :: (geometry :: ANY?)"

"spatial.getFeatureAttributes"

"返回给定层的要素属性"

"spatial.getFeatureAttributes(name :: STRING?) :: (name :: STRING?)"

"spatial.importOSM"

"将提供的 OSM 文件从 URI 导入到同名层中,返回添加的数据计数"

"spatial.importOSM(uri :: STRING?) :: (count :: INTEGER?)"

"spatial.importOSMToLayer"

"将提供的 OSM 文件从 URI 导入到层中,返回添加的数据计数"

"spatial.importOSMToLayer(layerName :: STRING?, uri :: STRING?) :: (count :: INTEGER?)"

"spatial.importShapefile"

"将提供的形状文件从 URI 导入到同名层中,返回添加的数据计数"

"spatial.importShapefile(uri :: STRING?) :: (count :: INTEGER?)"

"spatial.importShapefileToLayer"

"将提供的形状文件从 URI 导入到给定层中,返回添加的数据计数"

"spatial.importShapefileToLayer(layerName :: STRING?, uri :: STRING?) :: (count :: INTEGER?)"

"spatial.intersects"

"返回层中与给定几何图形(形状、多边形)相交的所有几何节点"

"spatial.intersects(layerName :: STRING?, geometry :: ANY?) :: (node :: NODE?)"

"spatial.layer"

"返回给定层名的层根节点"

"spatial.layer(name :: STRING?) :: (node :: NODE?)"

"spatial.layerTypes"

"返回注册的不同层类型"

"spatial.layerTypes() :: (name :: STRING?, signature :: STRING?)"

"spatial.layers"

"返回所有层的名称和详细信息"

"spatial.layers() :: (name :: STRING?, signature :: STRING?)"

"spatial.procedures"

"列出所有空间过程及其名称和签名"

"spatial.procedures() :: (name :: STRING?, signature :: STRING?)"

"spatial.removeLayer"

"删除给定层"

"spatial.removeLayer(name :: STRING?) :: VOID"

"spatial.setFeatureAttributes"

"设置给定层的要素属性"

"spatial.setFeatureAttributes(name :: STRING?, attributeNames :: LIST? OF STRING?) :: (node :: NODE?)"

"spatial.updateFromWKT"

"内部过程,使用给定 ID 更新几何节点,并使用新的 WKT 字符串"

"spatial.updateFromWKT(layerName :: STRING?, geometry :: STRING?, geometryNodeId :: INTEGER?) :: (node :: NODE?)"

"spatial.withinDistance"

"返回层中所有几何节点及其有序距离,这些节点位于距离给定坐标的距离内"

"spatial.withinDistance(layerName :: STRING?, coordinate :: ANY?, distanceInKm :: FLOAT?) :: (node :: NODE?, distance :: FLOAT?)"