यह उदाहरण और जावा स्क्रिप्ट कोड link text
से जुड़ा हुआ अनुभाग पर अनुभाग को देखें।रैंब लाइन गणना - जावास्क्रिप्ट को php
एक प्रारंभ बिंदु को देखते हुए और एक दूरी लगातार असर θ साथ घ, इस गंतव्य बिंदु की गणना करेगा। यदि आप एक अंगूठी रेखा के साथ लगातार असर बनाए रखते हैं, तो आप धीरे-धीरे ध्रुवों में से एक की तरफ सर्पिल हो जाएंगे।
फॉर्मूला:
α = d/R (angular distance)
lat2 = lat1 + α.cos(θ)
Δφ = ln(tan(lat2/2+π/4)/tan(lat1/2+π/4)) [= the ‘stretched’ latitude difference]
if E:W line q = cos(lat1)
otherwise q = Δlat/Δφ
Δlon = α.sin(θ)/q
lon2 = (lon1+Δlon+π) % 2.π − π
where ln is natural log and % is modulo, Δlon is taking shortest route (<180°), and R is the earth’s radius
जावास्क्रिप्ट:
lat2 = lat1 + d*Math.cos(brng);
var dPhi = Math.log(Math.tan(lat2/2+Math.PI/4)/Math.tan(lat1/2+Math.PI/4));
var q = (!isNaN(dLat/dPhi)) ? dLat/dPhi : Math.cos(lat1); // E-W line gives dPhi=0
var dLon = d*Math.sin(brng)/q;
// check for some daft bugger going past the pole, normalise latitude if so
if (Math.abs(lat2) > Math.PI/2) lat2 = lat2>0 ? Math.PI-lat2 : -(Math.PI-lat2);
lon2 = (lon1+dLon+Math.PI)%(2*Math.PI) - Math.PI;
मैं इसे php वाक्य रचना में परिवर्तित करने के कोशिश कर रहा हूँ, लेकिन मैं वांछित परिणाम नहीं मिल रहा है। मेरे अक्षांश भाग ठीक काम कर रहा है। मैंने अपना टेस्ट डेटा भी शामिल किया।
मेरी PHP कोड
// test data
$R = 6371;
$tlatitude = 50.7;
$tlongitude = -105.214;
$theading = 124;
$d = 50;
$projlat = $tlatitude + rad2deg(($d/$R)*COS(deg2rad($theading)));
//Δφ = ln(tan(lat2/2+π/4)/tan(lat1/2+π/4))
$delta_phi = log(tan(deg2rad($projlat/2) + pi()/4)/(tan(deg2rad($tlatitude/2) + pi()/4)));
//q = Δlat/Δφ
$delta_lat = deg2rad($projlat - $tlatitude);
$q = $delta_lat/$delta_phi;
//Δlon = α.sin(θ)/q
$delta_long = rad2deg($d/$R*sin(deg2rad($theading))/$q);
$projlong = $tlongitude + $delta_long;
मैं संदर्भित पृष्ठ जवाब -104.63
होना चाहिए के अनुसार $projlong = -104.84
मिलता है।
अब मैं इसे पूर्व-पश्चिम और ध्रुव संभावनाओं पर ध्यान देने के लिए काम करने की कोशिश कर रहा हूं।
अपने सटीक PHP कोड में चिपकाना और एक पंक्ति 'इको राउंड ($ projlong, 2) जोड़ना; 'मुझे आउटपुट' -104.63' देता है। क्या आपको निश्चित रूप से '-104.84' का आउटपुट मिलता है? – thirtydot
हाँ जो मैं प्राप्त कर रहा था .... हालांकि मैंने आपके नेतृत्व का पालन किया और "मेरा अपना" कोड एक नए नंगे एचटीएमएल/PHP पेज में चिपकाया और सही जवाब मिला .... मेरे मूल पृष्ठ को देखकर मैंने पाया कि मेरे पास था पीआई() के बजाय इस्तेमाल किया गया पीआई और यह परिणाम को प्रभावित करता है .... मुझे लगता है कि मैं अपनी पूंछ का पीछा कर रहा था। – brian
यदि आपको त्रुटि मिली है, तो इसे एक उत्तर के रूप में लिखें और इसे स्वीकार के रूप में सेट करें ताकि प्रश्न खुला न रहे। –