2013-08-26 12 views
8

मेरे पास एक जीपीएस मॉड्यूल है जो मुझे अजीब प्रारूप में अक्षांश में अक्षांश देता है।गलत प्रारूप में अक्षांश रेखांश डीडीडीएमएम.एमएमएमएम 2832.3396 एन

DDDMM.MMMM 

उपयोगकर्ता मैनुअल पर लिखा गया है, डिग्री * 100 + मिनट।

जहां तक ​​मुझे पता है, यह डिग्री मिनट सेकेंड है, और सेकंड 0-59 के बीच है, इससे ऊपर की अवधि में वृद्धि होगी। लेकिन यह दशमलव स्थानों में मिनट दे रहा है। क्या इसका मतलब है एक मिनट का 1/1000 वां?

eg. 07717.3644 E 
077 --> degrees 
17 --> minutes 
3644 --> ? 
E --> Direction 

इसके अलावा मैं इसे कैसे दशमलव में परिवर्तित कर देंगे, मैं सूत्र

decimal = degrees + minutes/60 + seconds/3600. 
+0

**। 3644 ** मिनट जो ** सेकंड के बराबर हैं/60 ** – Gangadhar

+0

हाय, मैं इसी तरह की समस्या का सामना करना पड़ रहा है, NEMA प्राप्त प्रारूप ddmm.mmmm है। मुझे इसे ddmm.mmmmmm में कनवर्ट करने की आवश्यकता है। 1. यह प्रारूप क्या बताता है? ddmm.mmmmmm? कृपया समझाएँ। 2. ddmm.mmmm को ddmm.mmmmmm में कनवर्ट करने के लिए, मैंने ddmm किया। (Mmmm * 60)। क्या यह सही – Aada

उत्तर

16

इसे दशमलव प्रारूप में बदलने के लिए, हम डीडी भाग को रखकर शुरू करते हैं और दशमलव प्रारूप के एमएमएम भाग को फर्म करने के लिए एमएमएमएमएम को 60 तक विभाजित करते हैं।

43. (48.225/60), -79.(59.074/60) 

43.(0.80375), -79.(0.98456) 

43.80375, -79.98456  

अपने मामले

eg. 07717.3644 E is the DDDMM.MMMM format 

077 --> degrees 
17 --> minutes 
.3644 --> minutes equals to sec/60 


decimal = degrees + minutes/60 

decimal = 77 + (17.3644/60) 

decimal = 77.28941 

See this Link Would help you

+0

इसके लिए धन्यवाद, मैं बहुत समय बिताता हूं – Shridhar

+0

ने भी मेरी समस्या हल की। मैं लांगी के बारे में जानता था लेकिन लती के बारे में निश्चित नहीं था। –

+0

@ गंगाधर - मृत लिंक – Ian

2

1 मिनट = 60 सेकंड है, तो .3644 मिनट = 0.3644 * 60 = 21.86 सेकंड का उपयोग कर रहा हूँ।

1

मूल्य में एक नंबर लेकिन degreed और मिनट श्रेणीबद्ध की एक स्ट्रिंग नहीं है। आपको सावधान रहना होगा क्योंकि यह संभावना है कि अक्षांश मानों में केवल दो डिग्री अंक होते हैं (यानी डीडीएमएम.एमएमएमएम), इसलिए यदि आप मूल्यों को अलग करने के लिए स्ट्रिंग हैंडलिंग का उपयोग करते हैं, तो आपको इसके लिए खाता रखना होगा।

double GpsEncodingToDegrees(char* gpsencoding) 
{ 
    double a = strtod(gpsencoding, 0) ; 
    double d = (int)a/100 ; 
    a -= d * 100 ; 
    return d + (a/60) ; 
} 

तुम भी पारित गोलार्द्ध चरित्र ई/डब्ल्यू या इस समारोह के लिए एन/एस सकता है और इसका इस्तेमाल एक उपयुक्त +/- संकेत निर्धारित करने के लिए यदि आवश्यक हो तो: इस प्रकार है हालांकि दोनों लंबी और अक्षां संख्यानुसार संभाला जा सकता है। अजगर में

1

सरल कार्यान्वयन:

latitude = <ddmm.mmmm> 
longitude = <dddmm.mmmmm> 

# Ricava i gradi della latitudine e longitudine 
lat_degree = int(latitude/100); 
lng_degree = int(longitude/100); 

# Ricava i minuti della latitudine e longitudine 
lat_mm_mmmm = latitude % 100 
lng_mm_mmmmm = longitude % 100 

# Converte il formato di rappresentazione 
converted_latitude = lat_degree + (lat_mm_mmmm/60) 
converted_longitude = lng_degree + (lng_mm_mmmmm/60) 

print converted_latitude, converted_longitude 

अक्षांश और logitude बदलें।

0

इसे बदलने के लिए एल्गोरिदम का पालन करें।

var t = "7523.7983" // (DDMM.MMMM) 
 
var g = "03412.9873" //(DDDMM.MMMM) 
 

 
function lat(t){ 
 
    return (Number(t.slice(0,2)) + (Number(t.slice(2,9))/60)) 
 
} 
 

 
function lng(g) { 
 
    return (Number(g.slice(0,3)) + (Number(g.slice(3,10))/60)) 
 
} 
 

 
console.log(lat(t)) 
 
console.log(lng(g))

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