Hi Alireza,

I wrote some test code using your layer creation and neighbour search code
that you pasted, and it works fine. So what I think has happened is that
you have somehow added nodes with a different layer config to the same
index that you are now using for WKB. Perhaps the nodes used to be points
in a simple point layer, and now you changed to a WKB layer, it is no
longer compatible.

I can make a few suggestions:

   - Make sure your nodes were added using the layer.add(Geometry) method.
   If you used layer.add(Node) then it is your responsibility to make sure the
   node conforms to the same layer config that you are planning to use. For
   example, do not add a simple point node (with lat/lon attributes) to a WKT
   layer, or you are likely to create this kind of issue.
   - Since you are working with points, can I suggest you not use the WKB
   layer config, but rather use the SimplePointLayer, as created by
   SpatialGraphDatabase.createSimplePointLayer(name)
   or SpatialGraphDatabase.createSimplePointLayer(name,xProp,yProp)

Regards, Craig

On Sun, Aug 9, 2015 at 12:02 AM, Alireza Rezaei Mahdiraji <
alireza...@gmail.com> wrote:

>
> Let me ask you a design kind of question: the nodes in my graph could have
> various geometry: point, line, or polygon.
> I used the following layer definition (but I am not sure that is the best
> way to do it)"
>
> EditableLayer runningLayer = (EditableLayer)
>                 graphDBSpatial.getOrCreateLayer(layerName,
>                     WKBGeometryEncoder.class,
>                         EditableLayerImpl.class,
>                             geomEncoderConfig);
>
> I appreciate if you comment on this.
>
> Alireza
>
>
> On Saturday, August 8, 2015 at 11:48:24 PM UTC+2, Michael Hunger wrote:
>>
>> It seems you created the layer with a WKB (well known binary)
>> representation config
>>
>> but now your location properties are not decodable as WKB because they
>> are double's ?
>>
>> Michael
>>
>> Perhaps you can share a test that reproduces the issue?
>>
>> Am 08.08.2015 um 23:26 schrieb Alireza Rezaei Mahdiraji <
>> alire...@gmail.com>:
>>
>>
>> Here are the stacks for the two cases (very similar):
>>
>> Exception in thread "main" java.lang.ClassCastException: java.lang.Double
>> cannot be cast to [B
>>     at
>> org.neo4j.gis.spatial.WKBGeometryEncoder.decodeGeometry(WKBGeometryEncoder.java:41)
>>     at
>> org.neo4j.gis.spatial.filter.SearchIntersectWindow.onEnvelopeIntersection(SearchIntersectWindow.java:48)
>>     at
>> org.neo4j.gis.spatial.rtree.filter.AbstractSearchEnvelopeIntersection.geometryMatches(AbstractSearchEnvelopeIntersection.java:45)
>>     at
>> org.neo4j.gis.spatial.rtree.RTreeIndex$SearchEvaluator.checkPosition(RTreeIndex.java:286)
>>     at
>> org.neo4j.gis.spatial.rtree.RTreeIndex$SearchEvaluator.isStopNode(RTreeIndex.java:299)
>>     at
>> org.neo4j.kernel.impl.traversal.OldTraverserWrapper$Pruner.evaluate(OldTraverserWrapper.java:260)
>>     at
>> org.neo4j.graphdb.traversal.Evaluator$AsPathEvaluator.evaluate(Evaluator.java:69)
>>     at
>> org.neo4j.kernel.impl.traversal.MultiEvaluator.evaluate(MultiEvaluator.java:62)
>>     at
>> org.neo4j.kernel.impl.traversal.MonoDirectionalTraverserIterator.evaluate(MonoDirectionalTraverserIterator.java:61)
>>     at
>> org.neo4j.kernel.impl.traversal.TraversalBranchImpl.evaluate(TraversalBranchImpl.java:125)
>>     at
>> org.neo4j.kernel.impl.traversal.TraversalBranchImpl.initialize(TraversalBranchImpl.java:130)
>>     at
>> org.neo4j.kernel.impl.traversal.TraversalBranchImpl.next(TraversalBranchImpl.java:151)
>>     at
>> org.neo4j.kernel.impl.traversal.TraversalBranchWithState.next(TraversalBranchWithState.java:32)
>>     at
>> org.neo4j.kernel.impl.traversal.StartNodeTraversalBranch.next(StartNodeTraversalBranch.java:50)
>>     at
>> org.neo4j.graphdb.traversal.PreorderDepthFirstSelector.next(PreorderDepthFirstSelector.java:49)
>>     at
>> org.neo4j.kernel.impl.traversal.MonoDirectionalTraverserIterator.fetchNextOrNull(MonoDirectionalTraverserIterator.java:70)
>>     at
>> org.neo4j.kernel.impl.traversal.MonoDirectionalTraverserIterator.fetchNextOrNull(MonoDirectionalTraverserIterator.java:36)
>>     at
>> org.neo4j.helpers.collection.PrefetchingIterator.peek(PrefetchingIterator.java:60)
>>     at
>> org.neo4j.helpers.collection.PrefetchingIterator.hasNext(PrefetchingIterator.java:46)
>>     at
>> org.neo4j.helpers.collection.PrefetchingIterator.next(PrefetchingIterator.java:75)
>>     at
>> org.neo4j.kernel.impl.traversal.OldTraverserWrapper$TraverserImpl.next(OldTraverserWrapper.java:86)
>>     at
>> org.neo4j.kernel.impl.traversal.OldTraverserWrapper$TraverserImpl.next(OldTraverserWrapper.java:47)
>>     at
>> org.neo4j.gis.spatial.filter.SearchRecords.next(SearchRecords.java:53)
>>     at
>> org.neo4j.gis.spatial.filter.SearchRecords.next(SearchRecords.java:29)
>>     at
>> org.neo4j.gis.spatial.pipes.GeoPipeline$1.next(GeoPipeline.java:134)
>>     at
>> org.neo4j.gis.spatial.pipes.GeoPipeline$1.next(GeoPipeline.java:126)
>>     at
>> org.neo4j.gis.spatial.pipes.impl.LastElementIterator.next(LastElementIterator.java:19)
>>     at
>> org.neo4j.gis.spatial.pipes.impl.IdentityPipe.processNextStart(IdentityPipe.java:18)
>>     at
>> org.neo4j.gis.spatial.pipes.impl.AbstractPipe.next(AbstractPipe.java:72)
>>     at
>> org.neo4j.gis.spatial.pipes.AbstractGeoPipe.processNextStart(AbstractGeoPipe.java:49)
>>     at
>> org.neo4j.gis.spatial.pipes.AbstractGeoPipe.processNextStart(AbstractGeoPipe.java:31)
>>     at
>> org.neo4j.gis.spatial.pipes.impl.AbstractPipe.next(AbstractPipe.java:72)
>>     at org.neo4j.gis.spatial.pipes.impl.Pipeline.next(Pipeline.java:113)
>>     at
>> org.neo4j.gis.spatial.pipes.GeoPipeline.toNodeList(GeoPipeline.java:1015)
>>
>>
>> Exception in thread "main" java.lang.ClassCastException: java.lang.Double
>> cannot be cast to [B
>>     at
>> org.neo4j.gis.spatial.WKBGeometryEncoder.decodeGeometry(WKBGeometryEncoder.java:41)
>>     at
>> org.neo4j.gis.spatial.filter.SearchIntersectWindow.onEnvelopeIntersection(SearchIntersectWindow.java:48)
>>     at
>> org.neo4j.gis.spatial.rtree.filter.AbstractSearchEnvelopeIntersection.geometryMatches(AbstractSearchEnvelopeIntersection.java:45)
>>     at
>> org.neo4j.gis.spatial.rtree.RTreeIndex$SearchEvaluator.checkPosition(RTreeIndex.java:286)
>>     at
>> org.neo4j.gis.spatial.rtree.RTreeIndex$SearchEvaluator.isStopNode(RTreeIndex.java:299)
>>     at
>> org.neo4j.kernel.impl.traversal.OldTraverserWrapper$Pruner.evaluate(OldTraverserWrapper.java:260)
>>     at
>> org.neo4j.graphdb.traversal.Evaluator$AsPathEvaluator.evaluate(Evaluator.java:69)
>>     at
>> org.neo4j.kernel.impl.traversal.MultiEvaluator.evaluate(MultiEvaluator.java:62)
>>     at
>> org.neo4j.kernel.impl.traversal.MonoDirectionalTraverserIterator.evaluate(MonoDirectionalTraverserIterator.ja
>>
>> ...
>
> --
> You received this message because you are subscribed to the Google Groups
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to neo4j+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to