2013-05-17 9 views
5

मैं एलसीई, लोन, Alt Values ​​से ईसीईएफ (पृथ्वी केंद्रित) जैसे 3 डी सिस्टम में परिवर्तन के बारे में सोच रहा हूं।रेखांश, अक्षांश, 3 डी-कार्टेसियन समन्वय प्रणालियों के लिए ऊंचाई

यह इस प्रकार लागू किया जा सकता (https://gist.github.com/1536054):

/* 
* WGS84 ellipsoid constants Radius 
*/ 
private static final double a = 6378137; 
/* 
* eccentricity 
*/ 
private static final double e = 8.1819190842622e-2; 

private static final double asq = Math.pow(a, 2); 
private static final double esq = Math.pow(e, 2); 

void convert(latitude,longitude,altitude){ 
    double lat = Math.toRadians(latitude); 
    double lon = Math.toRadians(longitude); 
    double alt = altitude; 

    double N = a/Math.sqrt(1 - esq * Math.pow(Math.sin(lat), 2)); 

    x = (N + alt) * Math.cos(lat) * Math.cos(lon); 
    y = (N + alt) * Math.cos(lat) * Math.sin(lon); 
    z = ((1 - esq) * N + alt) * Math.sin(lat); 
} 

मेरी राय में क्या बहुत ही अजीब लगता है तथ्य है, कि ऊंचाई के एक छोटे से परिवर्तन,, एक्स, वाई और जेड को प्रभावित करता है मैं कहाँ होगा उम्मीद है कि यह सिर्फ एक धुरी को प्रभावित करता है। उदाहरण के लिए, यदि मेरे पास दो जीपीएस-पॉइंट हैं, जिनमें समान लैट/लोन मान हैं लेकिन अलग-अलग ऊंचाई मान हैं, तो मुझे 3 अलग-अलग एक्स, वाई, जेड निर्देशांक मिलेंगे।

क्या कोई इस के पीछे "विचार" समझा सकता है? यह मेरे लिए बहुत उत्सुक दिखता है ... क्या कोई अन्य 3 डी-सिस्टम है, जिसमें मूल्यों में से केवल एक ही बदल रहा है, जब मैं अपना ऊंचाई मान कम/उच्च करता हूं?

बहुत बहुत धन्यवाद!

उत्तर

3

आप इस तस्वीर को देखें, तो: ECEF Coordinate System

तो आप देख क्यों। ईसीईएफ धरती के केंद्र में केंद्रित पृथ्वी के चारों ओर एक घन है। यदि ऊंचाई बढ़ जाती है तो आप बाहर निकलते हैं। लेट/लॉन एक "कोणीय" समन्वय प्रणाली है जहां लेट, लोन कोण हैं, ईसीईएफ cartesian समन्वय प्रणाली है!

समस्या है कि आप ईसीईएफ केंद्र पृथ्वी के साथ लेटलॉन की तरह ऊंचाई 0 है, लेकिन ऐसा नहीं है।

+0

आह, यह वही है जो मैं ढूंढ रहा था;) – Frame91

संबंधित मुद्दे