Skip to content

Commit 240b32b

Browse files
author
krogers
committed
Patch from Don:
-Updates to the geo package to make it easier to create GeoExtents. -Created the com.bbn.openmap.dataAccess.shape.ShapeGeoIndex, which is a ExtentIndex for shape files that lets you easily make intersection queries for shape file contents. -Added EmptyTileHandlers to mapTile package that deal with missing tiles in tile sets. Added Grey*MapTileFactory components that convert tiles to greyscale on the fly, for superior backgrounds when plotting tracking data. -Updated BufferedImageRenderPolicy so it double checks for current projection, this removed a jumping effect when using the scroll wheel. -HashCodeUtil makes it easier to implement proper hash code methods. -Update javadoc comments to get rid of errors. -Updated LocationLayer to be OMGraphicHandlerLayer, modified popup menu components to make it play nice with OMMouseMode, modified LayerHandler components to match changes in LocationLayer. git-svn-id: svn+ssh://src.dsl.bbn.com/svn/openmap/trunk@2241 f68c23cc-7f87-4fbc-acfa-d9760b90acc1
1 parent 3b1fb99 commit 240b32b

File tree

155 files changed

+13109
-12872
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

155 files changed

+13109
-12872
lines changed

build.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@
120120
############################ -->
121121

122122
<!-- depends="jar" -->
123-
<target name="run" description="Run the OpenMap application.">
123+
<target name="run" depends="init" description="Run the OpenMap application.">
124124
<java classname="com.bbn.openmap.app.OpenMap" classpath="lib/openmap.jar;lib/milStd2525_png.jar;lib/omcorba.jar;lib/omsvg.jar;lib/omj3d;share" fork="yes">
125125
<classpath>
126126
<path refid="ext_tools_classpath" />

logging.properties

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,7 @@ java.util.logging.ConsoleHandler.formatter = com.bbn.openmap.util.OMLoggingForma
5757
# CONFIG, INFO, FINE, FINER, FINEST, WARN, SEVERE
5858
# For example, set the com.bbn.openmap.MapBean logger to only log FINE
5959
# messages:
60-
#com.bbn.openmap.MapBean.level = FINE
60+
#com.bbn.openmap.MapBean.level = FINE
61+
62+
#Turns on map tile debugging
63+
#MAPTILE_DEBUGGING.level = FINE

openmap.properties

Lines changed: 78 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,9 @@ openmap.components=informationDelegator projFactory mouseDelegator projectionsta
219219
# ###
220220
#openmap.components=informationDelegator projFactory mouseDelegator projectionstack addlayer glc menulist toolBar mouseModePanel selectMouseMode navMouseMode distanceMouseMode omdtl deleteButton omdrawingtool omlineloader omcircleloader omrectloader ompointloader omsplineloader omdecsplineloader ompolyloader omscalingrasterloader omdistloader controlpanel layerHandler projkeys repaintPolicy srl
221221

222+
main.components=informationDelegator projFactory mouseDelegator addlayer glc menulist toolBar deleteButton omdtl overviewMapHandler layersPanel mouseMode omdrawingtool omlineloader omcircleloader omrectloader ompointloader omsplineloader ompolyloader omscalingrasterloader omdistloader layerHandler projkeys repaintPolicy srl scalepanel
223+
main.activeWidgets.fillColor=BBBBBB
224+
222225
# ###################################################
223226
# Menu configuration, defining the menu items listed in the
224227
# openmap.components list.
@@ -280,40 +283,51 @@ helpUserMenuItem.class=com.bbn.openmap.gui.menu.WebSiteHelpMenuItem
280283
# ###################################################
281284
# Defining the other components in the openmap.components list:
282285

