neo4j-contrib / spatial

Neo4j Spatial is a library of utilities for Neo4j that faciliates the enabling of spatial operations on data. In particular you can add spatial indexes to already located data, and perform spatial operations on the data like searching for data within specified regions or within a specified distance of a point of interest. In addition classes are provided to expose the data to geotools and thereby to geotools enabled applications like geoserver and uDig.
http://neo4j-contrib.github.io/spatial
Other
778 stars 192 forks source link

3d spatial modelling and query #155

Closed ghost closed 5 years ago

ghost commented 10 years ago

Needing for many engineering projects...

craigtaverner commented 10 years ago

It would be good to hear more about some of the projects and exactly what you want to do.

We did start generalizing the RTree to n-dimensions in 2011, but did not finish that work. Restarting it would be interesting, but needs some solid use cases to justify it.

ghost commented 10 years ago

Point clouds, voxels, polygon sets. These are the 3d structures that need spatial calculations to be done on them.

metanomy commented 9 years ago

Here's exactly what I'd like to do: store and calculate over CityGML. The easiest way to do this is might be to refactor the 3DCityDB PostGIS Importer/Exporter (https://github.com/3dcitydb/importer-exporter-postgis) to conform to Neo4J spatial structures.

muzbox commented 8 years ago

Did any work ever begin on 3D spatial?

I have a use case of wanting to store and analyse geological data in Neo4j. This data requires analysis in 3D as the depth component is required for true analysis.

craigtaverner commented 5 years ago

Sorry for the slow reply. There has indeed been some 3D work. Two projects, but neither of which are in this spatial library (yet).

The first is the support for 3D points within the Neo4j database itself. Since version 3.4 (released in the spring of 2018) there are four types of points: 2D cartesian, 3D cartesian, 2G geographic and 3G geographic. Take a look at the documentation at https://neo4j.com/docs/cypher-manual/current/syntax/spatial/ for more details.

There was also a very small community project called spatial-3d which aims to support point-in-3d-polygonmesh queries, but is not yet able to do that. It can do point-in-2d-polygon searches, and I hope to expand it to 3D at some point.

My recommendation is to try out the 3D support within Neo4j itself. If that works, great. If not, then open new requests on either of the following projects: