v2.1.0
NASA WorldWind v2.1.0 - Release Notes
Released December 13, 2016
Note: This is a mirror of the NASA WWJ v2.1.0 release.
WorldWind Java v2.1.0 contains major improvements for security, functionality, and automation, including: HTTPS map services, Travis CI integration, first-class 2D map support, improved shape dragging, general shape editor, new USGS high resolution imagery layer, new USGS topographic layers, Shapefile rendering performance improvements, Shapefile XML layer configuration files, OGC Web Coverage Service (WCS) elevations, plus many more improvements and bug fixes.
With the release of v2.1.0 all NASA World Wind map services (imagery, terrain, placenames, etc.) require HTTPS connections. Existing versions of World Wind (including v2.0.0) will not connect unless map service links are updated to use the HTTPS protocol. There is an HTTP to HTTPS redirect in place for all NASA World Wind map services, but the Java VM will not automatically follow the redirect. The requirement to host map services exclusively through HTTPS is a U.S. Government mandate.
v2.1.0 (December 13, 2016)
- Added first-class 2D map support with an extensible interface for defining 2D map projections. Built-in 2map projections include: Equirectangular, Mercator, Transverse Mercator, Universal Transverse Mercator, Polar Equidistant, Sinusoidal, Modified Sinusoidal, and Universal Polar Stereographic.
- Added support for retrieving elevations via the OGC Web Coverage Service protocol. See the WCSElevations example.
- Added additional flexibility in the elevation cache format, including support for caching GeoTIFF elevations.
- Added general shape editing support. See the ShapeEditing example.
- Added an interface for computing boolean combinations of geographic shapes (union, intersection, difference). See the ShapeCombining example and the ShapeCombiner utility class.
- Added support for high performance rendering and picking of Shapefiles containing a large number of polygons, polylines, and polygons with height. See the Shapefiles example, and the shape classes ShapefilePolygons, ShapefilePolylines, and ShapefileExtrudedPolygons.
- Added a Shapefile layer factory. See the Shapefiles example.
- Added support for Shapefile layer XML configuration files. See the ShapefileAttributeGroups example and the example configuration file src/config/Earth/WorldBordersShapefile.xml.
- Added level of detail support for PointPlacemark and MIL-STD-2525 tactical icons (TacticalSymbol). This capability can improve icon rendering performance and is an effective method for decluttering displays with many icons. See the DeclutterTacticalSymbols example.
- Added PointPlacemark support for BufferedImage image sources.
- Added optional label picking to PointPlacemark.
- Added image texture support to SurfacePolygon, including polygon with images that contain either the North pole or the South pole.
- Added the SurfaceMultiPolygon, a surface shape polygon that supports multiple inner and outer boundaries.
- Added support for displaying a Global Area Reference System (GARS) graticule. See the GARSGraticule example.
- Added the Attributable interface in order to simplify application shape attribute management.
- Added examples demonstrating how to compute and display radar volumes which have been intersected by global terrain. See the RadarVolumeExample.
- Added ContourBuilder, a utility class for computing contours in arbitrary 2D scalar fields. See the ContourBuilding example.
- Added Draggable interface and shifted drag execution from the BasicDragger to the new interface. Added DraggableSupport which provides utility methods correcting dragging issues observed with the legacy dragging implementation. Implemented the Draggable interface on all objects implementing Movable and Movable2 and utilized the utility methods of DraggableSupport to correct the cursor drifting from the drag object behavior.
- Improved shape dragging, especially in regions near the poles.
- Improved the display of surface shapes viewed at oblique angles by using mip-maps to reducing aliasing artifacts.
- Improved performance when parsing large local raster server configuration files.
- Refactored Airspace shapes as first-class renderable shapes, and deprecated AirspaceLayer in favor of RenderableLayer.
- Refactored Airspace shape attributes to extend from standard shape attributes in order to simplify application shape attribute management.
- Modified CompoundElevationModel to sort elevation models from lowest resolution to highest when models are added.
- Modified SurfaceText to correctly handle text spanning the antimeridian.
- Automated Web Start publication (#74)
- Automated SDK archive publication (#73)
- Transverse Mercator map disappears when central meridian > -90 (#72)
- Different default shape colors in 3D/2D (#71)
- Transparent Polylines appear opaque on 2D globe (#64)
- Repair defunct World Wind Java examples (#59)
- Add USGS Dynamic Topo layers (#58)
- Add USGS NAIP Plus layer to replace decommissioned layers (#57)
- WCS server configurations using a wms2 endpoint (#53)
- TacticalGraphics objects drift from cursor during dragging (#52)
- DraggableSupport does not support WorldWind.CONSTANT altitude mode (#45)
- Unable to drag shapes over the antimeridian on 2D globe (#44)
- AnimatedGlobe example interaction causes exception (#42)
- Gazetteer does not work with place names (#40)
- Continuous integration unit testing (#39)
- Refactor test sources to support automation (#38)
- Remove decommissioned USGS Ortho layers (#36)
- WorldWind server returned "application/x-qgis" content type for .shp and .shx files (#35)
- NPE from MeasureToolController when trying to drag shape. (#33)
- HTTPS map services (#32)
- Continuous integration (#27)
- Cursor Drifting During Dragging (#26)
- Conversion from DMS to Decimal Degrees fails between 1 Degree and -1 Degree (#25)
- removed development-builds section from readme.md (#24)
- BasicDragger terrain regression fix (#20)
- Fixed unit tests (#14)
- Removed superfluous override of WMS_VERSION (#13)
- Rename NASA_Open_Source_Agreement_1.3.txt to LICENSE (#11)
- This small fix solves a NPE in cases in which a look&feel has been set. (#10)
- Fixed bug in DTEDRasterReader where AVList was assumed non-null (#7)
- Fixed an issue where AnalyticSurface returns an incorrect picked object when the altitude mode is CLAMP_TO_GROUND.
- Fixed an issue with the accuracy of airspace shape projection on the 3D ellipsoid. The geometry for airspace shapes with very large dimensions are now displayed correctly. The following airspace shapes are affected: CappedCylinder, PartialCappedCylinder, Orbit, PolyArc, TrackAirspace, Route, Cake.
- Fixed an issue where MeasureTool throws an exception when the user drags a control point off the globe.
- Fixed a bug where SurfacePolygons fails to tessellate Antarctica polygon from Shapefile. (WWJ-187)
- Fixed a bug where Arabic text renders incorrectly in GlobeAnnotation. (WWJ-220)
- Fixed NullPointerException dragging non-terrain objects with middle mouse button. (WWJ-373)
- Fixed a bug where KML Regions prevent screen object picking. (WWJ-388)
- Fixed a bug where data import does not achieve resolution of the source data. (WWJ-519)
- Fixed a bug where LevelSet.getLastLevel does not return the correct level for sector resolution limits. (WWJ-521)
- Fixed a bug where HighResolutionTerrain bulk intersector does not notify of exceptions. Added notification interface. (WWJ-522)
- Modified PolyLine to implement Highlightable. (WWJ-525)
- Fixed a bug where Graticule layer opacity is ignored. (WWJ-530)
- Fixed a bug where WMS layers intermittently fail to update expiry time. (WWJ-533)
- Fixed a bug where surface shape lines appear dashed when viewed obliquely. (WWJ-537)
- Fixed an endless loop in LatLon.ellipsoidalDistance for antipodal locations. (WWJ-540)
- Fixed a bug where abstact shape extent is non invalidated when the vertical exaggeration changes. (WWJ-542)
- Fixed a bug where WorldWindowGLJPanel throws a NullPointerException when setting Java look and feel. (WWJ-547)
- Fixed a bug in the EGM96 interpolation arithmetic. (WWJ-548)
- Fixed rhumb line floating point errors when calculating due east or west positions. (WWJ-549)
- Fixed a bug where WorldWindowGLJPanel calls the wrong super class removePropertyChangeListener method. (WWJ-550)