Class CenterScaleMapBounds


  • public final class CenterScaleMapBounds
    extends MapBounds
    Represent Map Bounds with a center location and a scale of the map.

    Created by Jesse on 3/26/14.

    • Constructor Summary

      Constructors 
      Constructor Description
      CenterScaleMapBounds​(org.geotools.api.referencing.crs.CoordinateReferenceSystem projection, double centerX, double centerY, double scaleDenominator)
      Constructor.
      CenterScaleMapBounds​(org.geotools.api.referencing.crs.CoordinateReferenceSystem projection, double centerX, double centerY, Scale scale)
      Constructor.
    • Constructor Detail

      • CenterScaleMapBounds

        public CenterScaleMapBounds​(org.geotools.api.referencing.crs.CoordinateReferenceSystem projection,
                                    double centerX,
                                    double centerY,
                                    double scaleDenominator)
        Constructor.
        Parameters:
        projection - the projection these bounds are defined in.
        centerX - the x coordinate of the center point.
        centerY - the y coordinate of the center point.
        scaleDenominator - the scale denominator of the map.
      • CenterScaleMapBounds

        public CenterScaleMapBounds​(org.geotools.api.referencing.crs.CoordinateReferenceSystem projection,
                                    double centerX,
                                    double centerY,
                                    Scale scale)
        Constructor.
        Parameters:
        projection - the projection these bounds are defined in.
        centerX - the x coordinate of the center point.
        centerY - the y coordinate of the center point.
        scale - the scale of the map.
    • Method Detail

      • toReferencedEnvelope

        public org.geotools.geometry.jts.ReferencedEnvelope toReferencedEnvelope​(java.awt.Rectangle paintArea)
        Description copied from class: MapBounds
        Create a ReferencedEnvelope representing the bounds.
        Specified by:
        toReferencedEnvelope in class MapBounds
        Parameters:
        paintArea - the size of the map that will be drawn (at 72 DPI).
      • adjustedEnvelope

        public MapBounds adjustedEnvelope​(java.awt.Rectangle paintArea)
        Description copied from class: MapBounds
        Create a ReferencedEnvelope representing the bounds.
        Specified by:
        adjustedEnvelope in class MapBounds
        Parameters:
        paintArea - the size of the map that will be drawn.
      • adjustBoundsToNearestScale

        public MapBounds adjustBoundsToNearestScale​(ZoomLevels zoomLevels,
                                                    double tolerance,
                                                    ZoomLevelSnapStrategy zoomLevelSnapStrategy,
                                                    boolean geodetic,
                                                    java.awt.Rectangle paintArea,
                                                    double dpi)
        Description copied from class: MapBounds
        Adjust these bounds so that they are adjusted to the nearest scale in the provided set of scales.

        The center should remain the same and the scale should be adjusted

        Specified by:
        adjustBoundsToNearestScale in class MapBounds
        Parameters:
        zoomLevels - the list of Zoom Levels
        tolerance - the tolerance to use when considering if two values are equal. For example if 12.0 == 12.001. The tolerance is a percentage
        zoomLevelSnapStrategy - the strategy to use for snapping to the nearest zoom level.
        geodetic - snap to geodetic scales.
        paintArea - the paint area of the map.
        dpi - the DPI.
      • getScale

        public Scale getScale​(java.awt.Rectangle paintArea,
                              double dpi)
        Description copied from class: MapBounds
        Calculate and return the scale of the map bounds.
        Specified by:
        getScale in class MapBounds
        Parameters:
        paintArea - the paint area of the map.
        dpi - the dpi of the map
      • adjustBoundsToRotation

        public MapBounds adjustBoundsToRotation​(double rotation)
        Description copied from class: MapBounds
        In case a rotation is used for the map, the bounds have to be adjusted so that all visible parts are rendered.
        Specified by:
        adjustBoundsToRotation in class MapBounds
        Parameters:
        rotation - The rotation of the map in radians.
        Returns:
        Bounds adjusted to the map rotation.
      • zoomOut

        public CenterScaleMapBounds zoomOut​(double factor)
        Description copied from class: MapBounds
        Zooms-out the bounds by the given factor.
        Specified by:
        zoomOut in class MapBounds
        Parameters:
        factor - The zoom factor.
        Returns:
        Bounds adjusted to the zoom factor.
      • zoomToScale

        public MapBounds zoomToScale​(Scale newScale)
        Description copied from class: MapBounds
        Zoom to the given scale.
        Specified by:
        zoomToScale in class MapBounds
        Parameters:
        newScale - The new scale.
        Returns:
        Bounds adjusted to the scale.
      • getCenter

        public org.locationtech.jts.geom.Coordinate getCenter()
        Description copied from class: MapBounds
        Get the center.
        Specified by:
        getCenter in class MapBounds
        Returns:
        the center position
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class MapBounds
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object