@Test public void altitudeModeWriteTest() throws KmlException, IOException, XMLStreamException, ParserConfigurationException, SAXException, URISyntaxException { final KmlFactory kmlFactory = DefaultKmlFactory.getInstance(); final Coordinate coordinate0 = kmlFactory.createCoordinate("146.825,12.233,400.0"); final Coordinate coordinate1 = kmlFactory.createCoordinate("146.820,12.222,400.0"); final Coordinate coordinate2 = kmlFactory.createCoordinate("146.812,12.212,400.0"); final Coordinate coordinate3 = kmlFactory.createCoordinate("146.796,12.209,400.0"); final Coordinate coordinate4 = kmlFactory.createCoordinate("146.788,12.205,400.0"); final CoordinateSequence coordinates = kmlFactory.createCoordinates( Arrays.asList(coordinate0, coordinate1, coordinate2, coordinate3, coordinate4)); final LineString lineString = kmlFactory.createLineString(coordinates); lineString.setAltitudeMode(EnumAltitudeMode.RELATIVE_TO_SEA_FLOOR); lineString.setExtrude(true); final LookAt lookAt = kmlFactory.createLookAt(); lookAt.setLongitude(146.806); lookAt.setLatitude(12.219); lookAt.setHeading(-60); lookAt.setTilt(70); lookAt.setRange(6300); lookAt.setAltitudeMode(EnumAltitudeMode.RELATIVE_TO_SEA_FLOOR); final Feature placemark = kmlFactory.createPlacemark(); placemark.setPropertyValue(KmlConstants.TAG_NAME, "gx:altitudeMode Example"); placemark.setPropertyValue(KmlConstants.TAG_VIEW, lookAt); placemark.setPropertyValue(KmlConstants.TAG_GEOMETRY, lineString); final Kml kml = kmlFactory.createKml(null, placemark, null, null); kml.addExtensionUri(GxConstants.URI_GX, "gx"); final File temp = File.createTempFile("testAltitudeMode", ".kml"); temp.deleteOnExit(); final KmlWriter writer = new KmlWriter(); final GxWriter gxWriter = new GxWriter(writer); writer.setOutput(temp); writer.addExtensionWriter(GxConstants.URI_GX, gxWriter); writer.write(kml); writer.dispose(); DomCompare.compare(new File(pathToTestFile), temp); }