Interface GeoMapIfc

All Known Subinterfaces:
FullGeoMapIfc
All Known Implementing Classes:
GeographicalMap

public interface GeoMapIfc
This interface defines GUI-platform-independent methods for manipulating a minimal map display in YAAC.
Author:
Andrew Pavlin, KA2DDO
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    displayAttentionAlert(double latitude, double longitude, AX25Message.Precedence precedence)
    Display an AttentionAlert (flashing arrows) on the map for a particular position.
    void
    Flush all caches of File objects referencing map data.
    double
    Get the latitude of the bottom edge of the map.
    double
    Get the latitude of the current center of the map.
    double
    Get the longitude of the current center of the map.
    double
    Get the longitude of the left edge of the map.
    double
    Get the longitude of the right edge of the map.
    float
    Get the current scale factor of the map.
    double
    Get the latitude of the top edge of the map.
    float
    Get the current scale of the map in current DistanceUnits.
    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 alias should be drawn instead of callsign should be drawn for each station/object if an alias is defined for the station/object.
    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 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 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 map should automatically pan to keep the local station centered on the map.
    default boolean
    Specify whether this map should be re-centered on AttentionAlerts of EMERGENCY or ROUTINE precedence.
    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
    Report if unlabeled and untyped map features should be displayed.
    void
    Load a GPS file into a map overlay.
    void
    Locate a specific station on the map window.
    void
    Force the map to immediately regenerate itself based on current state data.
    void
    Force the station renderer layer to regenerate its overlay immediately.
    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
    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
    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
    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
    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
    setMapAutoCentering(boolean isAutoCentered)
    Specify whether the map should automatically pan to keep the local station centered on the map.
    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
    setShowUnlabeledWays(boolean showUnlabeledWays)
    Specify if unlabeled and untyped map features should be displayed.
    void
    setVisible(boolean visible)
    Specify whether the main (map) display window should be visible.
    void
    Push the map GUI window to the foreground by whatever means the underlying GUI toolkit uses.
    void
    Zoom and pan the map so the specified map feature nearly fills the map.
  • Method Details

    • setVisible

      void setVisible(boolean visible)
      Specify whether the main (map) display window should be visible.
      Parameters:
      visible - boolean true if map window should be visible, false if not
    • toFront

      void toFront()
      Push the map GUI window to the foreground by whatever means the underlying GUI toolkit uses.
    • isMapAutoCentered

      boolean isMapAutoCentered()
      Report whether the map should automatically pan to keep the local station centered on the map.
      Returns:
      boolean true if map should auto-center, false otherwise
    • setScale

      void setScale(float scale)
      Change the scale of the map.
      Parameters:
      scale - new scaling factor
    • getScale

      float getScale()
      Get the current scale factor of the map.
      Returns:
      scaling factor
    • getZoomScale

      float getZoomScale()
      Get the current scale of the map in current DistanceUnits.
      Returns:
      half the width of the map in current units
    • setCenter

      void setCenter(double lat, double lon)
      Set the current center position of the map.
      Parameters:
      lat - latitude in degrees North
      lon - longitude in degrees East
    • setCenter

      void setCenter(com.bbn.openmap.proj.coords.LatLonPoint p)
      Set the current center position of the map.
      Parameters:
      p - LatLonPoint for new center
    • getCenterLatitude

      double getCenterLatitude()
      Get the latitude of the current center of the map.
      Returns:
      map center latitude in fractional degrees North
    • getCenterLongitude

      double getCenterLongitude()
      Get the longitude of the current center of the map.
      Returns:
      map center longitude in fractional degrees East
    • getTopLatitude

      double getTopLatitude()
      Get the latitude of the top edge of the map.
      Returns:
      map top edge latitude in fractional degrees North
    • getLeftLongitude

      double getLeftLongitude()
      Get the longitude of the left edge of the map.
      Returns:
      map left edge longitude in fractional degrees East
    • getBottomLatitude

      double getBottomLatitude()
      Get the latitude of the bottom edge of the map.
      Returns:
      map bottom edge latitude in fractional degrees North
    • getRightLongitude

      double getRightLongitude()
      Get the longitude of the right edge of the map.
      Returns:
      map right edge longitude in fractional degrees East
    • setMapAutoCentering

      void setMapAutoCentering(boolean isAutoCentered)
      Specify whether the map should automatically pan to keep the local station centered on the map.
      Parameters:
      isAutoCentered - boolean true if map should auto-center, false otherwise
    • zoomPanToSelectedFeature

      void zoomPanToSelectedFeature(GTNWrapper gtnWrapper)
      Zoom and pan the map so the specified map feature nearly fills the map.
      Parameters:
      gtnWrapper - GTNWrapper around the GenericTaggedNode to be seen
    • setNightMode

      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).
      Parameters:
      isNight - boolean true if should be in night mode
    • isNightMode

      boolean isNightMode()
      Report if the displays are in night mode.
      Returns:
      boolean true if in night mode
    • refresh

      void refresh()
      Force the map to immediately regenerate itself based on current state data.
    • regenerateStations

      void regenerateStations()
      Force the station renderer layer to regenerate its overlay immediately.
    • setMemoryGCPanelVisible

      void setMemoryGCPanelVisible(boolean visible)
      Change the visibility of the memory usage status monitor.
      Parameters:
      visible - boolean true if memory status monitor should be visible
    • loadGpsLog

      void loadGpsLog()
      Load a GPS file into a map overlay.
    • isShowUnlabeledWays

      boolean isShowUnlabeledWays()
      Report if unlabeled and untyped map features should be displayed.
      Returns:
      boolean true if unlabeled/untyped map elements should be plotted
    • setShowUnlabeledWays

      void setShowUnlabeledWays(boolean showUnlabeledWays)
      Specify if unlabeled and untyped map features should be displayed.
      Parameters:
      showUnlabeledWays - boolean true if unlabeled/untyped map elements should be plotted
    • isShowLabelsInEnglish

      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.
      Returns:
      boolean true if English labels should be used
    • setShowLabelsInEnglish

      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.
      Parameters:
      showLabelsInEnglish - boolean true if English labels should be used
    • isAutoLoadMapTiles

      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.
      Returns:
      boolean true if auto-download is enabled
    • setAutoLoadMapTiles

      void setAutoLoadMapTiles(boolean autoLoadMapTiles)
      Specify whether missing OpenStreetMap imported tiles should be automatically downloaded from the author's website.
      Parameters:
      autoLoadMapTiles - boolean true to enable auto-download
    • isDrawRangeCircles

      boolean isDrawRangeCircles()
      Report whether radio range circles are being drawn for stations reporting or implying transmission range limits.
      Returns:
      boolean true if range circles are being drawn
    • setDrawRangeCircles

      void setDrawRangeCircles(boolean drawRangeCircles)
      Specify whether range circles should be drawn around stations reporting or implying transmission range limits.
      Parameters:
      drawRangeCircles - boolean true if range circles should be drawn
    • isDrawMicEStatusCircles

      boolean isDrawMicEStatusCircles()
      Report whether color-coded circles indicating Mic-E status codes are be drawn around stations reporting those codes.
      Returns:
      boolean true if Mic-E status color circles are drawn
    • setDrawMicEStatusCircles

      void setDrawMicEStatusCircles(boolean drawMicEStatusCircles)
      Specify whether color-coded circles indicating Mic-E status codes should be drawn around stations reporting those codes.
      Parameters:
      drawMicEStatusCircles - boolean true if Mic-E status color circles should be drawn
    • isDrawSelf

      boolean isDrawSelf()
      Report whether the local station is plotted on the map.
      Returns:
      boolean true if local station is drawn
    • setDrawSelf

      void setDrawSelf(boolean drawSelf)
      Specify whether the local station should be plotted on the map.
      Parameters:
      drawSelf - boolean true if local station should be drawn
    • isDrawSelfLikeOther

      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.
      Returns:
      boolean true to use APRS symbol, or false to use crosshairs for fixed station or pointer arrowhead for moving station
      See Also:
    • setDrawSelfLikeOther

      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.
      Parameters:
      drawSelfLikeOther - boolean true to use APRS symbol, or false to use crosshairs for fixed station or pointer arrowhead for moving station
      See Also:
    • isDrawItemStatus

      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.
      Returns:
      boolean true if status halo is drawm
      See Also:
    • setDrawItemStatus

      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.
      Parameters:
      drawItemStatus - boolean true if status halo should be drawm
      See Also:
    • isDrawAmbiguityCircle

      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.
      Returns:
      boolean true if ambiguity circles are plotted
    • setDrawAmbiguityCircle

      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.
      Parameters:
      drawAmbiguityCircle - boolean true if ambiguity circles should be plotted
    • isDrawCallsign

      boolean isDrawCallsign()
      Report whether callsign label should be drawn for each station/object.
      Returns:
      boolean true if callsign label should be drawn on map
    • setDrawCallsign

      void setDrawCallsign(boolean drawCallsign)
      Specify whether callsign labels should be drawn for each station/object.
      Parameters:
      drawCallsign - boolean true if callsign label should be drawn on map
    • isDrawAliasInsteadOfCallsign

      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.
      Returns:
      boolean true if alias should be drawn instead of callsign
    • setDrawAliasInsteadOfCallsign

      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.
      Parameters:
      drawAliasInsteadOfCallsign - boolean true if alias should be drawn instead of callsign
    • isDrawDoubleSizedSymbols

      boolean isDrawDoubleSizedSymbols()
      Report if symbols are being drawn double-sized.
      Returns:
      boolean true if symbols are rendered double-size
    • setDrawDoubleSizedSymbols

      void setDrawDoubleSizedSymbols(boolean drawDoubleSizedSymbols)
      Specify whether symbols should be drawn double-sized (32x32 pixels) instead of single-sized (16x16).
      Parameters:
      drawDoubleSizedSymbols - boolean true if symbols should be rendered double-size
    • isDontRotateIcons

      boolean isDontRotateIcons()
      Report whether mobile station icons should be rotated to indicate the direction of station travel (bearing).
      Returns:
      boolean true if icons should not be rotated
    • setDontRotateIcons

      void setDontRotateIcons(boolean dontRotateIcons)
      Specify whether mobile station icons should be rotated to indicate the direction of station travel (bearing).
      Parameters:
      dontRotateIcons - boolean true if icons should not be rotated
    • flushFileCache

      void flushFileCache()
      Flush all caches of File objects referencing map data.
    • locateASpecificStation

      void locateASpecificStation(ArrayList<StationState> matchList, String callsign)
      Locate a specific station on the map window.
      Parameters:
      matchList - ArrayList of StationStates to locate
      callsign - String callsign or tactical alias of the located station
    • displayAttentionAlert

      void displayAttentionAlert(double latitude, double longitude, AX25Message.Precedence precedence)
      Display an AttentionAlert (flashing arrows) on the map for a particular position.
      Parameters:
      latitude - double fractional degrees North
      longitude - double fraction degrees East
      precedence - code for color level to use; ROUTINE is used for station locates
    • isMapCenteredOnAlerts

      default boolean isMapCenteredOnAlerts()
      Specify whether this map should be re-centered on AttentionAlerts of EMERGENCY or ROUTINE precedence.
      Returns:
      boolean true if map should center on AttentionAlerts