Package org.ka2ddo.yaac.gui
Class GeographicalMap
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
org.ka2ddo.yaac.gui.GeographicalMap
- All Implemented Interfaces:
ComponentListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,RootPaneContainer
,WindowConstants
,FullGeoMapIfc
,GeoMapIfc
,ShutdownHandler
,FilterChangeListener
,GpsDataListener
,FirstWindowInitIfc
,GeoMapGuiIfc
,PortMgmtListener
,PrintableView
public class GeographicalMap
extends JFrame
implements GpsDataListener, PortMgmtListener, ShutdownHandler, PrintableView, FullGeoMapIfc, FilterChangeListener, FirstWindowInitIfc, ComponentListener, GeoMapGuiIfc
This class defines a map window for YAAC, using Java AWT/Swing and the OpenMap library to provide
the graphical interface and manage user input to the map.
- Author:
- Andrew Pavlin, KA2DDO, James Palmer, AG5VQ
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
This abstract class provides the infrastructure for adding a layer to the map, so that YAAC plugins can insert other layers at appropriate Z-levels into this map.Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.Type
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields inherited from class javax.swing.JFrame
accessibleContext, rootPane, rootPaneCheckingEnabled
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface org.ka2ddo.yaac.gui.GeoMapGuiIfc
HOME, INCH_EAST, INCH_NORTH, INCH_SOUTH, INCH_WEST, PAN_EAST, PAN_NORTH, PAN_SOUTH, PAN_WEST, ZOOM_IN, ZOOM_IN_NP, ZOOM_OUT, ZOOM_OUT_NP
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
-
Constructor Summary
ConstructorDescriptionGeographicalMap
(MainGui mainGui) Create the main window of YAAC, containing the geographic map, the menu bar, and a few other toolbar controls.GeographicalMap
(MainGui mainGui, String title, double lat, double lon) Create a secondary map window, containing the geographic map, the menu bar, and a few other toolbar controls. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
Allow plugin to insert a new Layer into the GeographicalMap when it is created.void
addSpecificTrackStripe
(String identifier) Add the identifier of a single station or object whose track stripe is to be plotted.void
Clear the plotting of all specific station/object track stripes.void
Invoked when the map window has been made invisible.void
Invoked when the map window's position changes.void
Invoked when the map window's size changes.void
Invoked when the map window has been made visible.copyMap()
Make a screenshot copy of the current map.void
displayAttentionAlert
(double latitude, double longitude, AX25Message.Precedence precedence) Display an AttentionAlert (flashing arrows) on the map for a particular position.void
Display a locate AttentionAlert (flashing arrows) on the map for a particular station or object.void
Display the Locate Amenity dialog, and handle user input to it.void
Display the Severe Weather dialog.void
dispose()
Releases all of the native screen resources used by thisWindow
, its subcomponents, and all of its owned children.void
Invoke an editor for adjusting the colors and elevation thresholds used to render topographic map layers.void
filterSettingsChanged
(Filter changedFilter, boolean changedByUser) Called when the specified Filter's matching criteria have been changed.void
Flush all caches of File objects referencing map data.double
Get the latitude of the bottom edge of the map.Get the latitude/longitude coordinates of the center of the rendered map.double
Get the latitude of the current center of the map.double
Get the longitude of the current center of the map.long
Return the amount of time (in milliseconds) for the last station render.int
Return the number of Objects (non-transmitters) rendered in the last station render.int
Return the number of stations (transmitters) rendered in the last station render.double
Get the longitude of the left edge of the map.com.bbn.openmap.MapBean
Get the JavaBean that actually contains the map canvas.com.bbn.openmap.gui.BasicMapPanel
Get the panel containing the rendered map.long
Get the maximum time that dead reckoning will be projected for an object (non-self-transmitter).long
long
Get the maximum time that dead reckoning will be projected for a station (self-transmitter).long
Get the maximum duration of a track stripe in milliseconds.com.bbn.openmap.MouseDelegator
Get the OpenMap MouseDelegator for this map widget.final OSMLayer
Get the street map rendering layer of this map.final RasterMapOverlay
Get the raster map rendering layer of this map.double
Get the longitude of the right edge of the map.float
getScale()
Get the current scale factor of the map.final StationRenderer
Get the station and object rendering layer of this map.double
Get the latitude of the top edge of the map.final TopoLayer
Get the elevation topography rendering layer of this map.Get the java.awt.Window containing this map widget.float
Get the current scale of the map in currentDistanceUnit
s.void
gpsDataUpdated
(GPSDistributor distributor, GpsFix currentFix, boolean isLocal, String source) Do not call.void
Phase 2 of initializing the GUI (stuff that needs the GUI property of the main YAAC object to be already initialized).boolean
Report whether map tiles will be auto-downloaded (if the author's website can be reached) for any tiles that have not already been downloaded.boolean
Report whether mobile station icons should be rotated to indicate the direction of station travel (bearing).boolean
Report whether the time interval since last receipt of a message from or about a station or object is plotted below the station/object's name.boolean
Report whether alias should be drawn instead of callsign should be drawn for each station/object if an alias is defined for the station/object..boolean
Indicate whether all moving stations should have track stripes plotted.boolean
Report whether aloha circles (optimal maximum RF transmission range for the local station before causing excessive collisions) are plotted on the map.boolean
Report whether a translucent ambiguity circle is drawn behind each station or object to indicate the area over which it could be located, given the precision of the position information reported.boolean
Report whether callsign label should be drawn for each station/object.boolean
Report whether Objects that have been "killed" are plotted on the map.boolean
Report whether deadreckoning position updates for moving stations and objects are calculated and the positions offset and deadreckoning vectors plotted when the stations and objecfts are drawn.boolean
isDrawDF()
Report whether direction-finding cones are plotted from stations reporting DFS vector informationboolean
Report if digipeater hop paths are drawn for stations.boolean
Report if symbols are being drawn double-sized.boolean
Report whether a color-coded "halo" is drawn around each station or object icon indicating its status as one of the APRSdos categories: fixed, mobile, deadreckoned, old, emergency-reporting, locally-controlled Object, or other station's Object.boolean
Report whether color-coded circles indicating Mic-E status codes are be drawn around stations reporting those codes.boolean
Report whether encoded polylines (generally used for National Weather Service severe weather regions) are plotted on the map.boolean
Report whether radio range circles are being drawn for stations reporting or implying transmission range limits.boolean
Report whether the local station is plotted on the map.boolean
Report whether local station is drawn like any other station (using its APRS symbol icon) or as crosshairs or a pointer making it obvious where the station is on the map.boolean
Report whether the motion speed and bearing of a station or object should be plotted below the station/object's name.boolean
Report whether weather stations are drawn as old-style weather map circles with a flagged barb indicating wind direction and speed.boolean
Indicate whether the graticule (latitude/longitude grid lines) are displayed on the map.boolean
Report whether the map should auto-pan to keep specifically tracked mobile stations on the map.boolean
Report whether the map should automatically pan to keep the local station centered on the map.boolean
Specify whether this map should be re-centered on AttentionAlerts of EMERGENCY or ROUTINE precedence.boolean
Report the current visibility of the MemoryGCPanel.boolean
Report if the displays are in night mode.boolean
Report whether map labels should be displayed in English if the default name is in some other locale and OpenStreetMap provides an English translation.boolean
Indicate whether severe weather zone boundaries should be drawn on the map.boolean
Report whether the topographic map should be rendered as contour lines.boolean
Report whether the topographic map overlay should be displayed as filled regions.boolean
Report if unlabeled and untyped map features should be displayed.boolean
isSpecificallyTracked
(String identifier) Test if a given identifier is on the tracking list.boolean
Test if any identifiers are on the tracking list.static boolean
Report whether ground obstructions found in OpenStreetMap data should be plotted onLineOfSightPane
s.void
Load drawing overlay.void
Load a GPS file into a map overlay.void
locateASpecificStation
(ArrayList<StationState> matchList, String callsign) Locate a specific station on the map window.static GridBagConstraints
makeGBC
(int x, int y) Convenience method to help build GridBagConstraints for any handlers created by the Provider that are laid out with GridBagLayout, creating a cell position for a 1x1 cell with left-aligned contents, weighted equally.static GridBagConstraints
makeGBC
(int x, int y, int w) Convenience method to help build GridBagConstraints for any handlers created by the Provider that are laid out with GridBagLayout, creating a cell position for a 1x1 cell with left-aligned contents, weighted equally.static GridBagConstraints
makeGBC
(int x, int y, int w, int h) Convenience method to help build GridBagConstraints for any handlers created by the Provider that are laid out with GridBagLayout, creating a cell position for a 1x1 cell with left-aligned contents, weighted equally.void
moveObject
(StationState ss, ObjectReport or, MoveObjectListener moveObjectListener) Graphically drag a station or object across the map to a new location, updating the object's position appropriately and converting a station to an object if needed.void
panZoomToWeatherZone
(int zoneRowIndex) Pan and zoom the map to show a specific severe weather zone.void
portCreated
(PortConnector connector) Do not call.void
portDeleted
(PortConnector connector) Do not call.void
Print this PrintableView to the Java printing subsystem.void
refresh()
Force the map to immediately regenerate itself based on current state data.void
Force the station renderer layer to regenerate its overlay immediately.void
Force the topographic layer to regenerate its overlay immediately.void
registerMapKeystrokeActions
(int modifiers, InputMap inputMap, ActionMap actionMap) Register the keystrokes that can be used to move this object's map around.boolean
removeSpecificTrackStripe
(String identifier) Remove the identifier of a single station or object whose track stripe is no longer to be plotted.void
satDataUpdated
(GPSDistributor distributor, SatelliteCatalog satCatalog, boolean isLocal, String source) Do not call.void
setAutoLoadMapTiles
(boolean autoLoadMapTiles) Specify whether missing OpenStreetMap imported tiles should be automatically downloaded from the author's website.void
setCenter
(double lat, double lon) Set the current center position of the map.void
setCenter
(com.bbn.openmap.proj.coords.LatLonPoint p) Set the current center position of the map.void
setDontRotateIcons
(boolean dontRotateIcons) Specify whether mobile station icons should be rotated to indicate the direction of station travel (bearing).void
setDrawAge
(boolean drawAge) Specify whether the time interval since last receipt of a message from or about a station or object should be plotted below the station/object's name.void
setDrawAliasInsteadOfCallsign
(boolean drawAliasInsteadOfCallsign) Specify whether alias should be drawn instead of callsign should be drawn for each station/object if an alias is defined for the station/object..void
setDrawAllTrackStripes
(boolean drawAllTrackStripes) Specify whether all moving stations should have track stripes plotted.void
setDrawAlohaCircle
(boolean drawAlohaCircle) Specify whether aloha circles (optimal maximum RF transmission range for the local station before causing excessive collisions) should be plotted on the map.void
setDrawAmbiguityCircle
(boolean drawAmbiguityCircle) Specify whether a translucent ambiguity circle should be drawn behind each station or object to indicate the area over which it could be located, given the precision of the position information reported.void
setDrawCallsign
(boolean drawCallsign) Specify whether callsign labels should be drawn for each station/object.void
setDrawDeadObjects
(boolean drawDeadObjects) Specify whether Objects that have been "killed" should still be plotted on the map.void
setDrawDeadReckoning
(boolean drawDeadReckoning) Specify whether deadreckoning position updates for moving stations and objects should be calculated and the positions offset and deadreckoning vectors plotted when the stations and objecfts are drawn.void
setDrawDF
(boolean drawDF) Specify whether direction-finding cones should be plotted from stations reporting DFS vector informationvoid
setDrawDigipeatHops
(boolean drawDigipeatHops) Specify whether digipeater hop paths should be drawn for stations.void
setDrawDoubleSizedSymbols
(boolean drawDoubleSizedSymbols) Specify whether symbols should be drawn double-sized (32x32 pixels) instead of single-sized (16x16).void
setDrawItemStatus
(boolean drawItemStatus) Specify whether a color-coded "halo" should be drawn around each station or object icon indicating its status as one of the APRSdos categories: fixed, mobile, deadreckoned, old, emergency-reporting, locally-controlled Object, or other station's Object.void
setDrawMicEStatusCircles
(boolean drawMicEStatusCircles) Specify whether color-coded circles indicating Mic-E status codes should be drawn around stations reporting those codes.void
setDrawNWSMultiLine
(boolean drawNWSMultiLine) Specify whether encoded polylines (generally used for National Weather Service severe weather regions) should be plotted on the map.void
setDrawRangeCircles
(boolean drawRangeCircles) Specify whether range circles should be drawn around stations reporting or implying transmission range limits.void
setDrawSelf
(boolean drawSelf) Specify whether the local station should be plotted on the map.void
setDrawSelfLikeOther
(boolean drawSelfLikeOther) Specify whether local station should be drawn like any other station (using its APRS symbol icon) or as crosshairs or a pointer making it obvious where the station is on the map.void
setDrawSpeed
(boolean drawSpeed) Specify whether the motion speed and bearing of a station or object should be plotted below the station/object's name.void
setDrawToolBarVisibility
(boolean isVisible) Specify whether the toolbar for the drawing tools should be visible or not.void
setDrawWeatherAsWeather
(boolean drawWeatherAsWeather) Specify whether weather stations should be drawn as old-style weather map circles with a flagged barb indicating wind direction and speed.void
setGraticuleVisible
(boolean visible) Specify whether the graticule (latitude/longitude grid lines) are displayed on the map.void
setKeepSpecificallyTrackedStationsOnScreen
(boolean keepSpecificallyTrackedStationsOnScreen) Specify whether the map should auto-pan to keep specifically tracked mobile stations on the map.void
Specify the title displayed in the main window's title bar.void
setMapAutoCentering
(boolean isAutoCentered) Specify whether the map should automatically pan to keep the local station centered on the map.void
setMaxAgeDRObject
(long maxAgeDRObject) Set the maximum time that dead reckoning will be projected for an object (non-self-transmitter).void
setMaxAgeDRSpecialObject
(long maxAgeDRSpecialObject) void
setMaxAgeDRStation
(long maxAgeDRStation) Set the maximum time that dead reckoning will be projected for a station (self-transmitter).void
setMaxTrackDuration
(long maxTrackDuration) Set the maximum duration of a track stripe in milliseconds.void
setMemoryGCPanelVisible
(boolean visible) Change the visibility of the memory usage status monitor.void
setNightMode
(boolean isNight) Specify that the displays should be in night mode (black backgrounds with white text/lines, for not ruining the night vision of the operator).void
setScale
(float scale) Change the scale of the map.void
setShowLabelsInEnglish
(boolean showLabelsInEnglish) Specify whether map labels should be displayed in English if the default name is in some other locale and OpenStreetMap provides an English translation.void
setShowSevereWeatherZones
(boolean showSevereWeatherZones) Specify whether severe weather zone boundaries should be drawn on the map.void
setShowTopoContours
(boolean visible) Specify whether the topographic map overlay should be rendered as contour lines.void
setShowTopoRegions
(boolean visible) Specify whether the topographic map overlay should be rendered as filled region.void
setShowUnlabeledWays
(boolean showUnlabeledWays) Specify if unlabeled and untyped map features should be displayed.static void
setUseGroundObstructions
(boolean useGroundObstructions) Specify whether ground obstructions found in OpenStreetMap data should be plotted onLineOfSightPane
s.void
Display the dialog for selecting which parts of the OpenStreetMap database should be rendered on the map.void
Display the dialog for managing raster map images overlays on the map window.void
shutdown()
Do whatever cleanup this object needs for program shutdown.void
Enable defining a line of sight between two points on the map; the user presses the mouse at the starting point, drags to the ending position, and releases.void
startLineOfSightFromHere
(int mouseX, int mouseY) Enable defining a line of sight starting at the specified position on the map.void
startLineOfSightFromMe
(int mouseX, int mouseY) Show the line of sight between this station's position and the position clicked on the map, updating this station's end of the line if it moves.void
startLineOfSightFromMe
(StationState targetStation) Show the line of sight between this station's position and the station or object clicked on the map, updating both ends of the line if either moves.void
zoomPanToSelectedFeature
(GTNWrapper gtnWrapper) Zoom and pan the map so the specified map feature nearly fills the map.Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.ka2ddo.yaac.gui.FirstWindowInitIfc
setVisible
Methods inherited from interface org.ka2ddo.yaac.gui.GeoMapGuiIfc
getIconImage, getLocationOnScreen, getSize
Methods inherited from interface org.ka2ddo.yaac.core.GeoMapIfc
setVisible, toFront
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
Constructor Details
-
GeographicalMap
Create the main window of YAAC, containing the geographic map, the menu bar, and a few other toolbar controls.- Parameters:
mainGui
- GUI core object to fetch common GUI information from
-
GeographicalMap
Create a secondary map window, containing the geographic map, the menu bar, and a few other toolbar controls.- Parameters:
mainGui
- GUI core object to fetch common GUI information fromtitle
- String title to specify on map window title barlat
- double latitude of map center in fractional degrees Northlon
- double lomgitude of map center in fractional degrees East
-
-
Method Details
-
addMapLayer
Allow plugin to insert a new Layer into the GeographicalMap when it is created. Note that this method should be called before the second phase of initializing the first window is invoked; a good way to do this is from theProvider.runInitializersAfter()
method of the plugin defining the new Layer.- Parameters:
lc
- LayerCreator object defining the Z order and means of creating and initializing the new Layer- See Also:
-
isUseGroundObstructions
public static boolean isUseGroundObstructions()Report whether ground obstructions found in OpenStreetMap data should be plotted onLineOfSightPane
s.- Returns:
- boolean true if ground obstructions should be plotted
-
setUseGroundObstructions
public static void setUseGroundObstructions(boolean useGroundObstructions) Specify whether ground obstructions found in OpenStreetMap data should be plotted onLineOfSightPane
s.- Parameters:
useGroundObstructions
- boolean true if ground obstructions should be plotted
-
registerMapKeystrokeActions
Register the keystrokes that can be used to move this object's map around. Presumably, this will be called on the map itself, but may also be called on other widgets (such as theLineOfSightPane
) that will take over keyboard focus from the map but still affect the map.- Specified by:
registerMapKeystrokeActions
in interfaceGeoMapGuiIfc
- Parameters:
modifiers
- int KeyEvent modifiers (in case we have a conflict with mouse and key strokes)inputMap
- InputMap of component(s) to add hot-keys toactionMap
- ActionMap of component(s) to add hot-keys to
-
setMainFrameTitle
public void setMainFrameTitle()Specify the title displayed in the main window's title bar. -
dispose
public void dispose()Releases all of the native screen resources used by thisWindow
, its subcomponents, and all of its owned children. That is, the resources for theseComponent
s will be destroyed, any memory they consume will be returned to the OS, and they will be marked as undisplayable. -
setScale
public void setScale(float scale) Change the scale of the map. -
getScale
public float getScale()Get the current scale factor of the map. -
getZoomScale
public float getZoomScale()Get the current scale of the map in currentDistanceUnit
s.- Specified by:
getZoomScale
in interfaceGeoMapIfc
- Returns:
- half the width of the map in current units
-
setCenter
public void setCenter(double lat, double lon) Set the current center position of the map.- Specified by:
setCenter
in interfaceGeoMapGuiIfc
- Specified by:
setCenter
in interfaceGeoMapIfc
- Parameters:
lat
- latitude in degrees Northlon
- longitude in degrees East
-
setCenter
public void setCenter(com.bbn.openmap.proj.coords.LatLonPoint p) Set the current center position of the map. -
getCenterLatitude
public double getCenterLatitude()Get the latitude of the current center of the map.- Specified by:
getCenterLatitude
in interfaceGeoMapIfc
- Returns:
- map center latitude in fractional degrees North
-
getCenterLongitude
public double getCenterLongitude()Get the longitude of the current center of the map.- Specified by:
getCenterLongitude
in interfaceGeoMapIfc
- Returns:
- map center longitude in fractional degrees East
-
getTopLatitude
public double getTopLatitude()Get the latitude of the top edge of the map.- Specified by:
getTopLatitude
in interfaceGeoMapIfc
- Returns:
- map top edge latitude in fractional degrees North
-
getLeftLongitude
public double getLeftLongitude()Get the longitude of the left edge of the map.- Specified by:
getLeftLongitude
in interfaceGeoMapIfc
- Returns:
- map left edge longitude in fractional degrees East
-
getBottomLatitude
public double getBottomLatitude()Get the latitude of the bottom edge of the map.- Specified by:
getBottomLatitude
in interfaceGeoMapIfc
- Returns:
- map bottom edge latitude in fractional degrees North
-
getRightLongitude
public double getRightLongitude()Get the longitude of the right edge of the map.- Specified by:
getRightLongitude
in interfaceGeoMapIfc
- Returns:
- map right edge longitude in fractional degrees East
-
initMenuBar
public void initMenuBar()Phase 2 of initializing the GUI (stuff that needs the GUI property of the main YAAC object to be already initialized).- Specified by:
initMenuBar
in interfaceFirstWindowInitIfc
-
locateASpecificStation
Locate a specific station on the map window.- Specified by:
locateASpecificStation
in interfaceGeoMapIfc
- Parameters:
matchList
- ArrayList of StationStates to locatecallsign
- String callsign or tactical alias of the located station
-
displayAttentionAlert
Display a locate AttentionAlert (flashing arrows) on the map for a particular station or object.- Parameters:
ss
- StationState of the station or object to highlight
-
displayAttentionAlert
public void displayAttentionAlert(double latitude, double longitude, AX25Message.Precedence precedence) Display an AttentionAlert (flashing arrows) on the map for a particular position.- Specified by:
displayAttentionAlert
in interfaceGeoMapIfc
- Parameters:
latitude
- double fractional degrees Northlongitude
- double fraction degrees Eastprecedence
- code for color level to use; ROUTINE is used for station locates
-
isNightMode
public boolean isNightMode()Report if the displays are in night mode.- Specified by:
isNightMode
in interfaceGeoMapGuiIfc
- Specified by:
isNightMode
in interfaceGeoMapIfc
- Returns:
- boolean true if in night mode
-
setNightMode
public void setNightMode(boolean isNight) Specify that the displays should be in night mode (black backgrounds with white text/lines, for not ruining the night vision of the operator).- Specified by:
setNightMode
in interfaceGeoMapIfc
- Parameters:
isNight
- boolean true if should be in night mode
-
isMapAutoCentered
public boolean isMapAutoCentered()Report whether the map should automatically pan to keep the local station centered on the map.- Specified by:
isMapAutoCentered
in interfaceGeoMapGuiIfc
- Specified by:
isMapAutoCentered
in interfaceGeoMapIfc
- Returns:
- boolean true if map should auto-center, false otherwise
-
setMapAutoCentering
public void setMapAutoCentering(boolean isAutoCentered) Specify whether the map should automatically pan to keep the local station centered on the map.- Specified by:
setMapAutoCentering
in interfaceGeoMapGuiIfc
- Specified by:
setMapAutoCentering
in interfaceGeoMapIfc
- Parameters:
isAutoCentered
- boolean true if map should auto-center, false otherwise
-
refresh
public void refresh()Force the map to immediately regenerate itself based on current state data. -
regenerateTopo
public void regenerateTopo()Force the topographic layer to regenerate its overlay immediately.- Specified by:
regenerateTopo
in interfaceFullGeoMapIfc
-
regenerateStations
public void regenerateStations()Force the station renderer layer to regenerate its overlay immediately.- Specified by:
regenerateStations
in interfaceGeoMapIfc
-
getMapBean
public com.bbn.openmap.MapBean getMapBean()Get the JavaBean that actually contains the map canvas.- Specified by:
getMapBean
in interfaceGeoMapGuiIfc
- Returns:
- MapBean
-
getMapPanel
public com.bbn.openmap.gui.BasicMapPanel getMapPanel()Get the panel containing the rendered map.- Returns:
- BasicMapPanel
-
getCenter
Get the latitude/longitude coordinates of the center of the rendered map.- Returns:
- Point2D containing the latitude (Y) and longitude (X) coordinates
-
getOSMLayer
Get the street map rendering layer of this map.- Specified by:
getOSMLayer
in interfaceGeoMapGuiIfc
- Returns:
- OSMLayer of this map
-
getRasterMapOverlay
Get the raster map rendering layer of this map.- Returns:
- RasterMapOverlay
-
getStationRenderer
Get the station and object rendering layer of this map.- Returns:
- StationRenderer
-
getTopoLayer
Get the elevation topography rendering layer of this map.- Specified by:
getTopoLayer
in interfaceGeoMapGuiIfc
- Returns:
- TopoLayer
-
gpsDataUpdated
public void gpsDataUpdated(GPSDistributor distributor, GpsFix currentFix, boolean isLocal, String source) Do not call. Listener method used to inform the map bean that the map should be refreshed because the GPS position of the local station has changed.- Specified by:
gpsDataUpdated
in interfaceGpsDataListener
- Parameters:
distributor
- GPSDistributor containing the current GPS statecurrentFix
- current GpsFixisLocal
- boolean true if this is GPS data for the local station, false if for a remote GPS receiversource
- String name assigned to remote GPS receiver, or null if for the local receiver
-
satDataUpdated
public void satDataUpdated(GPSDistributor distributor, SatelliteCatalog satCatalog, boolean isLocal, String source) Do not call. Listener method called when the satellite constellation in use changes (ignored).- Specified by:
satDataUpdated
in interfaceGpsDataListener
- Parameters:
distributor
- instance of the GPSDistributorsatCatalog
- updated SatelliteCatalog instanceisLocal
- boolean true if this is GPS data for the local station, false if for a remote GPS receiversource
- String name assigned to remote GPS receiver, or null if for the local receiver
-
copyMap
Make a screenshot copy of the current map.- Returns:
- RenderedImage containing the current map panel contents
-
setDrawToolBarVisibility
public void setDrawToolBarVisibility(boolean isVisible) Specify whether the toolbar for the drawing tools should be visible or not.- Specified by:
setDrawToolBarVisibility
in interfaceFullGeoMapIfc
- Parameters:
isVisible
- boolean true if draw toolbar should be shown
-
getMouseDelegator
public com.bbn.openmap.MouseDelegator getMouseDelegator()Description copied from interface:GeoMapGuiIfc
Get the OpenMap MouseDelegator for this map widget.- Specified by:
getMouseDelegator
in interfaceGeoMapGuiIfc
- Returns:
- MouseDelegator
-
portCreated
Do not call. Callback to report that the specified port has been added to the configuration.- Specified by:
portCreated
in interfacePortMgmtListener
- Parameters:
connector
- PortConnector that was added
-
portDeleted
Do not call. Callback to report that the specified port has been removed from the configuration..- Specified by:
portDeleted
in interfacePortMgmtListener
- Parameters:
connector
- PortConnector that was removed
-
shutdown
public void shutdown()Do whatever cleanup this object needs for program shutdown.- Specified by:
shutdown
in interfaceShutdownHandler
-
makeGBC
Convenience method to help build GridBagConstraints for any handlers created by the Provider that are laid out with GridBagLayout, creating a cell position for a 1x1 cell with left-aligned contents, weighted equally.- Parameters:
x
- int value to use for gridxy
- int value to use for gridy- Returns:
- GridBagConstraints
-
makeGBC
Convenience method to help build GridBagConstraints for any handlers created by the Provider that are laid out with GridBagLayout, creating a cell position for a 1x1 cell with left-aligned contents, weighted equally.- Parameters:
x
- int value to use for gridxy
- int value to use for gridyw
- int value to use for gridwidth- Returns:
- GridBagConstraints
-
makeGBC
Convenience method to help build GridBagConstraints for any handlers created by the Provider that are laid out with GridBagLayout, creating a cell position for a 1x1 cell with left-aligned contents, weighted equally.- Parameters:
x
- int value to use for gridxy
- int value to use for gridyw
- int value to use for gridwidthh
- int value to use for gridheight- Returns:
- GridBagConstraints
-
showLayerSelectorTool
public void showLayerSelectorTool()Display the dialog for selecting which parts of the OpenStreetMap database should be rendered on the map.- Specified by:
showLayerSelectorTool
in interfaceFullGeoMapIfc
-
loadDrawing
public void loadDrawing()Load drawing overlay.- Specified by:
loadDrawing
in interfaceFullGeoMapIfc
-
loadGpsLog
public void loadGpsLog()Load a GPS file into a map overlay.- Specified by:
loadGpsLog
in interfaceGeoMapIfc
-
moveObject
Graphically drag a station or object across the map to a new location, updating the object's position appropriately and converting a station to an object if needed.- Specified by:
moveObject
in interfaceFullGeoMapIfc
- Parameters:
ss
- StationState object describing the station or objector
- ObjectReport to be modified by the movemoveObjectListener
- MoveObjectListener to inform when movement is over
-
showRasterMapDialog
public void showRasterMapDialog()Display the dialog for managing raster map images overlays on the map window.- Specified by:
showRasterMapDialog
in interfaceFullGeoMapIfc
-
printThisView
public void printThisView()Print this PrintableView to the Java printing subsystem. All operations necessary, including finding an appropriate print service, creating some type of print job, and sending the contents to the job, are the responsibility of this method and the methods it calls.- Specified by:
printThisView
in interfacePrintableView
-
setMemoryGCPanelVisible
public void setMemoryGCPanelVisible(boolean visible) Change the visibility of the memory usage status monitor.- Specified by:
setMemoryGCPanelVisible
in interfaceGeoMapIfc
- Parameters:
visible
- boolean true if memory status monitor should be visible
-
isMemoryGCPanelVisible
public boolean isMemoryGCPanelVisible()Report the current visibility of the MemoryGCPanel.- Returns:
- boolean true if panel is visible
-
zoomPanToSelectedFeature
Zoom and pan the map so the specified map feature nearly fills the map.- Specified by:
zoomPanToSelectedFeature
in interfaceGeoMapIfc
- Parameters:
gtnWrapper
- GTNWrapper around theGenericTaggedNode
to be seen
-
displayLocateAmenityDialog
public void displayLocateAmenityDialog()Display the Locate Amenity dialog, and handle user input to it.- Specified by:
displayLocateAmenityDialog
in interfaceFullGeoMapIfc
-
displayNWSActiveZonesDialog
public void displayNWSActiveZonesDialog()Display the Severe Weather dialog.- Specified by:
displayNWSActiveZonesDialog
in interfaceFullGeoMapIfc
-
panZoomToWeatherZone
public void panZoomToWeatherZone(int zoneRowIndex) Pan and zoom the map to show a specific severe weather zone.- Specified by:
panZoomToWeatherZone
in interfaceFullGeoMapIfc
- Parameters:
zoneRowIndex
- zero-based row index into the table of severe weather zones
-
isDrawAllTrackStripes
public boolean isDrawAllTrackStripes()Indicate whether all moving stations should have track stripes plotted.- Specified by:
isDrawAllTrackStripes
in interfaceFullGeoMapIfc
- Returns:
- boolean true if all moving stations should have track stripes
-
setDrawAllTrackStripes
public void setDrawAllTrackStripes(boolean drawAllTrackStripes) Specify whether all moving stations should have track stripes plotted.- Specified by:
setDrawAllTrackStripes
in interfaceFullGeoMapIfc
- Parameters:
drawAllTrackStripes
- boolean true if all moving stations should have track stripes
-
clearAllSpecificTrackStripes
public void clearAllSpecificTrackStripes()Clear the plotting of all specific station/object track stripes.- Specified by:
clearAllSpecificTrackStripes
in interfaceFullGeoMapIfc
-
addSpecificTrackStripe
Add the identifier of a single station or object whose track stripe is to be plotted.- Specified by:
addSpecificTrackStripe
in interfaceFullGeoMapIfc
- Parameters:
identifier
- String station or object identifier
-
removeSpecificTrackStripe
Remove the identifier of a single station or object whose track stripe is no longer to be plotted.- Specified by:
removeSpecificTrackStripe
in interfaceFullGeoMapIfc
- Parameters:
identifier
- String station or object identifier- Returns:
- boolean true if identifier was removed
-
isSpecificallyTracked
Test if a given identifier is on the tracking list.- Specified by:
isSpecificallyTracked
in interfaceFullGeoMapIfc
- Parameters:
identifier
- String station or object identifier- Returns:
- boolean true if this identifier is marked for track stripe display
-
isSpecificallyTracking
public boolean isSpecificallyTracking()Test if any identifiers are on the tracking list.- Specified by:
isSpecificallyTracking
in interfaceFullGeoMapIfc
- Returns:
- boolean true if any stations are specifically tagged for tracking
-
getMaxTrackDuration
public long getMaxTrackDuration()Get the maximum duration of a track stripe in milliseconds.- Specified by:
getMaxTrackDuration
in interfaceFullGeoMapIfc
- Returns:
- maximum plotted track duration in milliseconds
-
setMaxTrackDuration
public void setMaxTrackDuration(long maxTrackDuration) Set the maximum duration of a track stripe in milliseconds.- Specified by:
setMaxTrackDuration
in interfaceFullGeoMapIfc
- Parameters:
maxTrackDuration
- maximum plotted track duration in milliseconds
-
isDrawRangeCircles
public boolean isDrawRangeCircles()Report whether radio range circles are being drawn for stations reporting or implying transmission range limits.- Specified by:
isDrawRangeCircles
in interfaceGeoMapIfc
- Returns:
- boolean true if range circles are being drawn
-
setDrawRangeCircles
public void setDrawRangeCircles(boolean drawRangeCircles) Specify whether range circles should be drawn around stations reporting or implying transmission range limits.- Specified by:
setDrawRangeCircles
in interfaceGeoMapIfc
- Parameters:
drawRangeCircles
- boolean true if range circles should be drawn
-
isDrawMicEStatusCircles
public boolean isDrawMicEStatusCircles()Report whether color-coded circles indicating Mic-E status codes are be drawn around stations reporting those codes.- Specified by:
isDrawMicEStatusCircles
in interfaceGeoMapIfc
- Returns:
- boolean true if Mic-E status color circles are drawn
-
setDrawMicEStatusCircles
public void setDrawMicEStatusCircles(boolean drawMicEStatusCircles) Specify whether color-coded circles indicating Mic-E status codes should be drawn around stations reporting those codes.- Specified by:
setDrawMicEStatusCircles
in interfaceGeoMapIfc
- Parameters:
drawMicEStatusCircles
- boolean true if Mic-E status color circles should be drawn
-
isDrawSelf
public boolean isDrawSelf()Report whether the local station is plotted on the map.- Specified by:
isDrawSelf
in interfaceGeoMapIfc
- Returns:
- boolean true if local station is drawn
-
setDrawSelf
public void setDrawSelf(boolean drawSelf) Specify whether the local station should be plotted on the map.- Specified by:
setDrawSelf
in interfaceGeoMapIfc
- Parameters:
drawSelf
- boolean true if local station should be drawn
-
isDrawSelfLikeOther
public boolean isDrawSelfLikeOther()Report whether local station is drawn like any other station (using its APRS symbol icon) or as crosshairs or a pointer making it obvious where the station is on the map.- Specified by:
isDrawSelfLikeOther
in interfaceGeoMapIfc
- Returns:
- boolean true to use APRS symbol, or false to use crosshairs for fixed station or pointer arrowhead for moving station
- See Also:
-
setDrawSelfLikeOther
public void setDrawSelfLikeOther(boolean drawSelfLikeOther) Specify whether local station should be drawn like any other station (using its APRS symbol icon) or as crosshairs or a pointer making it obvious where the station is on the map.- Specified by:
setDrawSelfLikeOther
in interfaceGeoMapIfc
- Parameters:
drawSelfLikeOther
- boolean true to use APRS symbol, or false to use crosshairs for fixed station or pointer arrowhead for moving station- See Also:
-
isDrawWeatherAsWeather
public boolean isDrawWeatherAsWeather()Report whether weather stations are drawn as old-style weather map circles with a flagged barb indicating wind direction and speed.- Specified by:
isDrawWeatherAsWeather
in interfaceFullGeoMapIfc
- Returns:
- boolean true if weather stations should be plotted with weather map symbols, false if using APRS icon
-
setDrawWeatherAsWeather
public void setDrawWeatherAsWeather(boolean drawWeatherAsWeather) Specify whether weather stations should be drawn as old-style weather map circles with a flagged barb indicating wind direction and speed.- Specified by:
setDrawWeatherAsWeather
in interfaceFullGeoMapIfc
- Parameters:
drawWeatherAsWeather
- boolean true if weather stations should be plotted with weather map symbols, false if using APRS icon
-
isDrawAge
public boolean isDrawAge()Report whether the time interval since last receipt of a message from or about a station or object is plotted below the station/object's name.- Specified by:
isDrawAge
in interfaceFullGeoMapIfc
- Returns:
- boolean true if age is to be plotted
-
setDrawAge
public void setDrawAge(boolean drawAge) Specify whether the time interval since last receipt of a message from or about a station or object should be plotted below the station/object's name.- Specified by:
setDrawAge
in interfaceFullGeoMapIfc
- Parameters:
drawAge
- boolean true if age is to be plotted
-
isDrawDeadObjects
public boolean isDrawDeadObjects()Report whether Objects that have been "killed" are plotted on the map.- Specified by:
isDrawDeadObjects
in interfaceFullGeoMapIfc
- Returns:
- boolean true if "killed" Objects are plotted
-
setDrawDeadObjects
public void setDrawDeadObjects(boolean drawDeadObjects) Specify whether Objects that have been "killed" should still be plotted on the map.- Specified by:
setDrawDeadObjects
in interfaceFullGeoMapIfc
- Parameters:
drawDeadObjects
- boolean true if "killed" Objects should be plotted
-
isDrawAlohaCircle
public boolean isDrawAlohaCircle()Report whether aloha circles (optimal maximum RF transmission range for the local station before causing excessive collisions) are plotted on the map.- Specified by:
isDrawAlohaCircle
in interfaceFullGeoMapIfc
- Returns:
- boolean true if aloha circles are drawn
-
setDrawAlohaCircle
public void setDrawAlohaCircle(boolean drawAlohaCircle) Specify whether aloha circles (optimal maximum RF transmission range for the local station before causing excessive collisions) should be plotted on the map. Note these will only appear if the local station has RF ports that can have collisions.- Specified by:
setDrawAlohaCircle
in interfaceFullGeoMapIfc
- Parameters:
drawAlohaCircle
- boolean true if aloha circles should be drawn
-
isDrawItemStatus
public boolean isDrawItemStatus()Report whether a color-coded "halo" is drawn around each station or object icon indicating its status as one of the APRSdos categories: fixed, mobile, deadreckoned, old, emergency-reporting, locally-controlled Object, or other station's Object.- Specified by:
isDrawItemStatus
in interfaceGeoMapIfc
- Returns:
- boolean true if status halo is drawm
- See Also:
-
setDrawItemStatus
public void setDrawItemStatus(boolean drawItemStatus) Specify whether a color-coded "halo" should be drawn around each station or object icon indicating its status as one of the APRSdos categories: fixed, mobile, deadreckoned, old, emergency-reporting, locally-controlled Object, or other station's Object.- Specified by:
setDrawItemStatus
in interfaceGeoMapIfc
- Parameters:
drawItemStatus
- boolean true if status halo should be drawm- See Also:
-
isDrawSpeed
public boolean isDrawSpeed()Report whether the motion speed and bearing of a station or object should be plotted below the station/object's name.- Specified by:
isDrawSpeed
in interfaceFullGeoMapIfc
- Returns:
- boolean true if speed is to be plotted
-
setDrawSpeed
public void setDrawSpeed(boolean drawSpeed) Specify whether the motion speed and bearing of a station or object should be plotted below the station/object's name.- Specified by:
setDrawSpeed
in interfaceFullGeoMapIfc
- Parameters:
drawSpeed
- boolean true if mobile station speed and course is to be plotted
-
isDrawAmbiguityCircle
public boolean isDrawAmbiguityCircle()Report whether a translucent ambiguity circle is drawn behind each station or object to indicate the area over which it could be located, given the precision of the position information reported.- Specified by:
isDrawAmbiguityCircle
in interfaceGeoMapIfc
- Returns:
- boolean true if ambiguity circles are plotted
-
setDrawAmbiguityCircle
public void setDrawAmbiguityCircle(boolean drawAmbiguityCircle) Specify whether a translucent ambiguity circle should be drawn behind each station or object to indicate the area over which it could be located, given the precision of the position information reported.- Specified by:
setDrawAmbiguityCircle
in interfaceGeoMapIfc
- Parameters:
drawAmbiguityCircle
- boolean true if ambiguity circles should be plotted
-
isDrawDeadReckoning
public boolean isDrawDeadReckoning()Report whether deadreckoning position updates for moving stations and objects are calculated and the positions offset and deadreckoning vectors plotted when the stations and objecfts are drawn.- Specified by:
isDrawDeadReckoning
in interfaceFullGeoMapIfc
- Returns:
- boolean true if deadreckoning is plotted
-
setDrawDeadReckoning
public void setDrawDeadReckoning(boolean drawDeadReckoning) Specify whether deadreckoning position updates for moving stations and objects should be calculated and the positions offset and deadreckoning vectors plotted when the stations and objecfts are drawn.- Specified by:
setDrawDeadReckoning
in interfaceFullGeoMapIfc
- Parameters:
drawDeadReckoning
- boolean true if deadreckoning should be plotted
-
getMaxAgeDRStation
public long getMaxAgeDRStation()Get the maximum time that dead reckoning will be projected for a station (self-transmitter).- Specified by:
getMaxAgeDRStation
in interfaceFullGeoMapIfc
- Returns:
- maximum dead reckon interval in milliseconds
-
setMaxAgeDRStation
public void setMaxAgeDRStation(long maxAgeDRStation) Set the maximum time that dead reckoning will be projected for a station (self-transmitter).- Specified by:
setMaxAgeDRStation
in interfaceFullGeoMapIfc
- Parameters:
maxAgeDRStation
- maximum dead reckon interval in milliseconds
-
getMaxAgeDRObject
public long getMaxAgeDRObject()Get the maximum time that dead reckoning will be projected for an object (non-self-transmitter).- Specified by:
getMaxAgeDRObject
in interfaceFullGeoMapIfc
- Returns:
- maximum dead reckon interval in milliseconds
-
setMaxAgeDRObject
public void setMaxAgeDRObject(long maxAgeDRObject) Set the maximum time that dead reckoning will be projected for an object (non-self-transmitter).- Specified by:
setMaxAgeDRObject
in interfaceFullGeoMapIfc
- Parameters:
maxAgeDRObject
- maximum dead reckon interval in milliseconds
-
getMaxAgeDRSpecialObject
public long getMaxAgeDRSpecialObject()- Specified by:
getMaxAgeDRSpecialObject
in interfaceFullGeoMapIfc
-
setMaxAgeDRSpecialObject
public void setMaxAgeDRSpecialObject(long maxAgeDRSpecialObject) - Specified by:
setMaxAgeDRSpecialObject
in interfaceFullGeoMapIfc
-
isDrawDF
public boolean isDrawDF()Report whether direction-finding cones are plotted from stations reporting DFS vector information- Specified by:
isDrawDF
in interfaceFullGeoMapIfc
- Returns:
- boolean true if direction-finding cones are drawm
-
setDrawDF
public void setDrawDF(boolean drawDF) Specify whether direction-finding cones should be plotted from stations reporting DFS vector information- Specified by:
setDrawDF
in interfaceFullGeoMapIfc
- Parameters:
drawDF
- boolean true if direction-finding cones should be drawm
-
isDrawNWSMultiLine
public boolean isDrawNWSMultiLine()Report whether encoded polylines (generally used for National Weather Service severe weather regions) are plotted on the map.- Specified by:
isDrawNWSMultiLine
in interfaceFullGeoMapIfc
- Returns:
- boolean true if multilines are plotted
-
setDrawNWSMultiLine
public void setDrawNWSMultiLine(boolean drawNWSMultiLine) Specify whether encoded polylines (generally used for National Weather Service severe weather regions) should be plotted on the map.- Specified by:
setDrawNWSMultiLine
in interfaceFullGeoMapIfc
- Parameters:
drawNWSMultiLine
- boolean true if multilines should be plotted
-
isShowSevereWeatherZones
public boolean isShowSevereWeatherZones()Indicate whether severe weather zone boundaries should be drawn on the map.- Specified by:
isShowSevereWeatherZones
in interfaceFullGeoMapIfc
- Returns:
- boolean true if zones should be drawn
-
setShowSevereWeatherZones
public void setShowSevereWeatherZones(boolean showSevereWeatherZones) Specify whether severe weather zone boundaries should be drawn on the map.- Specified by:
setShowSevereWeatherZones
in interfaceFullGeoMapIfc
- Parameters:
showSevereWeatherZones
- boolean true if zones should be drawn
-
isDrawCallsign
public boolean isDrawCallsign()Report whether callsign label should be drawn for each station/object.- Specified by:
isDrawCallsign
in interfaceGeoMapIfc
- Returns:
- boolean true if callsign label should be drawn on map
-
setDrawCallsign
public void setDrawCallsign(boolean drawCallsign) Specify whether callsign labels should be drawn for each station/object.- Specified by:
setDrawCallsign
in interfaceGeoMapIfc
- Parameters:
drawCallsign
- boolean true if callsign label should be drawn on map
-
isDrawAliasInsteadOfCallsign
public boolean isDrawAliasInsteadOfCallsign()Report whether alias should be drawn instead of callsign should be drawn for each station/object if an alias is defined for the station/object..- Specified by:
isDrawAliasInsteadOfCallsign
in interfaceGeoMapIfc
- Returns:
- boolean true if alias should be drawn instead of callsign
-
setDrawAliasInsteadOfCallsign
public void setDrawAliasInsteadOfCallsign(boolean drawAliasInsteadOfCallsign) Specify whether alias should be drawn instead of callsign should be drawn for each station/object if an alias is defined for the station/object..- Specified by:
setDrawAliasInsteadOfCallsign
in interfaceGeoMapIfc
- Parameters:
drawAliasInsteadOfCallsign
- boolean true if alias should be drawn instead of callsign
-
isDontRotateIcons
public boolean isDontRotateIcons()Report whether mobile station icons should be rotated to indicate the direction of station travel (bearing).- Specified by:
isDontRotateIcons
in interfaceGeoMapIfc
- Returns:
- boolean true if icons should not be rotated
-
setDontRotateIcons
public void setDontRotateIcons(boolean dontRotateIcons) Specify whether mobile station icons should be rotated to indicate the direction of station travel (bearing).- Specified by:
setDontRotateIcons
in interfaceGeoMapIfc
- Parameters:
dontRotateIcons
- boolean true if icons should not be rotated
-
isKeepSpecificallyTrackedStationsOnScreen
public boolean isKeepSpecificallyTrackedStationsOnScreen()Report whether the map should auto-pan to keep specifically tracked mobile stations on the map.- Specified by:
isKeepSpecificallyTrackedStationsOnScreen
in interfaceFullGeoMapIfc
- Returns:
- boolean true if map should pan to keep tracked stations on the map
-
setKeepSpecificallyTrackedStationsOnScreen
public void setKeepSpecificallyTrackedStationsOnScreen(boolean keepSpecificallyTrackedStationsOnScreen) Specify whether the map should auto-pan to keep specifically tracked mobile stations on the map.- Specified by:
setKeepSpecificallyTrackedStationsOnScreen
in interfaceFullGeoMapIfc
- Parameters:
keepSpecificallyTrackedStationsOnScreen
- boolean true if map should pan to keep tracked stations on the map
-
isDrawDoubleSizedSymbols
public boolean isDrawDoubleSizedSymbols()Report if symbols are being drawn double-sized.- Specified by:
isDrawDoubleSizedSymbols
in interfaceGeoMapIfc
- Returns:
- boolean true if symbols are rendered double-size
-
setDrawDoubleSizedSymbols
public void setDrawDoubleSizedSymbols(boolean drawDoubleSizedSymbols) Specify whether symbols should be drawn double-sized (32x32 pixels) instead of single-sized (16x16).- Specified by:
setDrawDoubleSizedSymbols
in interfaceGeoMapIfc
- Parameters:
drawDoubleSizedSymbols
- boolean true if symbols should be rendered double-size
-
isDrawDigipeatHops
public boolean isDrawDigipeatHops()Report if digipeater hop paths are drawn for stations.- Specified by:
isDrawDigipeatHops
in interfaceFullGeoMapIfc
- Returns:
- boolean true if digipeater hop paths are drawn for stations
-
setDrawDigipeatHops
public void setDrawDigipeatHops(boolean drawDigipeatHops) Specify whether digipeater hop paths should be drawn for stations.- Specified by:
setDrawDigipeatHops
in interfaceFullGeoMapIfc
- Parameters:
drawDigipeatHops
- boolean true if digipeater hop paths should be drawn for stations
-
isShowUnlabeledWays
public boolean isShowUnlabeledWays()Report if unlabeled and untyped map features should be displayed.- Specified by:
isShowUnlabeledWays
in interfaceGeoMapIfc
- Returns:
- boolean true if unlabeled/untyped map elements should be plotted
-
setShowUnlabeledWays
public void setShowUnlabeledWays(boolean showUnlabeledWays) Specify if unlabeled and untyped map features should be displayed.- Specified by:
setShowUnlabeledWays
in interfaceGeoMapIfc
- Parameters:
showUnlabeledWays
- boolean true if unlabeled/untyped map elements should be plotted
-
isShowLabelsInEnglish
public boolean isShowLabelsInEnglish()Report whether map labels should be displayed in English if the default name is in some other locale and OpenStreetMap provides an English translation.- Specified by:
isShowLabelsInEnglish
in interfaceGeoMapIfc
- Returns:
- boolean true if English labels should be used
-
setShowLabelsInEnglish
public void setShowLabelsInEnglish(boolean showLabelsInEnglish) Specify whether map labels should be displayed in English if the default name is in some other locale and OpenStreetMap provides an English translation.- Specified by:
setShowLabelsInEnglish
in interfaceGeoMapIfc
- Parameters:
showLabelsInEnglish
- boolean true if English labels should be used
-
isAutoLoadMapTiles
public boolean isAutoLoadMapTiles()Report whether map tiles will be auto-downloaded (if the author's website can be reached) for any tiles that have not already been downloaded.- Specified by:
isAutoLoadMapTiles
in interfaceGeoMapIfc
- Returns:
- boolean true if auto-download is enabled
-
setAutoLoadMapTiles
public void setAutoLoadMapTiles(boolean autoLoadMapTiles) Specify whether missing OpenStreetMap imported tiles should be automatically downloaded from the author's website.- Specified by:
setAutoLoadMapTiles
in interfaceGeoMapIfc
- Parameters:
autoLoadMapTiles
- boolean true to enable auto-download
-
isShowTopoContours
public boolean isShowTopoContours()Report whether the topographic map should be rendered as contour lines.- Specified by:
isShowTopoContours
in interfaceFullGeoMapIfc
- Returns:
- boolean true if topography should be rendered as contour lines
-
isGraticuleVisible
public boolean isGraticuleVisible()Indicate whether the graticule (latitude/longitude grid lines) are displayed on the map.- Specified by:
isGraticuleVisible
in interfaceFullGeoMapIfc
- Returns:
- boolean true if graticule is displayed
-
setGraticuleVisible
public void setGraticuleVisible(boolean visible) Specify whether the graticule (latitude/longitude grid lines) are displayed on the map.- Specified by:
setGraticuleVisible
in interfaceFullGeoMapIfc
- Parameters:
visible
- boolean true if graticule is displayed
-
isShowTopoRegions
public boolean isShowTopoRegions()Report whether the topographic map overlay should be displayed as filled regions.- Specified by:
isShowTopoRegions
in interfaceFullGeoMapIfc
- Returns:
- boolean true if topographic overlay is displayed
-
setShowTopoRegions
public void setShowTopoRegions(boolean visible) Specify whether the topographic map overlay should be rendered as filled region. Note this is independent of whether there actually is any topographic data to render.- Specified by:
setShowTopoRegions
in interfaceFullGeoMapIfc
- Parameters:
visible
- boolean true if topographic layer should be rendered as regions
-
setShowTopoContours
public void setShowTopoContours(boolean visible) Specify whether the topographic map overlay should be rendered as contour lines. Note this is independent of whether there actually is any topographic data to render.- Specified by:
setShowTopoContours
in interfaceFullGeoMapIfc
- Parameters:
visible
- boolean true if topographic layer should be rendered as contour lines
-
editTopoColors
public void editTopoColors()Invoke an editor for adjusting the colors and elevation thresholds used to render topographic map layers.- Specified by:
editTopoColors
in interfaceFullGeoMapIfc
-
startLineOfSight
public void startLineOfSight()Enable defining a line of sight between two points on the map; the user presses the mouse at the starting point, drags to the ending position, and releases.- Specified by:
startLineOfSight
in interfaceFullGeoMapIfc
-
startLineOfSightFromHere
public void startLineOfSightFromHere(int mouseX, int mouseY) Enable defining a line of sight starting at the specified position on the map.- Specified by:
startLineOfSightFromHere
in interfaceFullGeoMapIfc
- Parameters:
mouseX
- int horizontal pixel coordinate in mapmouseY
- int vertical pixel coordinate in map
-
startLineOfSightFromMe
public void startLineOfSightFromMe(int mouseX, int mouseY) Show the line of sight between this station's position and the position clicked on the map, updating this station's end of the line if it moves.- Specified by:
startLineOfSightFromMe
in interfaceFullGeoMapIfc
- Parameters:
mouseX
- int horizontal pixel coordinate in mapmouseY
- int vertical pixel coordinate in map
-
startLineOfSightFromMe
Show the line of sight between this station's position and the station or object clicked on the map, updating both ends of the line if either moves.- Specified by:
startLineOfSightFromMe
in interfaceFullGeoMapIfc
- Parameters:
targetStation
- StationState of station or object to trace the path to
-
getLastElapsedPaintTime
public long getLastElapsedPaintTime()Return the amount of time (in milliseconds) for the last station render.- Specified by:
getLastElapsedPaintTime
in interfaceFullGeoMapIfc
- Returns:
- elapsed time in milliseconds for last StationRenderer run
-
getLastNumDrawnObjects
public int getLastNumDrawnObjects()Return the number of Objects (non-transmitters) rendered in the last station render.- Specified by:
getLastNumDrawnObjects
in interfaceFullGeoMapIfc
- Returns:
- count of rendered Objects
-
getLastNumDrawnStations
public int getLastNumDrawnStations()Return the number of stations (transmitters) rendered in the last station render.- Specified by:
getLastNumDrawnStations
in interfaceFullGeoMapIfc
- Returns:
- count of rendered stations
-
isMapCenteredOnAlerts
public boolean isMapCenteredOnAlerts()Specify whether this map should be re-centered on AttentionAlerts of EMERGENCY or ROUTINE precedence.- Specified by:
isMapCenteredOnAlerts
in interfaceGeoMapIfc
- Returns:
- boolean true if map should center on AttentionAlerts
-
flushFileCache
public void flushFileCache()Flush all caches of File objects referencing map data.- Specified by:
flushFileCache
in interfaceGeoMapIfc
-
filterSettingsChanged
Called when the specified Filter's matching criteria have been changed.- Specified by:
filterSettingsChanged
in interfaceFilterChangeListener
- Parameters:
changedFilter
- Filter that has changedchangedByUser
- boolean true if change was manually made by user, false if change was made automatically by dynamic filter logic
-
componentResized
Invoked when the map window's size changes.- Specified by:
componentResized
in interfaceComponentListener
- Parameters:
e
- ComponentEvent
-
componentMoved
Invoked when the map window's position changes.- Specified by:
componentMoved
in interfaceComponentListener
- Parameters:
e
- ComponentEvent
-
componentShown
Invoked when the map window has been made visible.- Specified by:
componentShown
in interfaceComponentListener
- Parameters:
e
- ComponentEvent
-
componentHidden
Invoked when the map window has been made invisible.- Specified by:
componentHidden
in interfaceComponentListener
- Parameters:
e
- ComponentEvent
-
getWindow
Get the java.awt.Window containing this map widget.- Specified by:
getWindow
in interfaceGeoMapGuiIfc
- Returns:
- Window
-