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.
|
|
|
|
#pragma once
|
|
|
|
|
#include <vector>
|
|
|
|
|
#include <cmath>
|
|
|
|
|
using namespace std;
|
|
|
|
|
#define PI 3.14159265358979323846
|
|
|
|
|
class GeoCompute
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
GeoCompute(void);
|
|
|
|
|
~GeoCompute(void);
|
|
|
|
|
|
|
|
|
|
/*@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꡢ<EFBFBD><EAA1A2>λ<EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ꡣ
|
|
|
|
|
* ʹ<EFBFBD><EFBFBD>Vincenty's<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ʹ<EFBFBD><EFBFBD>WGS-84<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* startPoint:<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣨lat(-90<EFBFBD><EFBFBD>90)<EFBFBD><EFBFBD>lon(-180,180)<EFBFBD><EFBFBD>
|
|
|
|
|
* bearing:<EFBFBD><EFBFBD>λ<EFBFBD>ǣ<EFBFBD><EFBFBD>ȣ<EFBFBD>
|
|
|
|
|
* dist:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(km)
|
|
|
|
|
*/
|
|
|
|
|
void computeOffsetGeoPosition(double lon1, double lat1, double bearing, double dist,double& targetLon,double& targetLat);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ʹ<><CAB9>Vincenty's<><73>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(m)
|
|
|
|
|
double VincentyDistance(double lon1, double lat1, double lon2, double lat2);
|
|
|
|
|
};
|
|
|
|
|
|