Beispiel #1
0
  @Test
  public void testCreateSubLineTo_threePoints_secondSegment_closeToStart() {
    final S2Polyline polyline = (S2Polyline) wktReader.read("LINESTRING(-3 11, -1 13, 0 16)");
    final S2Point point = (S2Point) wktReader.read("POINT(-0.66667 14)");

    final BcS2TimeAxis timeAxis =
        new BcS2TimeAxis(new BcS2LineString(polyline), new Date(), new Date());
    final S2Polyline subLineTo = timeAxis.createSubLineTo(point);

    assertEqualPoints(subLineTo.vertex(0), polyline.vertex(0));
    assertEquals(0.06717461517369061, subLineTo.getArclengthAngle().radians(), 1e-8);
  }
Beispiel #2
0
  @Test
  public void testCreateSubLineTo_twoPoints_closeToEnd() {
    final S2Polyline polyline = (S2Polyline) wktReader.read("LINESTRING(5 3, 8 3)");
    final S2Point point = (S2Point) wktReader.read("POINT(7 3)");

    final BcS2TimeAxis timeAxis =
        new BcS2TimeAxis(new BcS2LineString(polyline), new Date(), new Date());
    final S2Polyline subLineTo = timeAxis.createSubLineTo(point);

    assertEqualPoints(subLineTo.vertex(0), polyline.vertex(0));
    assertEquals(0.034858741930189, subLineTo.getArclengthAngle().radians(), 1e-8);
  }
Beispiel #3
0
  @Test
  public void testCreateSubLineTo_threePoints_firstSegment_closeToEnd() {
    final S2Polyline polyline = (S2Polyline) wktReader.read("LINESTRING(-3 11, -1 13, 0 16)");
    final S2Point point = (S2Point) wktReader.read("POINT(-1.5 12.6667)");

    final BcS2TimeAxis timeAxis =
        new BcS2TimeAxis(new BcS2LineString(polyline), new Date(), new Date());
    final S2Polyline subLineTo = timeAxis.createSubLineTo(point);

    assertEquals(2, subLineTo.numVertices());
    assertEqualPoints(subLineTo.vertex(0), polyline.vertex(0));
    assertEquals(0.03871381307846636, subLineTo.getArclengthAngle().radians(), 1e-8);
  }
Beispiel #4
0
  @Test
  public void testCreateSubLineTo_threePoints_secondSegment_closeToEnd() {
    final S2Polyline polyline = (S2Polyline) wktReader.read("LINESTRING(-3 11, -1 13, 0 16)");
    final S2Point point = (S2Point) wktReader.read("POINT(-0.3333 15)");

    final BcS2TimeAxis timeAxis =
        new BcS2TimeAxis(new BcS2LineString(polyline), new Date(), new Date());
    final S2Polyline subLineTo = timeAxis.createSubLineTo(point);

    assertEquals(3, subLineTo.numVertices());
    assertEqualPoints(subLineTo.vertex(0), polyline.vertex(0));
    assertEquals(0.08551440716241719, subLineTo.getArclengthAngle().radians(), 1e-8);
  }