Пример #1
0
  @Test
  public void altitudeModeReadTest()
      throws IOException, XMLStreamException, URISyntaxException, KmlException {
    final KmlReader reader = new KmlReader();
    final GxReader gxReader = new GxReader(reader);
    reader.setInput(new File(pathToTestFile));
    reader.addExtensionReader(gxReader);
    final Kml kmlObjects = reader.read();
    reader.dispose();

    final Feature placemark = kmlObjects.getAbstractFeature();
    assertEquals(KmlModelConstants.TYPE_PLACEMARK, placemark.getType());
    assertEquals("gx:altitudeMode Example", placemark.getPropertyValue(KmlConstants.TAG_NAME));
    final LookAt lookAt = (LookAt) placemark.getPropertyValue(KmlConstants.TAG_VIEW);

    assertEquals(146.806, lookAt.getLongitude(), DELTA);
    assertEquals(12.219, lookAt.getLatitude(), DELTA);
    assertEquals(-60, lookAt.getHeading(), DELTA);
    assertEquals(70, lookAt.getTilt(), DELTA);
    assertEquals(6300, lookAt.getRange(), DELTA);
    assertEquals(EnumAltitudeMode.RELATIVE_TO_SEA_FLOOR, lookAt.getAltitudeMode());

    final LineString lineString =
        (LineString) placemark.getPropertyValue(KmlConstants.TAG_GEOMETRY);
    assertTrue(lineString.getExtrude());
    assertEquals(EnumAltitudeMode.RELATIVE_TO_SEA_FLOOR, lineString.getAltitudeMode());

    CoordinateSequence coordinates = lineString.getCoordinateSequence();
    assertEquals(5, coordinates.size());
    Coordinate coordinate0 = coordinates.getCoordinate(0);
    assertEquals(146.825, coordinate0.x, DELTA);
    assertEquals(12.233, coordinate0.y, DELTA);
    assertEquals(400.0, coordinate0.z, DELTA);

    Coordinate coordinate1 = coordinates.getCoordinate(1);
    assertEquals(146.820, coordinate1.x, DELTA);
    assertEquals(12.222, coordinate1.y, DELTA);
    assertEquals(400.0, coordinate1.z, DELTA);

    Coordinate coordinate2 = coordinates.getCoordinate(2);
    assertEquals(146.812, coordinate2.x, DELTA);
    assertEquals(12.212, coordinate2.y, DELTA);
    assertEquals(400.0, coordinate2.z, DELTA);

    Coordinate coordinate3 = coordinates.getCoordinate(3);
    assertEquals(146.796, coordinate3.x, DELTA);
    assertEquals(12.209, coordinate3.y, DELTA);
    assertEquals(400.0, coordinate3.z, DELTA);

    Coordinate coordinate4 = coordinates.getCoordinate(4);
    assertEquals(146.788, coordinate4.x, DELTA);
    assertEquals(12.205, coordinate4.y, DELTA);
    assertEquals(400.0, coordinate4.z, DELTA);
  }