मैं जीपीएस ट्रैक्स और वेपॉइंट्स से निपटने के लिए सॉफ्टवेयर लिखने के बारे में सोच रहा हूं (ज्यादातर गति, ग्रेड और कुछ सरल आंकड़ों जैसे मैट्रिक्स को संग्रहीत करना, प्रदर्शित करना और गणना करना)।
मुझे आश्चर्य है कि ट्रैकपॉइंट के संबंध में सबसे अधिक वैचारिक रूप से मजबूत डेटा मॉडल क्या होना चाहिए, और यहां कुछ "उम्मीदवार" हैं:
ट्रैकप्वाइंट के दृश्यों को ट्रैक मानते हुए:
1.1। ट्रैक को "2 डी" माना जाता है, क्योंकि मानचित्र अनुमान 2 डी हैं। ट्रैकप्वाइंट में ऊंचाई हो सकती है या नहीं, टाइमस्टैम्प हो सकता है या नहीं। ऊंचाई और टाइमस्टैम्प "एक्स्ट्रा", "वैकल्पिक" माना जाता है। स्थलीय अनुप्रयोगों के लिए, उत्थापन लैट / लोन (डीईएम के माध्यम से प्राप्य) का एक सीधा कार्य है;
1.2। भौगोलिक स्थान के बाद से ट्रैक को "3 डी" माना जाता है, वास्तव में 3 डी है, और रिसीवर का प्रक्षेपवक्र 3 डी है (2 डी प्रोजेक्शन इस प्रकार डेटा में कमी का एक रूप है)। टाइमस्टैम्प मौजूद हो या न हो (ट्रैक हाथ से खींचा जा सकता था)।
1.3। ट्रैक को "4 डी" (3 स्थानिक + समय) माना जाता है। इस प्रकार, एक हाथ से खींचा गया नक्शा एक विशेष मामला है जहां ऊंचाई और टाइमस्टैम्प
null
मौजूद हैं या अन्यथा मौजूद नहीं हैं, लेकिन ट्रैकपॉइंट गुण हमेशा "वहां" होते हैं।पटरियों को धाराओं के शब्दकोश माना जाता है, जहां सभी धाराओं की लंबाई समान होती है। अक्षांशों की एक सूची, अनुदैर्ध्य की सूची, ऊंचाई की सूची, टाइमस्टैम्प में से एक, आदि। इससे प्रत्येक संपत्ति के आंकड़ों की गणना करना आसान हो जाता है, और ट्रैकपॉइंट की अवधारणा एक अर्थ में "आभासी" हो जाती है, क्योंकि यह एक है। कई धाराओं का क्रॉस-सेक्शन।
अगर मुझे सही समझ में आता है, GPX प्रारूप 1.1 को गोद लेता है। KML 1.2 को अपनाता है। (टाइमस्टैम्प के लिए कोई समर्थन नहीं), और स्ट्रवा एपीआई 2. (JSON प्रारूप में) को गोद लेती है, लेकिन अंत में ये क्रमबद्धता और भंडारण के लिए केवल FILE प्रारूप हैं, जरूरी नहीं कि मॉडलिंग, कम्प्यूटेशनल प्रतिनिधित्व और नंबरक्रंचिंग के लिए।
क्या कोई ऐसा रूप है, जो वस्तु-प्रधान अर्थ में, और क्यों है? (मेरा मानना है कि मजबूत टाइपिंग और समझदार मॉडलिंग कम से कम संचालन से बचती है, जिसका कोई मतलब नहीं है)।
संपादित करें: कुछ "पेचीदा" अतिरिक्त प्रश्न:
- क्या एक हाथ से तैयार ट्रैक एक ही चीज़ है जो डिवाइस-रिकॉर्डेड ट्रैकलॉग है? क्या वे विभिन्न डेटा प्रकारों के होने चाहिए?
- क्या इसे "सही" माना जाना चाहिए कि KML शून्य के रूप में ऊँचाई को संग्रहीत करता है? शून्य एक ऊँचाई है, और यदि आप उस ऊँचाई को नहीं जानते हैं जो आपको इसके लिए एक संख्यात्मक शून्य आवंटित नहीं करना चाहिए, है ना?
- क्या यह मायने रखता है कि ऊंचाई वाले ट्रैक में, यदि ऊंचाई DEM डेटा ("ऑफ़लाइन") या GPS डेटा या बैरोमीटर डेटा ("फ़ील्ड में") से निकाली गई है? क्या इसे ट्रैक ऑब्जेक्ट में चिह्नित किया जाना चाहिए? अलग-अलग ट्रैकपॉइंट गुणों से बचा? अवहेलना करना? वे अलग संग्रह डेटाटिप्स होना चाहिए?
- यदि मैं एक मैप एडिटर में डिवाइस-रिकॉर्डेड ट्रैक को एडिट करता हूं (पॉइंट्स को जोड़ना, हिलाना और हटाना), या अलग-अलग तारीखों से ट्रैक को जोड़ता है, तो ट्रैकप्वाइंट में टाइमस्टैम्प को कैसे संभाला जाना चाहिए? क्या उन्हें अशक्त करने के लिए "रीसेट" किया जाना चाहिए? क्या पूर्व से अलग प्रकार का कोई ऑब्जेक्ट (ट्रैकपॉइंट कलेक्शन) बनाया जाना चाहिए?
<>
और{}
मदद करने के लिए आप अपने डेटा को व्यवस्थित - और मेटा डेटा - आप गलत कर रहे हैं।