use of com.datastax.dse.driver.api.core.data.geometry.LineString in project java-driver by datastax.
the class GeoTest method should_build_line_string_from_coordinates.
@Test
public void should_build_line_string_from_coordinates() {
LineString lineString = Geo.lineString(1, 2, 3, 4, 5, 6);
assertThat(lineString.getPoints()).hasSize(3).contains(Point.fromCoordinates(1, 2)).contains(Point.fromCoordinates(3, 4)).contains(Point.fromCoordinates(5, 6));
}
use of com.datastax.dse.driver.api.core.data.geometry.LineString in project java-driver by datastax.
the class DefaultLineStringTest method should_not_contain_polygon.
@Test
public void should_not_contain_polygon() {
LineString s = LineString.fromPoints(Point.fromCoordinates(0, 0), Point.fromCoordinates(0, 30), Point.fromCoordinates(30, 30), Point.fromCoordinates(30, 0));
LineString p = LineString.fromPoints(Point.fromCoordinates(10, 10), Point.fromCoordinates(10, 20), Point.fromCoordinates(20, 20), Point.fromCoordinates(20, 10));
assertThat(s.contains(p)).isFalse();
}
use of com.datastax.dse.driver.api.core.data.geometry.LineString in project java-driver by datastax.
the class CoreGraphDataTypeITBase method should_create_and_retrieve_correct_data_with_types.
@Test
public void should_create_and_retrieve_correct_data_with_types() {
CqlSession session = session();
// use CQL to create type for now because DSP-17567 is not in yet, so this is more stable
session.execute(String.format("CREATE TYPE %s.udt_graphbinary(simple text, complex tuple<int, text>, missing text)", graphName()));
session.execute(String.format("CREATE TYPE %s.udt_graphbinarygeo(point 'PointType', line 'LineStringType', poly 'PolygonType')", graphName()));
ImmutableMap.Builder<String, Object> properties = ImmutableMap.<String, Object>builder().put("Ascii", "test").put("Bigint", 5L).put("Boolean", true).put("Date", LocalDate.of(2007, 7, 7)).put("Decimal", BigDecimal.valueOf(2.3)).put("Double", 4.5d).put("Float", 4.8f).put("Int", 45).put("Smallint", (short) 1).put("Text", "test").put("Time", LocalTime.now(ZoneId.systemDefault())).put("Timeuuid", Uuids.timeBased()).put("Timestamp", Instant.now().truncatedTo(ChronoUnit.MILLIS)).put("Uuid", java.util.UUID.randomUUID()).put("Varint", BigInteger.valueOf(3234)).put("Blob", ByteBuffer.wrap(new byte[] { 1, 2, 3 })).put("Tinyint", (byte) 38).put("listOf(Int)", Arrays.asList(2, 3, 4)).put("setOf(Int)", Sets.newHashSet(2, 3, 4)).put("mapOf(Int, Text)", ImmutableMap.of(2, "two", 4, "four")).put("Duration", CqlDuration.newInstance(1, 2, 3)).put("LineString", Geo.lineString(1, 2, 3, 4, 5, 6)).put("Point", Geo.point(3, 4)).put("Polygon", Geo.polygon(Geo.point(3, 4), Geo.point(5, 4), Geo.point(6, 6))).put("tupleOf(Int, Text)", tupleOf(INT, TEXT).newValue(5, "Bar")).put("typeOf('udt_graphbinary')", session.getMetadata().getKeyspace(graphName()).flatMap(keyspace -> keyspace.getUserDefinedType("udt_graphbinary")).orElseThrow(IllegalStateException::new).newValue("some text", tupleOf(INT, TEXT).newValue(5, "Bar"), "some missing text")).put("typeOf('udt_graphbinarygeo')", session.getMetadata().getKeyspace(graphName()).flatMap(keyspaceMetadata -> keyspaceMetadata.getUserDefinedType("udt_graphbinarygeo")).orElseThrow(IllegalStateException::new).newValue(Point.fromCoordinates(3.3, 4.4), LineString.fromPoints(Point.fromCoordinates(1, 1), Point.fromCoordinates(2, 2), Point.fromCoordinates(3, 3)), Polygon.fromPoints(Point.fromCoordinates(3, 4), Point.fromCoordinates(5, 4), Point.fromCoordinates(6, 6))));
TupleType tuple = tupleOf(DseDataTypes.POINT, DseDataTypes.LINE_STRING, DseDataTypes.POLYGON);
tuple.attach(session.getContext());
properties.put("tupleOf(Point, LineString, Polygon)", tuple.newValue(Point.fromCoordinates(3.3, 4.4), LineString.fromPoints(Point.fromCoordinates(1, 1), Point.fromCoordinates(2, 2), Point.fromCoordinates(3, 3)), Polygon.fromPoints(Point.fromCoordinates(3, 4), Point.fromCoordinates(5, 4), Point.fromCoordinates(6, 6))));
int vertexID = 1;
String vertexLabel = "graphBinaryAllTypes";
runTest(properties.build(), vertexLabel, vertexID);
}
use of com.datastax.dse.driver.api.core.data.geometry.LineString in project java-driver by datastax.
the class DefaultLineStringTest method should_produce_same_hashCode_for_equal_objects.
@Test
public void should_produce_same_hashCode_for_equal_objects() {
LineString line1 = LineString.fromPoints(Point.fromCoordinates(30, 10), Point.fromCoordinates(10, 30), Point.fromCoordinates(40, 40));
LineString line2 = LineString.fromWellKnownText(wkt);
assertThat(line1).isEqualTo(line2);
assertThat(line1.hashCode()).isEqualTo(line2.hashCode());
}
use of com.datastax.dse.driver.api.core.data.geometry.LineString in project java-driver by datastax.
the class DefaultLineStringTest method should_contain_all_intersected_points_except_start_and_end.
@Test
public void should_contain_all_intersected_points_except_start_and_end() {
LineString s = LineString.fromPoints(Point.fromCoordinates(0, 0), Point.fromCoordinates(0, 30), Point.fromCoordinates(30, 30));
assertThat(s.contains(Point.fromCoordinates(0, 0))).isFalse();
assertThat(s.contains(Point.fromCoordinates(0, 15))).isTrue();
assertThat(s.contains(Point.fromCoordinates(0, 30))).isTrue();
assertThat(s.contains(Point.fromCoordinates(15, 30))).isTrue();
assertThat(s.contains(Point.fromCoordinates(30, 30))).isFalse();
}
Aggregations