283-
deleteButton.class=com.bbn.openmap.gui.OMGraphicDeleteTool
286+
# Key components, usually always want these.
287+
mouseDelegator.class=com.bbn.openmap.MouseDelegator
288+
informationDelegator.class=com.bbn.openmap.InformationDelegator
289+
layerHandler.class=com.bbn.openmap.LayerHandler
290+
291+
# General function additions
292+
projkeys.class=com.bbn.openmap.event.ProjMapBeanKeyListener
293+
repaintPolicy.class=com.bbn.openmap.HintsMapBeanRepaintPolicy
294+
repaintPolicy.renderingHints=KEY_ANTIALIASING
295+
repaintPolicy.KEY_ANTIALIASING=VALUE_ANTIALIAS_ON
296+
repaintPolicy.KEY_RENDERING=VALUE_RENDER_SPEED
297+
projectionstack.class=com.bbn.openmap.proj.ProjectionStack
298+
layersPanel.class=com.bbn.openmap.gui.LayersPanel
299+
menuPanel.class=com.bbn.openmap.gui.MenuPanel
300+
dndCatcher.class=com.bbn.openmap.tools.dnd.DefaultDnDCatcher
301+
dropSupport.class=com.bbn.openmap.tools.dnd.DropListenerSupport
302+
glc.class=com.bbn.openmap.plugin.graphicLoader.GraphicLoaderConnector
303+
304+
# Mouse handling components
305+
mouseModePanel.class=com.bbn.openmap.gui.MouseModeButtonPanel
306+
selectMouseMode.class=com.bbn.openmap.event.SelectMouseMode
284307
distanceMouseMode.class=com.bbn.openmap.event.DistanceMouseMode
285308
panMouseMode.class=com.bbn.openmap.event.PanMouseMode
286309
# Floating number between 0-1, with 1 being opaque, default .5
287310
panMouseMode.opaqueness=1
288311
# True/false, to leave old map up behind panned version.
289312
panMouseMode.leaveShadow=false
290-
dndCatcher.class=com.bbn.openmap.tools.dnd.DefaultDnDCatcher
291-
dropSupport.class=com.bbn.openmap.tools.dnd.DropListenerSupport
292-
glc.class=com.bbn.openmap.plugin.graphicLoader.GraphicLoaderConnector
293-
informationDelegator.class=com.bbn.openmap.InformationDelegator
294-
layerHandler.class=com.bbn.openmap.LayerHandler
295-
layersPanel.class=com.bbn.openmap.gui.LayersPanel
296-
menuPanel.class=com.bbn.openmap.gui.MenuPanel
297-
mouseDelegator.class=com.bbn.openmap.MouseDelegator
298-
mouseModePanel.class=com.bbn.openmap.gui.MouseModeButtonPanel
313+
# There's a NavMouseMode, too. This one defines boxes from center
299314
navMouseMode.class=com.bbn.openmap.event.NavMouseMode2
300-
navpanel.class=com.bbn.openmap.gui.NavigatePanel
301315
nullMouseMode.class=com.bbn.openmap.event.NullMouseMode
316+
# Only mouse mode in "Main" application
317+
mouseMode.class=com.bbn.openmap.event.OMMouseMode
318+
319+
# Drawing tool parts
320+
omdtl.class=com.bbn.openmap.tools.drawing.OMDrawingToolLauncher
302321
omcircleloader.class=com.bbn.openmap.tools.drawing.OMCircleLoader
303322
omdecsplineloader.class=com.bbn.openmap.tools.drawing.OMDecoratedSplineLoader
304323
omdistloader.class=com.bbn.openmap.tools.drawing.OMDistanceLoader
305324
omdrawingtool.class=com.bbn.openmap.tools.drawing.OMDrawingTool
306-
omdtl.class=com.bbn.openmap.tools.drawing.OMDrawingToolLauncher
307325
omlineloader.class=com.bbn.openmap.tools.drawing.OMLineLoader
308326
ompointloader.class=com.bbn.openmap.tools.drawing.OMPointLoader
309327
ompolyloader.class=com.bbn.openmap.tools.drawing.OMPolyLoader
310328
omrectloader.class=com.bbn.openmap.tools.drawing.OMRectLoader
311329
omscalingrasterloader.class=com.bbn.openmap.tools.drawing.OMScalingRasterLoader
312330
omsplineloader.class=com.bbn.openmap.tools.drawing.OMSplineLoader
313-
projectionstack.class=com.bbn.openmap.proj.ProjectionStack
314-
projectionstacktool.class=com.bbn.openmap.gui.ProjectionStackTool
315-
scalepanel.class=com.bbn.openmap.gui.ScaleTextPanel
316-
selectMouseMode.class=com.bbn.openmap.event.SelectMouseMode
317331

