ucar.unidata.geoloc.projection.sat
Class MSGnavigation

java.lang.Object
  extended by ucar.unidata.geoloc.ProjectionImpl
      extended by ucar.unidata.geoloc.projection.sat.MSGnavigation
All Implemented Interfaces:
Serializable, Cloneable, Projection

public class MSGnavigation
extends ProjectionImpl

Port Eumetsat MSG_navigation.c to java from http://www.eumetsat.int/idcplg?IdcService=GET_FILE&dDocName=zip_tools_msg_nav_c&RevisionSelectionMethod=LatestReleased

Since:
Jan 9, 2010
Author:
caron
See Also:
"http://www.eumetsat.int/idcplg?IdcService=GET_FILE&dDocName=PDF_CGMS_03&RevisionSelectionMethod=LatestReleased", "www.itc.nl/library/papers_2005/conf/gieske_pro.pdf", Serialized Form

Field Summary
 
Fields inherited from class ucar.unidata.geoloc.ProjectionImpl
ATTR_NAME, atts, defaultMapArea, EARTH_RADIUS, INDEX_LAT, INDEX_LON, INDEX_X, INDEX_Y, isLatLon, name, PI, PI_OVER_2, PI_OVER_4, TOLERANCE
 
Constructor Summary
MSGnavigation()
           
MSGnavigation(double lat0, double lon0, double major_axis, double minor_axis, double sat_height, double scale_x, double scale_y)
          Constructor
 
Method Summary
 ProjectionImpl constructCopy()
          copy constructor - avoid clone !!
 boolean crossSeam(ProjectionPoint pt1, ProjectionPoint pt2)
          Does the line between these two points cross the projection "seam".
 boolean equals(Object proj)
          Returns true if this represents the same Projection as proj.
 ProjectionPoint latLonToProj(LatLonPoint latlon, ProjectionPointImpl destPoint)
          Convert a LatLonPoint to projection coordinates
 ProjectionRect latLonToProjBB(LatLonRect rect)
          Create a ProjectionRect from the given LatLonRect.
static void main(String[] arg)
           
 String paramsToString()
          Get a string representation of the projection parameters
 LatLonPoint projToLatLon(ProjectionPoint ppt, LatLonPointImpl destPoint)
          Convert projection coordinates to a LatLonPoint Note: a new object is not created on each call for the return value.
 String toString()
          Get a String representation of this projection.
 
Methods inherited from class ucar.unidata.geoloc.ProjectionImpl
addParameter, addParameter, addParameter, clone, getClassName, getDefaultMapArea, getDefaultMapAreaLL, getHeader, getLatLonBoundingBox, getName, getProjectionParameters, getProjectionTypeLabel, isLatLon, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, projToLatLon, projToLatLon, projToLatLon, projToLatLon, projToLatLon, projToLatLon, projToLatLonBB, setDefaultMapArea, setName
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MSGnavigation

public MSGnavigation()

MSGnavigation

public MSGnavigation(double lat0,
                     double lon0,
                     double major_axis,
                     double minor_axis,
                     double sat_height,
                     double scale_x,
                     double scale_y)
Constructor

Parameters:
lat0 - in degrees; geosynch satelite is over this point
lon0 - in degrees; geosynch satelite is over this point
major_axis - in meters
minor_axis - in meters
sat_height - in meters
scale_x - convert between aperature size in radians and distance in km (xrad = xkm / scale_x)
scale_y - scale_factor = (nr - 1) * major_axis, nr = altitude of the camera from the Earths centre, measured in units of the Earth (equatorial) radius
Method Detail

toString

public String toString()
Description copied from class: ProjectionImpl
Get a String representation of this projection.

Overrides:
toString in class ProjectionImpl
Returns:
the name of the projection. This is what gets displayed when you add the projection object to a UI widget (e.g. label, combobox)

constructCopy

public ProjectionImpl constructCopy()
copy constructor - avoid clone !!

Specified by:
constructCopy in class ProjectionImpl
Returns:
a copy of this Projection

paramsToString

public String paramsToString()
Description copied from class: ProjectionImpl
Get a string representation of the projection parameters

Specified by:
paramsToString in interface Projection
Specified by:
paramsToString in class ProjectionImpl
Returns:
string representation of the projection parameters

latLonToProj

public ProjectionPoint latLonToProj(LatLonPoint latlon,
                                    ProjectionPointImpl destPoint)
Description copied from class: ProjectionImpl
Convert a LatLonPoint to projection coordinates

Specified by:
latLonToProj in interface Projection
Specified by:
latLonToProj in class ProjectionImpl
Parameters:
latlon - convert from these lat, lon coordinates
destPoint - the object to write to
Returns:
the given destPoint

projToLatLon

public LatLonPoint projToLatLon(ProjectionPoint ppt,
                                LatLonPointImpl destPoint)
Description copied from class: ProjectionImpl
Convert projection coordinates to a LatLonPoint Note: a new object is not created on each call for the return value.

Specified by:
projToLatLon in interface Projection
Specified by:
projToLatLon in class ProjectionImpl
Parameters:
ppt - convert from these projection coordinates
destPoint - the object to write to
Returns:
LatLonPoint convert to these lat/lon coordinates

crossSeam

public boolean crossSeam(ProjectionPoint pt1,
                         ProjectionPoint pt2)
Description copied from class: ProjectionImpl
Does the line between these two points cross the projection "seam".

Specified by:
crossSeam in interface Projection
Specified by:
crossSeam in class ProjectionImpl
Parameters:
pt1 - the line goes between these two points
pt2 - the line goes between these two points
Returns:
false if there is no seam

equals

public boolean equals(Object proj)
Description copied from class: ProjectionImpl
Returns true if this represents the same Projection as proj.

Specified by:
equals in interface Projection
Specified by:
equals in class ProjectionImpl
Parameters:
proj - projection in question
Returns:
true if this represents the same Projection as proj.

latLonToProjBB

public ProjectionRect latLonToProjBB(LatLonRect rect)
Create a ProjectionRect from the given LatLonRect. Handles lat/lon points that do not intersect the projection panel.

Overrides:
latLonToProjBB in class ProjectionImpl
Parameters:
rect - the LatLonRect
Returns:
ProjectionRect, or null if no part of the LatLonRect intersects the projection plane

main

public static void main(String[] arg)


Copyright © 1999-2011 UCAR/Unidata. All Rights Reserved.