00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef GCL_SPK_INCLUDED
00022 #define GCL_SPK_INCLUDED
00023
00024 #include "projection.h"
00025
00026 namespace GCL
00027 {
00028
00045 class SPK : public Projection
00046 {
00047 public:
00054 SPK(double x0=200000., double y0=600000.) :
00055 Projection("Bessel")
00056 {
00057
00058
00059 _b0 = 46 / rho_deg + 57 / rho_min + 8.66 / rho_sec;
00060 _l0 = 7 / rho_deg + 26 / rho_min + 22.50 / rho_sec;
00061 _x0 = x0;
00062 _y0 = y0;
00063 }
00064
00066 virtual const char* map_name() const;
00067
00076 void geo_to_map(double b, double l, double& y, double& x) const;
00077
00082 void map_to_geo(double y, double x, double& b, double& l) const;
00084 };
00085
00086
00092 class SPKLV03 : public SPK
00093 {
00094 public:
00099 SPKLV03() : SPK(200000., 600000.) {}
00100 };
00101
00102
00108 class SPKLV95 : public SPK
00109 {
00110 public:
00115 SPKLV95() : SPK(1200000., 2600000.) {}
00116 };
00117
00118 }
00119
00120 #endif