You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

812 lines
26 KiB
C

9 months ago
#ifndef MAP_PRJ_H
#define MAP_PRJ_H
#ifdef MAPPRJ_EXPORTS
#define MAPPRJ_API __declspec(dllexport)
#else
#define MAPPRJ_API __declspec(dllimport)
#endif
/*
* <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>MapPrj.h
* <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD>
* ժ Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD>ӿʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µĹ<EFBFBD><EFBFBD>ܣ<EFBFBD>
* 1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˹ƽ<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* 2<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD><EFBFBD>B<EFBFBD><EFBFBD>H<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD><EFBFBD>Y<EFBFBD><EFBFBD>Z<EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* 3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ģ<EFBFBD>Ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD>ɯ<EFBFBD>߲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* 4<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>λ<EFBFBD>ǵļ<EFBFBD><EFBFBD>
* 5<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪һ<EFBFBD>γ<EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>λ<EFBFBD>Ǻ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD>γ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* 6<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬƽ<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>
*
* <EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>1.0
* <EFBFBD><EFBFBD> <EFBFBD>ߣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>2011<EFBFBD><EFBFBD>5<EFBFBD><EFBFBD>11<EFBFBD><EFBFBD>
* <EFBFBD>޸<EFBFBD>ʱ<EFBFBD>1)2013<EFBFBD><EFBFBD>11<EFBFBD><EFBFBD>10<EFBFBD>գ<EFBFBD>
<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD>׼DLL<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DLL<EFBFBD>ӿں<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
* 2)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ֮<EFBFBD><EFBFBD><EFBFBD>ı
*/
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˹ͶӰ<CDB6><D3B0><EFBFBD><EFBFBD><E4BBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LBת<42><D7AA>˹ƽ<CBB9><C6BD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>XY
//<2F><><EFBFBD>룺 L <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Χ<EFBFBD><CEA7>-180,180<38><30>
// B <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// coordType <20><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ͣ<EFBFBD>1ΪBJ54<35><34><EFBFBD>꣬2Ϊxian80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>3Ϊwgs84<38><34><EFBFBD><EFBFBD>ϵ
// zoneWidth ͶӰ<CDB6><D3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6<EFBFBD><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> X <09><>˹ƽ<CBB9><C6BD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><6D><CEAA>λ
// Y <09><>˹ƽ<CBB9><C6BD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><6D><CEAA>λ
MAPPRJ_API void LB2XY(double &X, double &Y,
const double L, const double B,
const int coordType = 3, const int zoneWidth = 6);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˹ͶӰ<CDB6><D3B0><EFBFBD><EFBFBD><E4BBBB><EFBFBD><EFBFBD>˹ƽ<CBB9><C6BD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>XYת<59><D7AA><EFBFBD>ؾ<EFBFBD>γ<EFBFBD><CEB3>L<EFBFBD><4C>B
//<2F><><EFBFBD>룺 X <09><>˹ƽ<CBB9><C6BD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><6D><CEAA>λ
// Y <09><>˹ƽ<CBB9><C6BD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><6D><CEAA>λ<EFBFBD><CEBB>ע<EFBFBD>⣺Y<E2A3BA><59><EFBFBD><EFBFBD>ͶӰ<CDB6><D3B0><EFBFBD><EFBFBD>Ϣ
// coordType <20><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ͣ<EFBFBD>1ΪBJ54<35><34><EFBFBD>꣬2Ϊxian80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>3Ϊwgs84<38><34><EFBFBD><EFBFBD>ϵ
// zoneWidth ͶӰ<CDB6><D3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6<EFBFBD><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> L <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>ľ<EFBFBD><C4BE>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Χ<EFBFBD><CEA7>-180,180<38><30>
// B <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>γ<EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
MAPPRJ_API void XY2LB(double &L, double &B, const double X, const double Y,
const int coordType = 3, const int zoneWidth = 6);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>λ<EFBFBD><CEBB>
//<2F><><EFBFBD>룺 fromPtLon <09><>ʼ<EFBFBD><CABC><EFBFBD>ľ<EFBFBD><C4BE>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// fromPtLat <09><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>γ<EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// toPtLon <09><>ֹ<EFBFBD><D6B9><EFBFBD>ľ<EFBFBD><C4BE>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// toPtLat <09><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>γ<EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// coordType <20><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ͣ<EFBFBD>1ΪBJ54<35><34><EFBFBD>꣬2Ϊxian80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>3Ϊwgs84<38><34><EFBFBD><EFBFBD>ϵ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> distance <20><><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ˮƽ<CBAE><C6BD><EFBFBD><20><><6D><CEAA>λ
// azAngle <09><>ʼ<EFBFBD><EFBFBD><E3B5BD>ֹ<EFBFBD><D6B9><EFBFBD>ķ<EFBFBD>λ<EFBFBD>ǣ<EFBFBD> <20>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
MAPPRJ_API void CalculateTwoPtsDistanceAzimuth(double &distance, double &azAngle, const double fromPtLon, const double fromPtLat,
const double toPtLon, const double toPtLat, const int coordType);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵķ<DFB5>λ<EFBFBD><CEBB>
//<2F><><EFBFBD>룺 fromPtLon <09><>ʼ<EFBFBD><CABC><EFBFBD>ľ<EFBFBD><C4BE>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Χ<EFBFBD><CEA7>-180,180<38><30>
// fromPtLat <09><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>γ<EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// toPtLon <09><>ֹ<EFBFBD><D6B9><EFBFBD>ľ<EFBFBD><C4BE>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Χ<EFBFBD><CEA7>-180,180<38><30>
// toPtLat <09><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>γ<EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// coordType <20><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ͣ<EFBFBD>1ΪBJ54<35><34><EFBFBD>꣬2Ϊxian80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>3Ϊwgs84<38><34><EFBFBD><EFBFBD>ϵ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> azAngle <09><>ʼ<EFBFBD><EFBFBD><E3B5BD>ֹ<EFBFBD><D6B9><EFBFBD>ķ<EFBFBD>λ<EFBFBD>ǣ<EFBFBD> <20>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7>0,360<36><30>
MAPPRJ_API void CalculateTwoPtsAzimuth(double &azAngle,
const double fromPtLon, const double fromPtLat,
const double toPtLon, const double toPtLat,
const int coordType);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD>
//<2F><><EFBFBD>룺 fromPtLon <09><>ʼ<EFBFBD><CABC><EFBFBD>ľ<EFBFBD><C4BE>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Χ<EFBFBD><CEA7>-180,180<38><30>
// fromPtLat <09><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>γ<EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// toPtLon <09><>ֹ<EFBFBD><D6B9><EFBFBD>ľ<EFBFBD><C4BE>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Χ<EFBFBD><CEA7>-180,180<38><30>
// toPtLat <09><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>γ<EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// coordType <20><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ͣ<EFBFBD>1ΪBJ54<35><34><EFBFBD>꣬2Ϊxian80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>3Ϊwgs84<38><34><EFBFBD><EFBFBD>ϵ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dis <09><>ʼ<EFBFBD><EFBFBD><E3B5BD>ֹ<EFBFBD><D6B9><EFBFBD>ľ<EFBFBD><C4BE><20><><6D><CEAA>λ
MAPPRJ_API void CalculateTwoPtsDistance(double &dis,
const double fromPtLon, const double fromPtLat,
const double toPtLon, const double toPtLat,
const int coordType);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1>
//<2F><><EFBFBD>룺 ptForm[0] <09><>ʼ<EFBFBD><CABC><EFBFBD>ľ<EFBFBD><C4BE>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Χ<EFBFBD><CEA7>-180,180<38><30>
// ptForm[1] <09><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>γ<EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// ptForm[2] <09><>ʼ<EFBFBD><CABC><EFBFBD>ĸ߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
//<2F><><EFBFBD>룺 ptTo[0] <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Χ<EFBFBD><CEA7>-180,180<38><30>
// ptTo[1] <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// ptTo[2] <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// coordType <20><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ͣ<EFBFBD>1ΪBJ54<35><34><EFBFBD>꣬2Ϊxian80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>3Ϊwgs84<38><34><EFBFBD><EFBFBD>ϵ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dis <09><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>б<EFBFBD><20><><6D><CEAA>λ
MAPPRJ_API void CalculateTwoPtsSlopeDistance(double &dis,
const double *ptForm, const double *ptTo,
const int coordType);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD>γ<EFBFBD><CEB3>
//<2F><><EFBFBD>룺 fromPtLon <09><>ʼ<EFBFBD><CABC><EFBFBD>ľ<EFBFBD><C4BE>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// fromPtLat <09><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>γ<EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// azAngle <09><>ʼ<EFBFBD>㵽Ŀ<E3B5BD><C4BF><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>λ<EFBFBD>ǣ<EFBFBD><C7A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// distance <09><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EBA3AC><6D><CEAA>λ
// coordType <20><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ͣ<EFBFBD>1ΪBJ54<35><34><EFBFBD>꣬2Ϊxian80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>3Ϊwgs84<38><34><EFBFBD><EFBFBD>ϵ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> targetPtLon Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// targetPtLat Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
MAPPRJ_API void CalculatePtCoordinate(double &targetPtLon, double &targetPtLat,
const double fromPtLon, const double fromPtLat,
const double azAngle, const double distance,
const int coordType);
//<2F><><EFBFBD>ܣ<EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀռ<C4BF>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵת<CFB5><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ
//<2F><><EFBFBD><EFBFBD>ռ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>type<70><65><31><CEAA><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><32><CEAA><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>3ΪWGS84<38><34><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD><CEB3>
//<2F><><EFBFBD>ܣ<EFBFBD>WGS84<38><34><EFBFBD><EFBFBD>ϵת<CFB5><D7AA><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 XYZ <20>ռ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD>У<EFBFBD>
// XYZ[0]------X<><58><EFBFBD><EFBFBD><6D><CEAA>λ
// XYZ[1]------Y<><59><EFBFBD><EFBFBD><6D><CEAA>λ
// XYZ[2]------Z<><5A><EFBFBD><EFBFBD><6D><CEAA>λ
// type <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>У<EFBFBD>
// 1------<2D><><EFBFBD><EFBFBD>54
// 2------<2D><><EFBFBD><EFBFBD>80
// 3------WGS84
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LLA <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD>У<EFBFBD>
// LLA[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// LLA[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// LLA[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void XYZ2LLA(double *LLA, const double *XYZ, const int type);
//<2F><><EFBFBD>ܣ<EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵת<CFB5>ռ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ
//<2F><><EFBFBD>룺 LLA <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD>У<EFBFBD>
// LLA[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// LLA[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// LLA[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// type <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>У<EFBFBD>
// 1------<2D><><EFBFBD><EFBFBD>54
// 2------<2D><><EFBFBD><EFBFBD>80
// 3------WGS84
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> XYZ <20>ռ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD>У<EFBFBD>
// XYZ[0]------X<><58><EFBFBD><EFBFBD><6D><CEAA>λ
// XYZ[1]------Y<><59><EFBFBD><EFBFBD><6D><CEAA>λ
// XYZ[2]------Z<><5A><EFBFBD><EFBFBD><6D><CEAA>λ
MAPPRJ_API void LLA2XYZ(double *XYZ, const double *LLA, const int type);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵתWGS84<38><34><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 bj54 <09><><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// bj54[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// sevenParameter <20>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// sevenParameter[0]------dX<64><58><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[1]------dY<64><59><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[2]------dZ<64><5A><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[3]------eX<65><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[4]------eY<65><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[5]------eZ<65><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[6]------k, <20>߶ȱ<DFB6>ppm<70><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> wgs84 WGS84<38><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// wgs84[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void Bj54ToWGS84_SevenParameter(double *wgs84, const double *bj54, const double *sevenParameter);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵת<CFB5><D7AA><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 bj54 <09><><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// bj54[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// sevenParameter <20>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// sevenParameter[0]------dX<64><58><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[1]------dY<64><59><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[2]------dZ<64><5A><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[3]------eX<65><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[4]------eY<65><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[5]------eZ<65><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[6]------k, <20>߶ȱ<DFB6>ppm<70><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xian80 <09><><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// xian80[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void Bj54ToXian80_SevenParameter(double *xian80, const double *bj54, const double *sevenParameter);
//<2F><><EFBFBD>ܣ<EFBFBD>WGS84<38><34><EFBFBD><EFBFBD>ϵת<CFB5><D7AA><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 wgs84 WGS84<38><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// wgs84[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// sevenParameter <09>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// sevenParameter[0]------dX<64><58><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[1]------dY<64><59><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[2]------dZ<64><5A><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[3]------eX<65><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[4]------eY<65><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[5]------eZ<65><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[6]------k, <20>߶ȱ<DFB6>ppm<70><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bj54 <09><><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// bj54[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void WGS84ToBj54_SevenParameter(double *bj54, const double *wgs84, const double *sevenParameter);
//<2F><><EFBFBD>ܣ<EFBFBD>WGS84<38><34><EFBFBD><EFBFBD>ϵת<CFB5><D7AA><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 wgs84 WGS84<38><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// wgs84[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// sevenParameter <09>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// sevenParameter[0]------dX<64><58><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[1]------dY<64><59><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[2]------dZ<64><5A><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[3]------eX<65><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[4]------eY<65><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[5]------eZ<65><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[6]------k, <20>߶ȱ<DFB6>ppm<70><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xian80 <09><><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// xian80[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void WGS84ToXian80_SevenParameter(double *xian80, const double *wgs84, const double *sevenParameter);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵת<CFB5><D7AA><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 xian80 <09><><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// xian80[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// sevenParameter <09>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// sevenParameter[0]------dX<64><58><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[1]------dY<64><59><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[2]------dZ<64><5A><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[3]------eX<65><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[4]------eY<65><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[5]------eZ<65><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[6]------k, <20>߶ȱ<DFB6>ppm<70><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bj54 <09><><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// bj54[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void Xian80ToBj54_SevenParameter(double *bj54, const double *xian80, const double *sevenParameter);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵתWGS84<38><34><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 xian80 <09><><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// xian80[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// sevenParameter <09>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// sevenParameter[0]------dX<64><58><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[1]------dY<64><59><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[2]------dZ<64><5A><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[3]------eX<65><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[4]------eY<65><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[5]------eZ<65><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[6]------k, <20>߶ȱ<DFB6>ppm<70><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> wgs84 WGS84<38><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// wgs84[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void Xian80ToWgs84_SevenParameter(double *wgs84, const double *xian80, const double *sevenParameter);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵתWGS84<38><34><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 bj54 <09><><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// bj54[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// ThreeParameter <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// ThreeParameter[0]------dX<64><58><EFBFBD><EFBFBD><6D><CEAA>λ
// ThreeParameter[1]------dY<64><59><EFBFBD><EFBFBD><6D><CEAA>λ
// ThreeParameter[2]------dZ<64><5A><EFBFBD><EFBFBD><6D><CEAA>λ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> wgs84 WGS84<38><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// wgs84[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void Bj54ToWGS84_ThreeParameter(double *wgs84, const double *bj54, const double *ThreeParameter);
//<2F><><EFBFBD>ܣ<EFBFBD>WGS84<38><34><EFBFBD><EFBFBD>ϵת<CFB5><D7AA><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 wgs84 WGS84<38><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// wgs84[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// ThreeParameter <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// ThreeParameter[0]------dX<64><58><EFBFBD><EFBFBD><6D><CEAA>λ
// ThreeParameter[1]------dY<64><59><EFBFBD><EFBFBD><6D><CEAA>λ
// ThreeParameter[2]------dZ<64><5A><EFBFBD><EFBFBD><6D><CEAA>λ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bj54 <09><><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// bj54[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void WGS84ToBj54_ThreeParameter(double *bj54, const double *wgs84, const double *ThreeParameter);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>㲻ͬ<E3B2BB><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ת<EFBFBD><D7AA><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>ɯ<EFBFBD>߲<EFBFBD><DFB2><EFBFBD>ģ<EFBFBD><C4A3>
//<2F><><EFBFBD>룺 nowLLA <09><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ϵ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD><EFBFBD>nowLLA<4C><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B3A4>Ϊ3*ptNum<75><6D>
// nowLLA[0+3*i]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// nowLLA[1+3*i]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// nowLLA[2+3*i]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// 0<= i < ptNum
// nowType <09><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>У<EFBFBD>
// 1------<2D><><EFBFBD><EFBFBD>54
// 2------<2D><><EFBFBD><EFBFBD>80
// 3------WGS84
// aimLLA Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><E9B3A4>Ϊ3*ptNum<75><6D>
// aimLLA[0+3*i]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// aimLLA[1+3*i]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// aimLLA[2+3*i]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// 0<= i < ptNum
// aimType Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>У<EFBFBD>
// 1------<2D><><EFBFBD><EFBFBD>54
// 2------<2D><><EFBFBD><EFBFBD>80
// 3------WGS84
// ptNum <20><><EFBFBD>Ƶ<EFBFBD><C6B5>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sevenParameter <09>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// sevenParameter[0]------dX<64><58><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[1]------dY<64><59><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[2]------dZ<64><5A><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[3]------eX<65><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[4]------eY<65><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[5]------eZ<65><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[6]------k, <20>߶ȱ<DFB6>ppm<70><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>
MAPPRJ_API void CalculateSevenParameters(double *sevenParameter, const double *nowLLA, const int nowType,
const double *aimLLA, const int aimType, const int ptNum);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>㲻ͬ<E3B2BB><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ת<EFBFBD><D7AA><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>ɯ<EFBFBD>߲<EFBFBD><DFB2><EFBFBD>ģ<EFBFBD><C4A3>
//<2F><><EFBFBD>룺 nowXYZ <09><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ϵ<EFBFBD>Ŀռ<C4BF>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD><EFBFBD>nowXYZ<59><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B3A4>Ϊ3*ptNum<75><6D>
// nowXYZ[0+3*i]------X<><58><EFBFBD><EFBFBD><6D><CEAA>λ
// nowXYZ[1+3*i]------Y<><59><EFBFBD><EFBFBD><6D><CEAA>λ
// nowXYZ[2+3*i]------Z<><5A><EFBFBD><EFBFBD><6D><CEAA>λ
// 0<= i < ptNum
// aimXYZ Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>Ŀռ<C4BF>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD><EFBFBD>aimXYZ<59><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B3A4>Ϊ3*ptNum<75><6D>
// aimXYZ[0+3*i]------X<><58><EFBFBD><EFBFBD><6D><CEAA>λ
// aimXYZ[1+3*i]------Y<><59><EFBFBD><EFBFBD><6D><CEAA>λ
// aimXYZ[2+3*i]------Z<><5A><EFBFBD><EFBFBD><6D><CEAA>λ
// 0<= i < ptNum
// ptNum <20><><EFBFBD>Ƶ<EFBFBD><C6B5>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sevenParameter <09>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// sevenParameter[0]------dX<64><58><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[1]------dY<64><59><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[2]------dZ<64><5A><EFBFBD><EFBFBD><6D><CEAA>λ
// sevenParameter[3]------eX<65><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[4]------eY<65><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[5]------eZ<65><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
// sevenParameter[6]------k, <20>߶ȱ<DFB6>ppm<70><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮һ
MAPPRJ_API void CalculateSevenParameters(double *sevenParameter, const double *nowXYZ, const double *aimXYZ, const int ptNum);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>㲻ͬ<E3B2BB><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ת<EFBFBD><D7AA><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
//<2F><><EFBFBD>룺 nowLLA <09><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ϵ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD>У<EFBFBD>
// nowLLA[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// nowLLA[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// nowLLA[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// nowType <09><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>У<EFBFBD>
// 1------<2D><><EFBFBD><EFBFBD>54
// 2------<2D><><EFBFBD><EFBFBD>80
// 3------WGS84
// aimLLA Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD>У<EFBFBD>
// aimLLA[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// aimLLA[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// aimLLA[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// aimType Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>У<EFBFBD>
// 1------<2D><><EFBFBD><EFBFBD>54
// 2------<2D><><EFBFBD><EFBFBD>80
// 3------WGS84
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dx X<><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// dy Y<><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// dz Z<><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
MAPPRJ_API void CalculateThreeParameters(double &dx, double &dy, double &dz, const double *nowLLA, const int nowType,
const double *aimLLA, const int aimType);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>㲻ͬ<E3B2BB><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ת<EFBFBD><D7AA><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
//<2F><><EFBFBD>룺 nowXYZ <09><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ϵ<EFBFBD>Ŀռ<C4BF>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD>У<EFBFBD>
// nowXYZ[0]------X<><58><EFBFBD><EFBFBD><6D><CEAA>λ
// nowXYZ[1]------Y<><59><EFBFBD><EFBFBD><6D><CEAA>λ
// nowXYZ[2]------Z<><5A><EFBFBD><EFBFBD><6D><CEAA>λ
// aimXYZ Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>Ŀռ<C4BF>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD>У<EFBFBD>
// aimXYZ[0]------X<><58><EFBFBD><EFBFBD><6D><CEAA>λ
// aimXYZ[1]------Y<><59><EFBFBD><EFBFBD><6D><CEAA>λ
// aimXYZ[2]------Z<><5A><EFBFBD><EFBFBD><6D><CEAA>λ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dx X<><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// dy Y<><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// dz Z<><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
MAPPRJ_API void CalculateThreeParameters(double &dx, double &dy, double &dz, const double *nowXYZ, const double *aimXYZ);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>㲻ͬƽ<CDAC><C6BD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ת<EFBFBD><D7AA><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ģ<EFBFBD><C4A3>
//<2F><><EFBFBD>룺 nowXY <09><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ϵ<EFBFBD>Ŀռ<C4BF>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD><EFBFBD>nowXY<58><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B3A4>Ϊ2*ptNum<75><6D>
// nowXYZ[0+2*i]------X<><58><EFBFBD><EFBFBD><6D><CEAA>λ
// nowXYZ[1+2*i]------Y<><59><EFBFBD><EFBFBD><6D><CEAA>λ
// 0<= i < ptNum
// aimXY Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>Ŀռ<C4BF>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD><EFBFBD>aimXYZ<59><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B3A4>Ϊ2*ptNum<75><6D>
// aimXYZ[0+2*i]------X<><58><EFBFBD><EFBFBD><6D><CEAA>λ
// aimXYZ[1+2*i]------Y<><59><EFBFBD><EFBFBD><6D><CEAA>λ
// 0<= i < ptNum
// ptNum <20><><EFBFBD>Ƶ<EFBFBD><C6B5>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> fourParameters <09>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// fourParameters[0]------xo<78><6F>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[1]------yo<79><6F>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[2]------p<><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
// fourParameters[3]------q<><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
MAPPRJ_API void CalculateFourParameters(double *fourParameters, const double *nowXY, const double *aimXY, const int ptNum);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>㲻ͬƽ<CDAC><C6BD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ת<EFBFBD><D7AA><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ģ<EFBFBD><C4A3>
//<2F><><EFBFBD>룺 nowLLA <09><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ϵ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD><EFBFBD>nowLLA<4C><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B3A4>Ϊ2*ptNum<75><6D>
// nowXYZ[0+2*i]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// nowXYZ[1+2*i]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// 0<= i < ptNum
// nowType <09><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>У<EFBFBD>
// 1------<2D><><EFBFBD><EFBFBD>54
// 2------<2D><><EFBFBD><EFBFBD>80
// 3------WGS84
// aimLLA Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD><EFBFBD>aimLLA<4C><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B3A4>Ϊ2*ptNum<75><6D>
// aimLLA[0+2*i]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// aimLLA[1+2*i]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// 0<= i < ptNum
// aimType Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>У<EFBFBD>
// 1------<2D><><EFBFBD><EFBFBD>54
// 2------<2D><><EFBFBD><EFBFBD>80
// 3------WGS84
// ptNum <20><><EFBFBD>Ƶ<EFBFBD><C6B5>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> fourParameters <09>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// fourParameters[0]------xo<78><6F>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[1]------yo<79><6F>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[2]------p<><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
// fourParameters[3]------q<><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
MAPPRJ_API void CalculateFourParameters(double *fourParameters, const double *nowLLA, const int nowType,
const double *aimLLA, const int aimType, const int ptNum);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵתWGS84<38><34><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 bj54 <09><><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// bj54[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// fourParameter <09>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// fourParameters[0]------xo<78><6F>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[1]------yo<79><6F>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[2]------p<><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
// fourParameters[3]------q<><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> wgs84 WGS84<38><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// wgs84[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void Bj54ToWGS84_FourParameter(double *wgs84, const double *bj54, const double *fourParameter);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵת<CFB5><D7AA><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 bj54 <09><><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// bj54[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// fourParameter <09>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// fourParameters[0]------xo<78><6F>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[1]------yo<79><6F>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[2]------p<><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
// fourParameters[3]------q<><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xian80 <09><><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// xian80[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void Bj54ToXian80_FourParameter(double *xian80, const double *bj54, const double *fourParameter);
//<2F><><EFBFBD>ܣ<EFBFBD>WGS84<38><34><EFBFBD><EFBFBD>ϵת<CFB5><D7AA><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 wgs84 WGS84<38><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// wgs84[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// fourParameter <09>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// fourParameters[0]------xo<78><6F>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[1]------yo<79><6F>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[2]------p<><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
// fourParameters[3]------q<><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bj54 <09><><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// bj54[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void WGS84ToBj54_FourParameter(double *bj54, const double *wgs84, const double *fourParameter);
//<2F><><EFBFBD>ܣ<EFBFBD>WGS84<38><34><EFBFBD><EFBFBD>ϵת<CFB5><D7AA><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 wgs84 WGS84<38><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// wgs84[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// fourParameter <09>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// fourParameters[0]------xo<78><6F>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[1]------yo<79><6F>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[2]------p<><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
// fourParameters[3]------q<><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xian80 <09><><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// xian80[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void WGS84ToXian80_FourParameter(double *xian80, const double *wgs84, const double *fourParameter);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵת<CFB5><D7AA><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 xian80 <09><><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// xian80[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// fourParameter <09>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// fourParameters[0]------xo<78><6F>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[1]------yo<79><6F>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[2]------p<><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
// fourParameters[3]------q<><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bj54 <09><><EFBFBD><EFBFBD>54<35><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// bj54[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// bj54[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void Xian80ToBj54_FourParameter(double *bj54, const double *xian80, const double *fourParameter);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵתWGS84<38><34><EFBFBD><EFBFBD>ϵ,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 xian80 <09><><EFBFBD><EFBFBD>80<38><30><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// xian80[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// xian80[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
// fourParameter <09>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// fourParameters[0]------xo<78><6F>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[1]------yo<79><6F>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[2]------p<><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
// fourParameters[3]------q<><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> wgs84 WGS84<38><34><EFBFBD><EFBFBD>ϵ<EFBFBD>µľ<C2B5>γ<EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>У<EFBFBD>
// wgs84[0]------<2D><><EFBFBD>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[1]------γ<>ȣ<EFBFBD><C8A3>ԡ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// wgs84[2]------<2D>߶ȣ<DFB6><C8A3><EFBFBD><6D><CEAA>λ
MAPPRJ_API void Xian80ToWgs84_FourParameter(double *wgs84, const double *xian80, const double *fourParameter);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ͬƽ<CDAC><C6BD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD>ı<C4B1><E4BBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
//<2F><><EFBFBD>룺 pFromCoord һ<><D2BB>ƽ<EFBFBD><C6BD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>µ<EFBFBD>X<EFBFBD><58>Y<EFBFBD><59><EFBFBD><EFBFBD><EAA3AC><EFBFBD>У<EFBFBD>
// pFromCoord[0]------X<><58><EFBFBD><EFBFBD><EAA3AC><6D><CEAA>λ
// pFromCoord[1]------Y<><59><EFBFBD><EFBFBD><EAA3AC><6D><CEAA>λ
// fourParameter <09>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
// fourParameters[0]------xo<78><6F>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[1]------yo<79><6F>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6D><CEAA>λ
// fourParameters[2]------p<><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
// fourParameters[3]------q<><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD>λ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> pToCoord Ŀ<><C4BF>ƽ<EFBFBD><C6BD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>µ<EFBFBD>X<EFBFBD><58>Y<EFBFBD><59><EFBFBD><EFBFBD><EAA3AC><EFBFBD>У<EFBFBD>
// pToCoord[0]------X<><58><EFBFBD><EFBFBD><EAA3AC><6D><CEAA>λ
// pToCoord[1]------Y<><59><EFBFBD><EFBFBD><EAA3AC><6D><CEAA>λ
MAPPRJ_API void PlaneCoordTransform_FourParameter(double *pToCoord, const double *pFromCoord, const double *fourParameter);
#endif