318332
# ##
319333
# ToolPanel definitions for the first ToolPanel 'toolbar'
@@ -333,6 +347,14 @@ toolBar.class=com.bbn.openmap.gui.ToolPanel
333347
# it interferes with the first ToolPanel.
334348

335349
#toolBar2.preferredLocation=SOUTH
350+
351+
# Specific Tools
352+
navpanel.class=com.bbn.openmap.gui.NavigatePanel
353+
deleteButton.class=com.bbn.openmap.gui.OMGraphicDeleteTool
354+
projectionstacktool.class=com.bbn.openmap.gui.ProjectionStackTool
355+
scalepanel.class=com.bbn.openmap.gui.ScaleTextPanel
356+
zoompanel.class=com.bbn.openmap.gui.ZoomPanel
357+
336358
# ###
337359

338360
projFactory.class=com.bbn.openmap.proj.ProjectionFactory
@@ -343,14 +365,7 @@ projFactory.ortholoader.class=com.bbn.openmap.proj.OrthographicLoader
343365
projFactory.llxyloader.class=com.bbn.openmap.proj.LLXYLoader
344366
projFactory.gnomonicloader.class=com.bbn.openmap.proj.GnomonicLoader
345367

346-
zoompanel.class=com.bbn.openmap.gui.ZoomPanel
347-
projkeys.class=com.bbn.openmap.event.ProjMapBeanKeyListener
348-
349-
repaintPolicy.class=com.bbn.openmap.HintsMapBeanRepaintPolicy
350-
repaintPolicy.renderingHints=KEY_ANTIALIASING
351-
repaintPolicy.KEY_ANTIALIASING=VALUE_ANTIALIAS_ON
352-
repaintPolicy.KEY_RENDERING=VALUE_RENDER_SPEED
353-
368+
# Not used by default, in secondary openmap.components list, puts controls in panel left of map.
354369
controlpanel.class=com.bbn.openmap.gui.OMControlPanel
355370
controlpanel.OverviewMapHandler.overviewLayers=overviewLayer
356371
controlpanel.OverviewMapHandler.isTool=false
@@ -410,20 +425,16 @@ vpfcache.vpfPath=/data/vpf/vmaplv0/disk0;/data/vpf/vmaplv0/disk1
410425
# ###
411426
# Properties defined for the overview map handler.
412427
# ###
413-
414428
overviewMapHandler.class=com.bbn.openmap.gui.OverviewMapHandler
415429
# marker name list defining background layers used on overview map.
416430
# The layers are defined as any other layer is below, look
417431
# for 'overviewLayer' properties. This is a space-separated list of
418432
# marker names.
419433
overviewMapHandler.overviewLayers=overviewLayer
420-
421434
# how zoomed out to keep the overview map versus the main map
422435
overviewMapHandler.overviewScaleFactor=10f
423-
424436
# when to stop zooming in
425437
overviewMapHandler.overviewMinScale=10000000f
426-
427438
# the layer to use to render on top, showing where the main map covers.
428439
overviewMapHandler.overviewStatusLayer=com.bbn.openmap.layer.OverviewMapAreaLayer
429440
overviewMapHandler.lineColor=ffff0000
@@ -470,6 +481,12 @@ wmsp.prettyName=WMS Layer
470481
epi.class=com.bbn.openmap.plugin.esri.EsriPlugIn
471482
epi.prettyName=Shape Layer with Attributes
472483

484+
# To test how fast your application redraws, use this and add anime to your
485+
# components list. A layer will be created for it, and the palette for the layer
486+
# controls the component. You can add sprites and adjust the redrawing timer. The
487+
# GraphicLoaderConnector needs to be added to the components list as well.
488+
anime.class=com.bbn.openmap.graphicLoader.AnimationTester
489+
473490
# End component definitions
474491
# ###################################################
475492

@@ -520,7 +537,7 @@ png32.class=com.bbn.openmap.image.PNG32ImageFormatter
520537
# ###################################################
521538

522539
# Layers listed here appear on the Map in the order of their names.
523-
openmap.layers=date dtlayer distlayer daynight cities test graticule demo shapePolitical
540+
openmap.layers=date dtlayer distlayer daynight cities test graticule demo tiles shapePolitical
524541

