We've released version 4.6.1 of OpenMap(tm) at
http://openmap.bbn.com
OpenMap is open source software. Note that for this release of OpenMap,
you must use Java 1.4. New for this release:
2004-10-15 Donald Dietrick <dietrick_at_bbn.com>
* Changed OMGrid to extend OMGraphicList instead of OMGraphic.
This provides better access to the OMGraphics that the
OMGridGenerator creates. If that access is not wanted, just set
the OMGrid (OMGraphicList) to be vague.
2004-10-05 Donald Dietrick <dietrick_at_bbn.com>
* Updated the SwingWorker to match the latest version from Sun.
* Added LambertConformalConic projection, along with it's loader
that has properties to let it describe the LCC attributes it
will
create. You create a loader in the properties for a specific
state plane or other LCC definition, and that shows up as an
option to the ProjectionFactory.
* Updated the decorated OMGraphic parts, adding a circle
decoration and some weather notations. Added editable
OMScalingRaster code, submitted by Dan Bitts. Fixed FontSizer.
Added callouts to FilterSupport to handle actions on OMGraphics
that pass and fail the filter. Fixed transparency handling in
OMRaster. Updated rotation handling in OMRasterObject. Added
accessors to OMScalingRaster to get display corners. Updated
OMText so rotated text factored into distance() correctly.
* Modified LayerHandler to add layers to top of stack, if their
position is undefined.
* Update VPF components. Added feature type sublists to
warehouse support, to better control display of different
feature
types.
* Fixed MakeToc from the RPF package, it was writing bad A.TOC
files. Updated RPF coverage tools. Modified RpfFrame to check
for lower case file names if upper case isn't found, and also to
check for full pathnames when the frame is actually loaded,
instead of when the layer was created, which was really
expensive.
* Modifed BufferedImageRenderPolicy to extend
RenderingHintsRenderPolicy, so buffered image could be
anti-aliased if needed.
* Modified how the OMGraphicHandlerLayer handles/locks the
SwingWorker during updates, and how it cleans up if the
SwingWorker gets interrupted. Removed synchronization notation
from some methods. Added new GRP capability to handle events
over the map.
* Fixed Location bug with label rendering.
* Modified DTEDCoverageLayer to extend OMGraphicHandlerLayer.
* Updated BufferedLayer to properly handle BeanContext with its
sub-layers, as well as responding to getProperties(). Updated
ScaleFilterLayer as well.
* Added methods to LatLonPoint that call GreatCircle class to
calculate distance/azimuth to another LatLonPoint, or to find a
LatLonPont a distance and azimuth away from the current point.
* Updated the LayersPanel initialization with the
LayerControlButtonPanel.
* Added method to ProjectionFactory to let it provide the
default
projection set with the Environment projection parameters.
Updated the BasicMapPanel and ImageServer/MapRequestHandler to
use that method.
* Added the com.bbn.openmap.util.FileUtils class that has a
static method for asking for a file from the user, using a
JFileChooser.
* Added a save capability
com.bbn.openmap.dataAccess.shape.DbfTableModel when it's run
directly on a .dbf file. The save option was also added,
enabled
with a behavior mask setting.
* Updated the com.bbn.openmap.dataAccess.dted components to be
able to handle .dt2 files.
2004-05-24 Donald Dietrick <dietrick_at_bbn.com>
* Added the OptionPropertyEditor, a base class used for
presenting properties with a limited number of choices. These
options are defined in properties, which is why the
PropertyConsumerPropertyEditor was written as the superclass.
The ComboBoxPropertyEditor is the first implementation of the
OptionPropertyEditor, using a JComboBox to display the choices.
The ColorPropertyEditor was modified to use the
DrawingAttributes
fill paint button to display the color choice in addition to
showing the hex representation. The Inspector was modified to
handle PropertyConsumerPropertyEditors.
2004-05-14 Donald Dietrick <dietrick_at_bbn.com>
* Modified the ProjectionFactory to dynamically manage
projections. This involved changing the ProjectionFactory from
a
class containing static methods that accessed hard-coded classes
to a singleton instance that uses the MapHandler to gather
ProjectionLoaders that it uses to create Projection objects. A
BasicProjectionLoader class has been written implementing the
ProjectionLoader interface, and 5 ProjectionLoader classes have
been written extending BasicProjectionLoader that create the
Mercator, CADRG, Orthographic, LLXY and Gnomonic projections.
The ProjectionFactoryLoader class has been written to be added
to
the openmap.components property in order to put the
ProjectionFactory instance into the MapHandler. It can also be
used to define the properties for ProjectionLoaders, although
ProjectionLoaders can also be added directly to the MapHandler
as
well.
Because the change to openmap.properties might catch some people
by surprise, particularly those who use their own
openmap.properties file, the BasicMapPanel has been modified to
check the MapHandler to see if a ProjectionFactory has been
added
to it. If a ProjectionFactory cannot be found, the singleton
instance is automatically added with the default set of
ProjectionLoaders.
Lastly, the Projection property defined in the
openmap.properties
file has to be a class name, instead of a nickname of one of the
projection classes. Some available class names have been added
to
the openmap.properties comments next to that property, and the
BasicMapPanel has been configured to complain about using the
old
style.
* Added methods to ComponentFactory so that those methods that
created components from a list of marker names and a set of
properties could be provided a prefix to place in front of the
marker name and its properties.
* Moved/Added I18n handle to OMComponent, OMComponentPanel and
AbstractOpenMapMenu, to make I18n easier to implement.
* Modified when/how tooltips are cleared and reset in the
InformationDelegator.
2004-05-10 Donald Dietrick <dietrick_at_bbn.com>
* Modified the StandardPCPolicy so that has the option to be
told
to always spawn a thread when a projection is received. It used
to use the number of OMGraphics on it's current list to
determine
if that should happen, but that caused problems if the one
OMGraphic created took a while to create. You can pass the new
flag in a constructor, or set it later.
* Modified how PlugInLayer handles plugin with the BeanContext,
so PlugIns added to the layer at a later time still get to work
with the BeanContext.
* Added the com.bbn.openmap.dataAccess.iso8211 package that
provides support for reading ISO 8211 data files. Also added
the
com.bbn.openmap.dataAccess.asrp package that reads ASRP image
data. ASRP images can be displayed using the
com.bbn.openmap.layer.asrp.ASRPLayer.
* Added attribute mechanism to OMGeometry/OMGraphic objects.
The
attributes are stored in a hashtable in the app object of the
OMGeometry/OMGraphic and can be retrieved with new methods. The
code has been written to work with the possibility of other code
still using the setAppObject and getAppObject methods, as the
app
object set as in older versions of OpenMap is now stored as an
attribute when other attributes are added. This should be
seamless to anybody that is currently using the app object.
* Created MapBeanPrinterMenuItem and added it to the FileMenu.
* Modified the BasicMapPanel so the empty constructor doesn't
create a PropertyHandler that will search for an
openmap.properties file and fill the application with it. The
basic BasicMapHandler will create a MapHandler and
BufferedLayerMapBean, and an empty PropertyHandler. To create a
BasicMapPanel that does look for an openmap.properties file,
create a PropertyHandler with an empty constructor and pass it
to
the BasicMapPanel.
* Added I18 contributions to gui package from Mirek Pawlowski.
* Modified the GestureResponsePolicy interface, adding the
receivesMapEvents(), mouseOver() and leftClick() methods so the
policy could receive information about mouse events that were
occuring over the background map and not over its OMGraphics.
The
latter two methods only get called when the first returns true.
Modified the StandardMapMouseInterpreter to use these methods.
Modified the OMGraphicHandlerLayer to not do anything when these
methods were called.
* Added Piotr Kaminski's RhumbCalculator class that computes the
lengths of Rhumb lines.
2004-04-16 Bill Mackiewicz <bmackiew_at_bbn.com>
* Replaced ext/jakarta-ant-1.5.1/ with ext/apache-ant-1.6.1/
2004-02-13 Don Dietrick <dietrick_at_dhcp89-077-065.bbn.com>
* Added Gordon Vidaver's route calculation package (originally
derived from Ray Tomlinson's code)
(com.bbn.openmap.tools.roads), along with two layers that
provide routes based on the OMGraphics created from their data
sources (com.bbn.openmap.layer.shape.MultiRoadLayer and
com.bbn.openmap.layer.vpf.VPFRoadLayer).
See
http://openmap.bbn.com/CHANGELOG for a complete list of changes.
OpenMap is a JavaBeans-based toolkit for building applications and
applets
needing geographic information. Using OpenMap components, you can
access
data from legacy applications, in-place, in a distributed setting. At
its
core, OpenMap is a set of Swing components that understand geographic
coordinates. These components help you show map data and help you
handle
user input events to manipulate that data.
OpenMap is a trademark of BBNT Solutions LLC.
-----
See
http://openmap.bbn.com for OpenMap(tm) info.
Use openmap_at_spam_me_not.bbn.com for OpenMap questions.
Remove the "spam_me_not." part first!
--
[To unsubscribe to this list send an email to "majdart_at_bbn.com"
with the following text in the BODY of the message "unsubscribe openmap-users"]
Received on Mon Nov 01 2004 - 14:37:31 EST