// **********************************************************************
//
//
//
// BBN Technologies
// 10 Moulton Street
// Cambridge, MA 02138
// (617) 873-8000
//
// Copyright (C) BBNT Solutions LLC. All rights reserved.
//
//
// **********************************************************************
//
// $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/proj/Planet.java,v $
// $RCSfile: Planet.java,v $
// $Revision: 1.4.2.1 $
// $Date: 2004/10/14 18:27:37 $
// $Author: dietrick $
//
// **********************************************************************
package dk.thoerup.traininfoservice.geo;
/**
* Planet datums and parameters. These values are taken from John
* Snyder's Map Projections --A Working Manual You should add
* datums as needed, consult the ellips.dat file.
*/
public class Planet {
// Solar system id's. Add new ones as needed.
final public static transient int Earth = 3;
final public static transient int Mars = 4;
// WGS84 / GRS80 datums
final public static transient float wgs84_earthPolarRadiusMeters = 6356752.3142f;
final public static transient double wgs84_earthPolarRadiusMeters_D = 6356752.3142;
final public static transient float wgs84_earthEquatorialRadiusMeters = 6378137.0f;
final public static transient double wgs84_earthEquatorialRadiusMeters_D = 6378137.0;
final public static transient float wgs84_earthFlat = 1 - (wgs84_earthPolarRadiusMeters / wgs84_earthEquatorialRadiusMeters);// 1 -
// (minor/major)
// =
// 1/298.257
final public static transient float wgs84_earthEccen = (float) Math.sqrt(2
* wgs84_earthFlat - (wgs84_earthFlat * wgs84_earthFlat));// sqrt(2*f
// -
// f^2)
// =
// 0.081819221f
final public static transient float wgs84_earthEquatorialCircumferenceMeters = MoreMath.TWO_PI
* wgs84_earthEquatorialRadiusMeters;
final public static transient float wgs84_earthEquatorialCircumferenceKM = wgs84_earthEquatorialCircumferenceMeters / 1000f;
final public static transient float wgs84_earthEquatorialCircumferenceMiles = wgs84_earthEquatorialCircumferenceKM * 0.62137119f;//HACK
// use
// UNIX
// units?
final public static transient float wgs84_earthEquatorialCircumferenceNMiles = 21600.0f; // 60.0f
// *
// 360.0f;
// //
// sixty
// nm
// per
// degree
final public static transient double wgs84_earthEquatorialCircumferenceMeters_D = MoreMath.TWO_PI_D
* wgs84_earthEquatorialRadiusMeters_D;
final public static transient double wgs84_earthEquatorialCircumferenceKM_D = wgs84_earthEquatorialCircumferenceMeters_D / 1000;
final public static transient double wgs84_earthEquatorialCircumferenceMiles_D = wgs84_earthEquatorialCircumferenceKM_D * 0.62137119;//HACK
// use
// UNIX
// units?
final public static transient double wgs84_earthEquatorialCircumferenceNMiles_D = 21600.0; // 60.0f
// *
// 360.0f;
// //
// sixty
// nm
// per
// degree
// wgs84_earthEquatorialCircumferenceKM*0.5389892f; // calculated,
// same as line above.
// wgs84_earthEquatorialCircumferenceKM*0.5399568f;//HACK use UNIX
// units? << This was wrong.
// Mars
final public static transient float marsEquatorialRadius = 3393400.0f;// meters
final public static transient float marsEccen = 0.101929f;// eccentricity
// e
final public static transient float marsFlat = 0.005208324f;// 1-(1-e^2)^1/2
// International 1974
final public static transient float international1974_earthPolarRadiusMeters = 6356911.946f;
final public static transient float international1974_earthEquatorialRadiusMeters = 6378388f;
final public static transient float international1974_earthFlat = 1 - (international1974_earthPolarRadiusMeters / international1974_earthEquatorialRadiusMeters);// 1 -
// (minor/major)
// =
// 1/297
// Extra scale constant for better viewing of maps (do not use
// this to
// calculate anything but points to be viewed!)
public transient static int defaultPixelsPerMeter = 3272;// 3384:
// mattserver/Map.C,
// 3488:
// dcw
// cannot construct
private Planet() {}
}