मेरे पास युगल है जो अक्षांश और अक्षांश का प्रतिनिधित्व करता है।
मैं आसानी से देशांतर (-180.0 के लिए, निम्न कार्य के साथ सीमित कर सकते हैं 180.0]।अक्षांश और देशांतर मानों को सीमित करने के लिए मॉड्यूलस
double limitLon(double lon)
{
return fmod(lon - 180.0, 360.0) + 180.0;
}
यह काम करता है क्योंकि एक छोर अनन्य है और अन्य शामिल है। Fmod 0 नहीं बल्कि -360.0 भी शामिल है।
किसी अक्षांश के लिए एक सुंदर विधि के बारे में सोच सकते हैं?
आवश्यक अंतराल [-90.0, 90.0] है। एक बंद फ़ॉर्म समाधान सबसे अच्छा होगा, यानी कोई पाश। मुझे लगता है कि fmod() शायद एक गैर है स्टार्टर क्योंकि दोनों सिरों अब समावेशी हैं।
संपादित करें: जैसा कि बताया गया था, कोई भी 91 डिग्री अक्षांश पर नहीं जा सकता है। तकनीकी रूप से 91 को 89.0 पर नक्शा करना चाहिए। ओह लड़का, जो चीजों को बदलता है।
आप 91 से अनुवाद करने की क्या अपेक्षा करेंगे? यदि आप एक डिग्री से ध्रुव पर जाते हैं तो आप वापस 89-89 पर वापस आ जाएंगे। –
उत्कृष्ट बिंदु। अक्षांश लपेटते नहीं हैं क्योंकि आप वास्तव में ध्रुव को "पार" नहीं कर सकते हैं। हालांकि, अंतरराष्ट्रीय तिथि रेखा पार कर सकते हैं। – William
क्या आपका मतलब एफएमओडी (लॉन + 180.0, 360.0) - 180.0; ? –