PIRL.Viewers

## Class Projection_Viewer

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - java.awt.Window
      - - java.awt.Frame
        - - javax.swing.JFrame
          - - PIRL.Viewers.Projection_Viewer

All Implemented Interfaces:
  ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

    public class Projection_Viewer
    extends JFrame

A Projection_Viewer provides a view of coordinate projection mappings.

A JFrame containing a Projection_Pane and optionally a Parameter_Pane.

See Also:
  `Parameter`, `Projection_Pane`, `Parameter_Pane`, Serialized Form

### Nested Class Summary

### 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
`static int` `EXIT_COMMAND_LINE_SYNTAX` Exit status when a command line syntax problem occurs.
`static int` `EXIT_NO_PARAMETERS` Exit status when no parameters can be obtained.
`static int` `EXIT_NO_PROJECTION` Exit status when no projection can be determined.
`static int` `EXIT_SUCCESS` Exit status on success.
`static String` `ID` Class name and version identification.

### Fields inherited from class javax.swing.JFrame

`accessibleContext, EXIT_ON_CLOSE, 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 javax.swing.WindowConstants

`DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE`

### Fields inherited from interface java.awt.image.ImageObserver

`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

### Method Summary

Methods
`static void` `main(String[] args)` Launches an interactive Projection_Viewer or performs a non-interactive coordinate projection.
`static Parameter` `Named_Parameters(String source)` Assemble a Paremeter from a source.
`void` `Show_Parameters(boolean show)` Select whether the parameters used to construct the Projection are shown.
`static void` `Usage()` Print command line usage syntax.

### 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, dispose, 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, getPeer, 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, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, 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 java.awt.MenuContainer

`getFont, postEvent`

### Field Detail

#### ID

    public static final String ID

Class name and version identification.

See Also:
  Constant Field Values

#### EXIT_SUCCESS

    public static final int EXIT_SUCCESS

Exit status on success.

See Also:
  Constant Field Values

#### EXIT_COMMAND_LINE_SYNTAX

    public static final int EXIT_COMMAND_LINE_SYNTAX

Exit status when a command line syntax problem occurs.

See Also:
  Constant Field Values

#### EXIT_NO_PARAMETERS

    public static final int EXIT_NO_PARAMETERS

Exit status when no parameters can be obtained.

See Also:
  Constant Field Values

#### EXIT_NO_PROJECTION

    public static final int EXIT_NO_PROJECTION

Exit status when no projection can be determined.

See Also:
  Constant Field Values

### Method Detail

#### Show_Parameters

    public void Show_Parameters(boolean show)

Select whether the parameters used to construct the Projection are shown.

Parameters:
  `show` - If true, a Parameter_Pane will be shown at the botton of the viewer window. If false, the Parameter_Pane will be removed from the display.

#### main

    public static void main(String[] args)

Launches an interactive Projection_Viewer or performs a non-interactive coordinate projection.

Exit status values:

`EXIT_SUCCESS` (0) - Success.

`EXIT_COMMAND_LINE_SYNTAX` (1) - A command line syntax problem occured.
`EXIT_NO_PARAMETERS` (2) - No parameters could be obtained.
`EXIT_NO_PROJECTION` (3) - No projection could be determined.

Parameters:
  `args` - The `command line` arguments.
See Also:
  `Usage()`

#### Named_Parameters

    public static Parameter Named_Parameters(String source)

Assemble a Paremeter from a source.

If an InputStream can not be constructed on the source a message that the source could not be accessed is printed to stderr. If the source is the dash ('-') character stdin will be used. If a Parameter can not be constructed from the InputStream a message describing the problem is printed to stderr.

The name of the returned Parameter will be the source String. If a URL can not be constructed from the source String, or it a URL can be formed and it is found to have the "file" protocol, the full canonical pathname of the referenced file is set as the comment for the returned Parameter. If, however, the source String is the dash character no comment is applied.

Parameters:
  `source` - The parameter source reference String. This may be a file pathname, a URL, or the dash ('-') character to indicate that the source is stdin.
Returns:
  A Parameter. This will be null if no Parameter could be constructed from the source.

#### Usage

    public static void Usage()

Print command line usage syntax.

>     Usage: Projection_Viewer <Switches> <PVL source>
>       Switches -
>         -Spherical
>         -Image <x>,<y> | -World <longitude>,<latitude>]

#### PVL source:

The source of PVL parameters containing the map projection information. This may be a file pathname, a URL, or the dash ('-') character to specify that stdin is the source.

#### Spherical:

When a polar stereographic projection is selected the faster but slightly less accurate spherical form of the projection will be used when this option is specified. Otherwise the elliptical form will be used.

#### Non-interactive coordinate projection:

When either an image x,y or real world longitude,latitude coordinate is specified the projection determined by the source parameters is applied to map the coordinate to the other reference system. The name of the selected projection and both sets of coordinates are printed.

N.B.This method always results in a System.exit with a status of `EXIT_COMMAND_LINE_SYNTAX`.