/usr/include/ossim/projection/ossimBngProjection.h is in libossim-dev 1.7.21-3ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | //*******************************************************************
//
// License: See top level LICENSE.txt file.
//
// Author: Garrett Potts (gpotts@imagelinks.com)
//
//*******************************************************************
// $Id: ossimBngProjection.h 9968 2006-11-29 14:01:53Z gpotts $
#include <ossim/projection/ossimMapProjection.h>
class OSSIMDLLEXPORT ossimBngProjection : public ossimMapProjection
{
public:
ossimBngProjection();
virtual ossimObject* dup()const
{
return new ossimBngProjection(*this);
}
virtual ossimGpt inverse(const ossimDpt &eastingNorthing)const;
virtual ossimDpt forward(const ossimGpt &latLon)const;
virtual void update();
/*!
* Method to save the state of an object to a keyword list.
* Return true if ok or false on error.
*/
virtual bool saveState(ossimKeywordlist& kwl,
const char* prefix=0)const;
/*!
* Method to the load (recreate) the state of an object from a keyword
* list. Return true if ok or false on error.
*/
virtual bool loadState(const ossimKeywordlist& kwl,
const char* prefix=0);
protected:
/* Ellipsoid Parameters, must be Airy */
double BNG_a; /* Semi-major axis of ellipsoid, in meters */
double BNG_f; /* Flattening of ellipsoid */
/* BNG projection Parameters */
double BNG_Origin_Lat; /* Latitude of origin, in radians */
double BNG_Origin_Long; /* Longitude of origin, in radians */
double BNG_False_Northing; /* False northing, in meters */
double BNG_False_Easting; /* False easting, in meters */
double BNG_Scale_Factor; /* Scale factor */
mutable long string_Broken;
long Find_Index (char letter,
const char* letter_Array,
long *index)const;
long Round_BNG (double value)const;
long Make_BNG_String (char ltrnum[4],
long Easting,
long Northing,
char* BNG,
long Precision)const;
long Break_BNG_String (char* BNG,
char Letters[3],
double* Easting,
double* Northing,
long* Precision)const;
long Check_Out_Of_Area(char BNG500,
char BNG100)const;
long Set_BNG_Parameters(char *Ellipsoid_Code);
void Get_BNG_Parameters(char *Ellipsoid_Code);
/*!
* The function Convert_Geodetic_To_BNG converts geodetic (latitude and
* longitude) coordinates to a BNG coordinate string, according to the
* current ellipsoid parameters. If any errors occur, the error code(s)
* are returned by the function, otherwise BNG_NO_ERROR is returned.
*
* Latitude : Latitude, in radians (input)
* Longitude : Longitude, in radians (input)
* Precision : Precision level of BNG string (input)
* BNG : British National Grid coordinate string (output)
*
*/
long Convert_Geodetic_To_BNG (double Latitude,
double Longitude,
long Precision,
char* BNG)const;
/*!
* The function Convert_BNG_To_Geodetic converts a BNG coordinate string
* to geodetic (latitude and longitude) coordinates, according to the current
* ellipsoid parameters. If any errors occur, the error code(s) are returned
* by the function, otherwise BNG_NO_ERROR is returned.
*
* BNG : British National Grid coordinate string (input)
* Latitude : Latitude, in radians (output)
* Longitude : Longitude, in radians (output)
*
*/
long Convert_BNG_To_Geodetic (char *BNG,
double *Latitude,
double *Longitude)const;
/*!
* The function Convert_Transverse_Mercator_To_BNG converts Transverse Mercator
* (easting and northing) coordinates to a BNG coordinate string, according
* to the current ellipsoid parameters. If any errors occur, the error code(s)
* are returned by the function, otherwise BNG_NO_ERROR is returned.
*
* Easting : Easting (X), in meters (input)
* Northing : Northing (Y), in meters (input)
* Precision : Precision level of BNG string (input)
* BNG : British National Grid coordinate string (output)
*/
long Convert_Transverse_Mercator_To_BNG(double Easting,
double Northing,
long Precision,
char *BNG)const;
/*!
* The function Convert_BNG_To_Transverse_Mercator converts a BNG coordinate string
* to Transverse Mercator projection (easting and northing) coordinates
* according to the current ellipsoid parameters. If any errors occur,
* the error code(s) are returned by the function, otherwise BNG_NO_ERROR
* is returned.
*
* BNG : British National Grid coordinate string (input)
* Easting : Easting (X), in meters (output)
* Northing : Northing (Y), in meters (output)
*/
long Convert_BNG_To_Transverse_Mercator(char *BNG,
double *Easting,
double *Northing)const;
TYPE_DATA
};
|