Releases: neo4j-contrib/spatial
Spatial 0.26.1-neo4j-3.5.2
This release supports Neo4j 3.5. In addition, the primary change introduced in the 0.26.x branch of releases is the addition of a new GeomertyEncoder for point data, called the NativePointEncoder. This can be used as a replacement for the SimplePointEncoder. The SimplePointEncoder encodes points as two double properties on a node, usually 'x' and 'y' or 'longitude' and 'latitude'. The NativePointEncoder works on Neo4j 3.4 and later with the built-in support for Point data types.
All procedures that supported the SimplePointEncoder now have versions for the NativePointEncoder. For example:
CALL spatial.addLayerWithEncoder('geom','NativePointEncoder','pos:mbr')
And then
CREATE (n {pos:point(latitude:13.2,longitude:56.7)}) CALL spatial.addNode('geom',n)
Or perhaps:
CALL spatial.addNativePointLayerGeohash('points')
And then:
CREATE (n {location:point(latitude:13.2,longitude:56.7)}) CALL spatial.addNode('points',n)
Spatial 0.26.1-neo4j-3.4.9
The primary change in the release is the addition of a new GeomertyEncoder for point data, called the NativePointEncoder. This can be used as a replacement for the SimplePointEncoder. The SimplePointEncoder encodes points as two double properties on a node, usually 'x' and 'y' or 'longitude' and 'latitude'. The NativePointEncoder works on Neo4j 3.4 and later with the built-in support for Point data types.
All procedures that supported the SimplePointEncoder now have versions for the NativePointEncoder. For example:
CALL spatial.addLayerWithEncoder('geom','NativePointEncoder','pos:mbr')
And then
CREATE (n {pos:point(latitude:13.2,longitude:56.7)}) CALL spatial.addNode('geom',n)
Or perhaps:
CALL spatial.addNativePointLayerGeohash('points')
And then:
CREATE (n {location:point(latitude:13.2,longitude:56.7)}) CALL spatial.addNode('points',n)
Spatial 0.25.7-neo4j-3.4.9
This fixes a few things, but in some cases it makes small API changes, so take care when upgrading if you use these API's:
- Changed some procedures to functions (spatial.decodeGeometry and spatial.asGeometry)
- Support returning Points in 3.4
- Support returning non-Points as maps
- Orthdromic distance for non-points looks for nearest points distance
- Fix for bug reported by community (withinDistance), based on orthodromic distance filter
Spatial 0.25.6-neo4j-3.4.5
Patch release to the 0.25.x series with a bugfix to the OSM importer for cases when the XML does not contain changeset fields. This bug was only relevant to the case where the XML has ways that reference missing nodes, and we request to index all point nodes of each way, not only the ways themselves. So we have made two changes:
- The procedure calls for importing OSM files now default to not indexing all nodes
- If you do index all nodes (for example using the command-line tool instead), then the missing nodes will generate warning messages and not a NPE.
Spatial 0.25.5-neo4j-3.4.1
A patch to the 0.25.x series which includes two bug-fixes:
- a bug-fix to cases when the same node is added to both RTree based layers, as well as lucene index based layers (like geohash, zorder or hilbert). This fix also includes a behaviour change in that deleting layers will no longer default to deleting the geometry nodes. The requirement for that behaviour is long obsolete.
- a bug-fix for OSM importing where the OSM file does not contain changeset fields on the nodes
It should be noted that Neo4j 3.4.0 has included more enhanced support for native Point
types inside the database itself. This library can understand those types, as it did with the earlier 3.0 Point
type, but does not make any special use of the built-in Neo4j spatial features, except that the space filling curve algorithm is now the one included in Neo4j itself.
Spatial 0.25.5-neo4j-3.3.5
A patch to the 0.25.x series which includes two bug-fixes:
- a bug-fix to cases when the same node is added to both RTree based layers, as well as lucene index based layers (like geohash, zorder or hilbert). This fix also includes a behaviour change in that deleting layers will no longer default to deleting the geometry nodes. The requirement for that behaviour is long obsolete.
- a bug-fix for OSM importing where the OSM file does not contain changeset fields on the nodes
This was built against the latest Neo4j 3.3.5 release. It is likely to work with earlier 3.3.x versions too, but that has not been tested explicitly.
Spatial 0.25.4-neo4j-3.2.8
A patch to the 0.25.x series which includes a bug-fix to cases when the same node is added to both RTree based layers, as well as lucene index based layers (like geohash, zorder or hilbert). This fix also includes a behaviour change in that deleting layers will no longer default to deleting the geometry nodes. The requirement for that behaviour is long obsolete.
Spatial 0.25.3-neo4j-3.3.1
Release 0.25 introduced a new geohash index for points, and 0.25.2 added more surface for accessing that index. This release adds two space-filling curve based indexes, the Z-Order and Hilbert curves. The Z-Order is conceptually the same as the Geohash, but we are using a collection of integer range queries to search the index instead of a string prefix, with different performance characteristics. The procedures now have the following methods for using these indexes:
spatial.addPointLayerGeohash(name)
spatial.addPointLayerZOrder(name)
spatial.addPointLayerHilbert(name)
- the addition of the types 'geohash', 'zorder' and 'hilbert' for the second parameter to
spatial.addLayer(name,type)
procedure. Seespatial.layerTypes()
for the complete list.
Spatial 0.25.3-neo4j-3.2.8
Release 0.25 introduced a new geohash index for points, and 0.25.2 added more surface for accessing that index. This release adds two space-filling curve based indexes, the Z-Order and Hilbert curves. The Z-Order is conceptually the same as the Geohash, but we are using a collection of integer range queries to search the index instead of a string prefix, with different performance characteristics. The procedures now have the following methods for using these indexes:
spatial.addPointLayerGeohash(name)
spatial.addPointLayerZOrder(name)
spatial.addPointLayerHilbert(name)
- the addition of the types 'geohash', 'zorder' and 'hilbert' for the second parameter to
spatial.addLayer(name,type)
procedure. Seespatial.layerTypes()
for the complete list.
Spatial 0.25.3-neo4j-3.1.4
Release 0.25 introduced a new geohash index for points, and 0.25.2 added more surface for accessing that index. This release adds two space-filling curve based indexes, the Z-Order and Hilbert curves. The Z-Order is conceptually the same as the Geohash, but we are using a collection of integer range queries to search the index instead of a string prefix, with different performance characteristics. The procedures now have the following methods for using these indexes:
spatial.addPointLayerGeohash(name)
spatial.addPointLayerZOrder(name)
spatial.addPointLayerHilbert(name)
- the addition of the types 'geohash', 'zorder' and 'hilbert' for the second parameter to
spatial.addLayer(name,type)
procedure. Seespatial.layerTypes()
for the complete list.