525542
# If you get more data, you can add other layers defined in this file.
526543
# You'll want to look at the properties for each layer and modify them
@@ -531,7 +548,7 @@ openmap.layers=date dtlayer distlayer daynight cities test graticule demo shapeP
531548

532549
# These layers are turned on when the map is first started. Order
533550
# does not matter here...
534-
openmap.startUpLayers=graticule drawing cities shapePolitical
551+
openmap.startUpLayers=graticule drawing tiles shapePolitical
535552

536553
# ###################################################
537554
# These are the properties for individual layers. Consult the
@@ -603,7 +620,6 @@ shapePolitical.prettyName=Political Boundaries
603620
#shapePolitical.shapeFile=data/shape/dcwpo-browse.shp
604621
#shapePolitical.spatialIndex=data/shape/dcwpo-browse.ssx
605622
shapePolitical.shapeFile=data/shape/cntry02/cntry02.shp
606-
shapePolitical.spatialIndex=data/shape/cntry02/cntry02.ssx
607623
# Colors (32bit ARGB)
608624
shapePolitical.lineColor=ff000000
609625
shapePolitical.fillColor=DAD5CB
@@ -999,3 +1015,34 @@ csvcities.latIndex=5
9991015
csvcities.lonIndex=4
10001016
csvcities.csvFileHasHeader=true
10011017

1018+
# Map Tile Layer, using OpenStreetMap tiles
1019+
tiles.class=com.bbn.openmap.layer.imageTile.MapTileLayer
1020+
tiles.prettyName=World Map
1021+
# StandardMapTileFactory can be used if tiles stored locally
1022+
#tiles.tileFactory=com.bbn.openmap.dataAccess.mapTile.StandardMapTileFactory
1023+
# Would define root directory of tiles
1024+
#tiles.rootDir=tiles
1025+
tiles.fileExt=.png
1026+
1027+
# Can also define server
1028+
tiles.tileFactory=com.bbn.openmap.dataAccess.mapTile.ServerMapTileFactory
1029+
# Don't abuse this server!
1030+
tiles.rootDir=http://tah.openstreetmap.org/Tiles/tile
1031+
# Store tiles locally, to reduce load on server
1032+
tiles.localCacheRootDir=/data/tiles/osmtiles
1033+
1034+
# What to do about empty tiles for bottom-most layer? Set
1035+
# up handler. Saves disk space for tile storage. Usually
1036+
# only applies for homegrown tile sets. Upper tile layers
1037+
# will probably want to have nothing set for handler, so no tiles are clear
1038+
tiles.emptyTileHandler=com.bbn.openmap.dataAccess.mapTile.ShpFileEmptyTileHandler
1039+
# Define ocean/background colors for tiles
1040+
tiles.background.fillColor=FFFFFF
1041+
tiles.background.lineColor=FFFFFF
1042+
# Define land color for tiles (empty tiles on land, too)
1043+
tiles.land.fillColor=DECD8B
1044+
tiles.land.lineColor=DECD8B
1045+
# Define zoom level to limit handler response - zoom in past this provides empty coverage (clear)
1046+
tiles.noCoverageZoom=13
1047+
# Use shape file to determine which tiles are over land.
1048+
tiles.shpFile=data/shape/cntry02/cntry02.shp

src/openmap/build.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,9 @@
113113
Build the documentation.
114114
############################ -->
115115
<target name="docs.openmap" depends="init.openmap" description="Make the javadoc API html documents.">
116-
<javadoc sourcepath="${openmap.src}:${openmap.src_ext}" destdir="${openmap.docs}/api" maxmemory="256m" excludepackagenames="**unimplemented**" packagenames="com.bbn.openmap.*, Acme.*, dopplet.*, edu.*" author="true" version="true" use="true" windowtitle="OpenMap API" doctitle="OpenMap" bottom="Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details" />
116+
<javadoc sourcepath="${openmap.src}:${openmap.src_ext}" destdir="${openmap.docs}/api" maxmemory="256m" excludepackagenames="**unimplemented**" packagenames="com.bbn.openmap.*, Acme.*, dopplet.*, edu.*" author="true" version="true" use="true" windowtitle="OpenMap API" doctitle="OpenMap" bottom="Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details">
117+
<classpath refid="ext_tools_classpath" />
118+
</javadoc>
117119
</target>
118120

119121
<!-- ############################

0 commit comments

Comments
 (0)