मैं pArk ऐप्पल नमूना कोड का अध्ययन कर रहा हूं, और यह कैसे काम करता है। कोई भी जानता है कि अक्षांश और देशांतर को ईसीईएफ निर्देशांक, और कनवर्ट ईसीईएफ को दिए गए अक्षांश पर केन्द्रित एनएनयू निर्देशांक कैसे परिवर्तित करते हैं, लॉन फ़ंक्शन काम करते हैं? मैं सिर्फ यह समझना चाहता हूं कि इस समारोह में क्या चल रहा है!ईसीईएफ समन्वय प्रणाली के अक्षांश और देशांतर को कनवर्ट करें
धन्यवाद।
void latLonToEcef(double lat, double lon, double alt, double *x, double *y, double *z)
{
double clat = cos(lat * DEGREES_TO_RADIANS);
double slat = sin(lat * DEGREES_TO_RADIANS);
double clon = cos(lon * DEGREES_TO_RADIANS);
double slon = sin(lon * DEGREES_TO_RADIANS);
double N = WGS84_A/sqrt(1.0 - WGS84_E * WGS84_E * slat * slat);
*x = (N + alt) * clat * clon;
*y = (N + alt) * clat * slon;
*z = (N * (1.0 - WGS84_E * WGS84_E) + alt) * slat;
}
// Coverts ECEF to ENU coordinates centered at given lat, lon
void ecefToEnu(double lat, double lon, double x, double y, double z, double xr, double yr, double zr, double *e, double *n, double *u)
{
double clat = cos(lat * DEGREES_TO_RADIANS);
double slat = sin(lat * DEGREES_TO_RADIANS);
double clon = cos(lon * DEGREES_TO_RADIANS);
double slon = sin(lon * DEGREES_TO_RADIANS);
double dx = x - xr;
double dy = y - yr;
double dz = z - zr;
*e = -slon*dx + clon*dy;
*n = -slat*clon*dx - slat*slon*dy + clat*dz;
*u = clat*clon*dx + clat*slon*dy + slat*dz;
}