Skip to content
OpenMap is an Open Source JavaBeans-based programmer's toolkit. Using OpenMap, you can quickly build applications and applets that access data from legacy databases and applications.
Java C HTML Shell Makefile Batchfile
Branch: master
Clone or download
Don Dietrick
Latest commit 9532b11 Dec 9, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
.settings Updating version numbers for branch in MapBean and build.xml Nov 18, 2016
bin Patch from Don: Dec 22, 2011
doc Preparing for tagging 5.1.1 Jun 18, 2014
ext * Updated the MapBean, BufferedMapBean, BufferedLayerMapBean and Nov 20, 2014
lib Servlet build updates. Aug 24, 2012
share Added some data/vpf vmaplv0 configuration files with more instructions Mar 1, 2013
src Updating version numbers for OpenMap 5.1.15, preparing for tag. Dec 9, 2016
.classpath Updates to the OMGraphicHandlerLayer SwingWorker threading mechanism, Dec 15, 2014
.gitignore Updating the WMS servlet build and adding information files. Adding Jun 17, 2014
.project Adding project and classpath files for eclipse. Jul 31, 2007
AUTHORS Prepping for 5.0.1 release. Jul 3, 2013
CHANGELOG Updating version numbers for OpenMap 5.1.15, preparing for tag. Dec 9, 2016
INSTALL Updated INSTALL and README Aug 5, 2016
INSTALL.win32 Updating to Ant 1.6.1. Apr 19, 2004
LICENSE Modified the license slightly to remove the "a Division of BBN Corpor… Oct 11, 2001
README Updated INSTALL and README Aug 5, 2016
build.xml Updating version numbers for OpenMap 5.1.15, preparing for tag. Dec 9, 2016 Patch from Don: Feb 24, 2011
openmap.iml IDEA module May 27, 2010 Adding saveCache property to MapTileLayer, refining cache location in… Dec 9, 2016
version.txt Updating version.txt file. Dec 9, 2016


$Source: /cvs/distapps/openmap/README,v $
$RCSfile: README,v $
$Revision: 1.11 $
$Date: 2002/11/06 19:11:02 $
$Author: bmackiew $


What is it?
OpenMap is a Java Beans 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.

What are the license terms for using OpenMap?
Take a look at the file called LICENSE in the distribution. We want
you to be able to do pretty much anything with it as long as we get
credit for our work and as long as you offer your changes to us so we
can possibly add them to the standard version we distribute.

OpenMap is a trademark
OpenMap is a trademark of BBN Corporation. Just so you're not
confused, BBN Corporation is the legal entity, but we're actually part
of Verizon Communications.  Technically, we do business as "BBN Technologies,
a part of Verizon".

Downloads and home page
The homepage is at

Downloads of the current distribution are available from the homepage.

Where to start?

- OpenMap Viewer

The example is the default "face" of
OpenMap.  While it looks like a complex example to start with, it's
really a simple framework that uses the MapHandler to add and connect
the OpenMap components.  See the old viewer User's Guide
( for more information.  You
can check out the application class for the older
version of the main example class.

You can write your own components that can display your data in the
OpenMap Viewer.  Once you've written the layer or plugin, all you need
to do is to add a reference to it in your file.
The OpenMap Viewer reads this file to get configuration information.
The properties file has instructions for adding layers and plugins to
the application.  Check out the layers in com.bbn.openmap.layer.learn for
examples and explanations on how to create your own layers.

Likewise, you can change the look of the application by modifying the
openmap.components property in the file.  There are
instructions in the properties file for modifying this property, but
the main point is that changing the application does not require a
code change.  The components are defined in the
file and are connected at runtime.

If you want to get more into how the components interact with each 
other, you should take a look at the example applications in the package, SimpleMap and SimpleMap2

- SimpleMap

This class is a very simple example that shows how you use the MapBean and a
layer which shows a map of the world.  This
com/bbn/openmap/app/example/ uses the MapBean to
create a static political map in a window with these steps:

       1. Create a JFrame window.
       2. Create a MapBean.
       3. Create the Political boundary Layer
       4. Add the Layer to the MapBean.
       5. Add the MapBean to the ContentPane of the JFrame.
       6. Show the JFrame window.

- SimpleMap2

This com/bbn/openmap/app/example/ example is a
little more complicated than the previous one, but is more usable.  It
shows the same political layer along with a background graticule layer
(com/bbn/openmap/layer/ and a simple foreground
layer (com/bbn/openmap/layer/learn/ which shows
hypothetical data features.

The file

The OpenMap application is configured at runtime by the contents of
the file. The file is located in
the openmap directory, and has guidance inside it on how to modify
various properties to change a) what components are part of the
OpenMap application, including what layers are available, b) how those
components are configured, and c) the initial map projection used by
the application.

When the OpenMap application starts up, the PropertyHandler object
checks the CLASSPATH to find an file, and then
checks the user's home directory for one. If an
file was found in the home directory, all of its properties get added
to any properties created previously from a CLASSPATH file. If there are duplicate properties, the last
version read (from the home directory) will be the version used.

By default, there is an file located at the top
level of the openmap.jar file. When the jar file is created, the file located in the top level openmap directory
gets copied to the classes/openmap directory, and then included into
the openmap.jar file.

If you make modifications to the file, those
changes will not be reflected in the application unless:

1. The top level openmap directory is included in the CLASSPATH of the
   OpenMap application. This can be done by modifying the openmap
   startup scripts located in the bin directory.

2. The file is copied into your home directory. For
   unix users, this directory is usually /home/<username>. For Mac OS
   X users, this directory is /Users/<username>. For Windows users,
   this directory is D:\Documents and Settings\<username>, where D: is
   the disk windows is installed on. If you are not sure where your
   home directory is, you can compile this code into a
   file and run it:

 public class HomeDir {
 	public static void main(String[] argv) {
 		System.out.println("User home directory is " +

3. You put the file in the top level of the
   openmap.jar file, either by a) recompiling the openmap code, or b)
   unpacking the jar file, replacing the file, and
   repacking the jar file.

The second option is usually the easiest, but your needs may require
one of the other options.

External Dependencies

The source code has been broken out into separate directories for code 
that depends on other packages.

- src/openmap and src/ext:  This code should compile without any special packages.
- src/corba: The missing classes can be generated by building with ant.  The idl files
    are used to create the generated class files.
- src/j3d: This code will compile if the Java 3D package is installed.
- src/svg: This code will compile if Batik (v 1.7) is installed.

If you check OpenMap out from svn (instructions on the download page on the website), these 
external packages are included.

Bugs and Problems
If you need some help, contact the mailing list at:!forum/openmap-users

The old mailing list at BBN is still available here:
You can also submit issues at the OpenMap home on github at:

Please help out!
There's much room for improvement of the OpenMap sources.  We are
interested in any changes you make to the core source, or layers you
develop, or other derivative works.

You can’t perform that action at this time.