Search in sources :

Example 6 with Angles

use of org.geotoolkit.data.gx.model.Angles in project geotoolkit by Geomatys.

the class TrackTest method trackReadTest.

@Test
public void trackReadTest() 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 folder = kmlObjects.getAbstractFeature();
    assertEquals(KmlModelConstants.TYPE_FOLDER, folder.getType());
    Feature placemark = (Feature) ((List) folder.getPropertyValue(KmlConstants.TAG_FEATURES)).get(0);
    assertEquals(KmlModelConstants.TYPE_PLACEMARK, placemark.getType());
    final Track track = (Track) placemark.getPropertyValue(KmlConstants.TAG_GEOMETRY);
    assertEquals(2, track.getWhens().size());
    assertEquals(2, track.getCoord().size());
    String when0 = "2010-05-28T02:02:09Z";
    String when1 = "2010-05-28T02:02:35Z";
    ISODateParser du = new ISODateParser();
    Calendar cal = du.getCalendar(when0);
    assertEquals(cal, track.getWhens().get(0));
    cal = du.getCalendar(when1);
    assertEquals(cal, track.getWhens().get(1));
    CoordinateSequence coordinates = track.getCoord();
    Coordinate coordinate0 = coordinates.getCoordinate(0);
    Coordinate coordinate1 = coordinates.getCoordinate(1);
    assertEquals(-122.207881, coordinate0.x, DELTA);
    assertEquals(37.371915, coordinate0.y, DELTA);
    assertEquals(156, coordinate0.z, DELTA);
    assertEquals(-122.205712, coordinate1.x, DELTA);
    assertEquals(37.373288, coordinate1.y, DELTA);
    assertEquals(152, coordinate1.z, DELTA);
    assertEquals(2, track.getAngles().size());
    Angles angles0 = track.getAngles().get(0);
    assertEquals(45.54676, angles0.getHeading(), DELTA);
    assertEquals(66.2342, angles0.getTilt(), DELTA);
    assertEquals(77, angles0.getRoll(), DELTA);
    Angles angles1 = track.getAngles().get(1);
    assertEquals(46.54676, angles1.getHeading(), DELTA);
    assertEquals(67.2342, angles1.getTilt(), DELTA);
    assertEquals(78, angles1.getRoll(), DELTA);
}
Also used : CoordinateSequence(org.locationtech.jts.geom.CoordinateSequence) ISODateParser(org.geotoolkit.temporal.object.ISODateParser) Coordinate(org.locationtech.jts.geom.Coordinate) Calendar(java.util.Calendar) Angles(org.geotoolkit.data.gx.model.Angles) KmlReader(org.geotoolkit.data.kml.xml.KmlReader) Kml(org.geotoolkit.data.kml.model.Kml) GxReader(org.geotoolkit.data.gx.xml.GxReader) File(java.io.File) Feature(org.opengis.feature.Feature) Track(org.geotoolkit.data.gx.model.Track) Test(org.junit.Test)

Aggregations

Calendar (java.util.Calendar)6 Angles (org.geotoolkit.data.gx.model.Angles)6 Coordinate (org.locationtech.jts.geom.Coordinate)6 CoordinateSequence (org.locationtech.jts.geom.CoordinateSequence)5 File (java.io.File)4 Track (org.geotoolkit.data.gx.model.Track)4 Kml (org.geotoolkit.data.kml.model.Kml)4 ISODateParser (org.geotoolkit.temporal.object.ISODateParser)4 Test (org.junit.Test)4 Feature (org.opengis.feature.Feature)4 MultiTrack (org.geotoolkit.data.gx.model.MultiTrack)2 GxReader (org.geotoolkit.data.gx.xml.GxReader)2 GxWriter (org.geotoolkit.data.gx.xml.GxWriter)2 DefaultKmlFactory (org.geotoolkit.data.kml.DefaultKmlFactory)2 KmlFactory (org.geotoolkit.data.kml.KmlFactory)2 KmlReader (org.geotoolkit.data.kml.xml.KmlReader)2 KmlWriter (org.geotoolkit.data.kml.xml.KmlWriter)2 ArrayList (java.util.ArrayList)1 EnumAltitudeMode (org.geotoolkit.data.gx.model.EnumAltitudeMode)1 AltitudeMode (org.geotoolkit.data.kml.model.AltitudeMode)1