use of org.neo4j.ogm.types.spatial.CartesianPoint3d in project neo4j-ogm by neo4j.
the class PointToBoltValueAdapter method apply.
@Override
public Point apply(AbstractPoint object) {
Value value;
if (object instanceof CartesianPoint2d) {
CartesianPoint2d point = (CartesianPoint2d) object;
value = Values.point(point.getSrid(), point.getX(), point.getY());
} else if (object instanceof CartesianPoint3d) {
CartesianPoint3d point = (CartesianPoint3d) object;
value = Values.point(point.getSrid(), point.getX(), point.getY(), point.getZ());
} else if (object instanceof GeographicPoint2d) {
GeographicPoint2d point = (GeographicPoint2d) object;
value = Values.point(point.getSrid(), point.getLongitude(), point.getLatitude());
} else if (object instanceof GeographicPoint3d) {
GeographicPoint3d point = (GeographicPoint3d) object;
value = Values.point(point.getSrid(), point.getLongitude(), point.getLatitude(), point.getHeight());
} else {
throw new IllegalArgumentException("Unsupported point implementation: " + object.getClass());
}
return value.asPoint();
}
use of org.neo4j.ogm.types.spatial.CartesianPoint3d in project neo4j-ogm by neo4j.
the class SpatialTestBase method spatialObjectsInMapsShouldWork.
@Test
public void spatialObjectsInMapsShouldWork() {
Session session = sessionFactory.openSession();
SomethingSpatial spatial = new SomethingSpatial();
GeographicPoint2d geographicPoint2d = new GeographicPoint2d(1, 2);
GeographicPoint3d geographicPoint3d = new GeographicPoint3d(1, 2, 3);
CartesianPoint2d cartesianPoint2d = new CartesianPoint2d(1, 2);
CartesianPoint3d cartesianPoint3d = new CartesianPoint3d(1, 2, 3);
spatial.addProperty("geographicPoint2d", geographicPoint2d);
spatial.addProperty("geographicPoint3d", geographicPoint3d);
spatial.addProperty("cartesianPoint2d", cartesianPoint2d);
spatial.addProperty("cartesianPoint3d", cartesianPoint3d);
session.save(spatial);
session.clear();
SomethingSpatial loaded = session.load(SomethingSpatial.class, spatial.getId());
assertThat(loaded.getProperties()).containsEntry("geographicPoint2d", geographicPoint2d);
assertThat(loaded.getProperties()).containsEntry("geographicPoint3d", geographicPoint3d);
assertThat(loaded.getProperties()).containsEntry("cartesianPoint2d", cartesianPoint2d);
assertThat(loaded.getProperties()).containsEntry("cartesianPoint3d", cartesianPoint3d);
}
use of org.neo4j.ogm.types.spatial.CartesianPoint3d in project neo4j-ogm by neo4j.
the class SpatialTestBase method convertPersistAndLoadCartesianPoint3dForRelationship.
@Test
public void convertPersistAndLoadCartesianPoint3dForRelationship() {
Session session = sessionFactory.openSession();
SomethingRelationship somethingRelated = new SomethingRelationship();
CartesianPoint3d point = new CartesianPoint3d(1, 2, 3);
somethingRelated.setCartesianPoint3d(point);
session.save(somethingRelated);
session.clear();
SomethingRelationship loaded = session.load(SomethingRelationship.class, somethingRelated.getId());
assertThat(loaded.getCartesianPoint3d()).isEqualTo(point);
}
use of org.neo4j.ogm.types.spatial.CartesianPoint3d in project neo4j-ogm by neo4j.
the class DistanceComparisonTestBase method filterForCartesianPoint3d.
@Test
public void filterForCartesianPoint3d() {
Session session = sessionFactory.openSession();
SomethingSpatial spatial = new SomethingSpatial();
CartesianPoint3d point = new CartesianPoint3d(1, 2, 3);
spatial.setCartesianPoint3d(point);
session.save(spatial);
DistanceFromNativePoint distanceFromNativePoint = new DistanceFromNativePoint(new CartesianPoint3d(2, 2, 3), 2);
Filter filter = new Filter("cartesianPoint3d", distanceComparisonFor(distanceFromNativePoint));
filter.setOwnerEntityType(SomethingSpatial.class);
Collection<SomethingSpatial> somethingSpatials = session.loadAll(SomethingSpatial.class, filter);
assertThat(somethingSpatials).hasSize(1);
}
use of org.neo4j.ogm.types.spatial.CartesianPoint3d in project neo4j-ogm by neo4j.
the class PointToEmbeddedValueAdapterTest method mappingShouldWork.
@Test
public void mappingShouldWork() {
PointToEmbeddedValueAdapter adapter = new PointToEmbeddedValueAdapter();
Point point;
point = adapter.apply(new GeographicPoint2d(10, 20));
Assertions.assertThat(point.getCRS().getCode()).isEqualTo(4326);
Assertions.assertThat(point.getCoordinate().getCoordinate().get(0)).isEqualTo(20.0);
Assertions.assertThat(point.getCoordinate().getCoordinate().get(1)).isEqualTo(10.0);
point = adapter.apply(new CartesianPoint2d(10, 20));
Assertions.assertThat(point.getCRS().getCode()).isEqualTo(7203);
Assertions.assertThat(point.getCoordinate().getCoordinate().get(0)).isEqualTo(10.0);
Assertions.assertThat(point.getCoordinate().getCoordinate().get(1)).isEqualTo(20.0);
point = adapter.apply(new GeographicPoint3d(10.0, 20.0, 30));
Assertions.assertThat(point.getCRS().getCode()).isEqualTo(4979);
Assertions.assertThat(point.getCoordinate().getCoordinate().get(0)).isEqualTo(20.0);
Assertions.assertThat(point.getCoordinate().getCoordinate().get(1)).isEqualTo(10.0);
Assertions.assertThat(point.getCoordinate().getCoordinate().get(2)).isEqualTo(30.0);
point = adapter.apply(new CartesianPoint3d(10.0, 20.0, 30));
Assertions.assertThat(point.getCRS().getCode()).isEqualTo(9157);
Assertions.assertThat(point.getCoordinate().getCoordinate().get(0)).isEqualTo(10.0);
Assertions.assertThat(point.getCoordinate().getCoordinate().get(1)).isEqualTo(20.0);
Assertions.assertThat(point.getCoordinate().getCoordinate().get(2)).isEqualTo(30.0);
}
Aggregations