स्थानिक डेटा के लिए एक एपीआई डिजाइनिंग


10

मैं एक एपीआई बनाने की कोशिश करने पर विचार कर रहा हूं ताकि मैं विश्लेषण के लिए सहयोगियों को कुछ स्थानिक डेटासेट उपलब्ध करा सकूं।

मेरे काम का एक हिस्सा डेटा का विश्लेषण और तैयार करना है, जिसे बाद में दूसरों द्वारा आगे के विश्लेषण के लिए इस्तेमाल किया जा सकता है। कार्य (जबकि वर्तमान में छोटे पैमाने पर और कम परिष्कृत) वाल्कस्कोर के समान है, लेकिन इसमें कुछ विशाल डेटासेट शामिल हैं। इस बात पर प्रतिबंध बढ़ रहे हैं कि मैं मूल डेटा को कैसे साझा कर सकता हूं, लेकिन मेरा व्युत्पन्न काम शर्मनाक है। मैं इस बारे में सोच रहा हूं कि मेरे विश्लेषण के परिणामों को साझा करने के लिए सबसे अच्छा कैसे हो (बड़े डेटासेट से गुजरने के बाहर) और सोचा कि एपीआई एक दृष्टिकोण होगा। एपीआई का निर्माण करते समय मुझे किस तरह की चीजों के बारे में सोचना चाहिए? क्या ऐसे डिज़ाइन विनिर्देश हैं जिनका मैं अनुसरण कर सकता हूं?

मेरी दृष्टि इस समय की तुलना में थोड़ी अधिक भव्य लगती है, लेकिन मुझे लगता है कि इस काम पर जल्दी विचार करना एक उपयोगी रूपरेखा होगी।


1
क्या आप बॉक्स एपीआई से बाहर आर्कजीआईएस फ्लेक्स दर्शक या कुछ और की तलाश में हैं जिसे आप आगे अनुकूलित करना चाहते हैं?
कलाकृति

मैं कुछ (या चीजों) को आज़माना और अनुकूलित करना चाहूंगा। मैं वर्तमान में डेटा भंडारण और विश्लेषण के लिए PostGIS का उपयोग कर रहा हूं, और मानचित्रकार (लेकिन किसी भी तरह से विशेषज्ञ का उपयोग करके नहीं)। मैं सोच रहा हूं कि दूसरों के लिए यह सुलभ बनाने के लिए और मुझे क्या सीखना चाहिए, यह जानने के लिए अगला कदम क्या होगा।
djq

जवाबों:


7

एपीआई के अनुसार, मेरा मतलब है कि आप अपने डेटा को किसी HTTP POST / GET प्रकार के चक्कर जैसे कि Google Maps API के माध्यम से नेटवर्क एक्सेस के लिए उपयोग करते हैं? क्या यह रेखापुंज या वेक्टर डेटा होगा? मैं इस चर्चा के उद्देश्यों के लिए वेक्टर मानूंगा। यह वास्तव में अनुप्रयोग प्रोग्रामिंग इंटरफ़ेस के बजाय केवल एक संचार प्रोटोकॉल है।

आपको स्क्रैच से कुछ भी डिज़ाइन करने की आवश्यकता नहीं होगी, क्योंकि मानक प्रोटोकॉल के बहुत सारे हैं (बजाय एपीआई के प्रति एसई, मेरे पास चीजों को कॉल करने के बारे में एक छोटी सी बात है एपीआई जब वे नहीं हैं, लेकिन मैं आपको बोर नहीं करूंगा! )। यदि आप अपने ग्राहकों को केवल-पढ़ने के लिए वेक्टर डेटा परोसने में रुचि रखते हैं, तो आपको बस एक WFS सर्वर की आवश्यकता है जो आपके डेटाबेस के सामने बैठता है। मैंने भूतकाल में जियोस्वर का उपयोग किया है , लेकिन मैं टिनीओव्स के लाइटवेटनेस को पसंद करता हूं । दोनों एक ही काम करते हैं: उन्हें व्युत्पन्न डेटा के अपने डेटाबेस तक पहुंचने के लिए कॉन्फ़िगर करें, उन्हें एक वेब सर्वर के भाग के रूप में सेट करें ( Apache आम है, लेकिन मैं lighttpd पसंद करता हूं), आखिर तुमने इसे हासिल कर ही लिया है। QGIS WFS सर्वर से डेटा लोड कर सकता है, और निस्संदेह आर्क कर सकता है। OpenLayers में ब्राउज़र-आधारित समाधान के लिए WFS रेंडरिंग कैपबिलिटीज़ भी हैं। निचले स्तर पर, GDAL का उपयोग WFS से डेटा को किसी भी वेक्टर प्रारूप OGR समर्थन में परिवर्तित करने के लिए किया जा सकता है।

यदि आप संपादन क्षमताएँ चाहते हैं, तो जियोसर्वर और टाइनोव्स दोनों WFS-T का समर्थन करते हैं, जिससे आपके उपयोगकर्ता अपने सर्वर पर अपने विश्लेषण वापस अपलोड कर सकते हैं।

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


आपके विचारों के लिए धन्यवाद - शायद मैंने अपने प्रश्न में एपीआई का गलत इस्तेमाल किया। मुझे WMS और WFS सेवा (दोनों रेखापुंज और वेक्टर दोनों) में दिलचस्पी है; आपकी व्याख्या बहुत उपयोगी है क्योंकि मैं इसके बारे में अधिक सोचता हूं।
djq

6

आपके पास विकल्पों की एक जोड़ी है; किसकी पसंद आपके डेटा मॉडल पर निर्भर करेगी, किस प्रकार का डेटा परोसा जाना है, क्या उपयोग मॉडल, एक्सेस कंट्रोल के साथ-साथ डिलीवरी का प्लेटफॉर्म (वेब, एचटीएमएल, जावा सर्वर, आईआईएस, स्टैटिक डेटा सेट)।

  1. अपने डेटा सेट का उपभोग करने के लिए किसी मौजूदा उत्पाद का विस्तार करें। आप अपने (या समर्पित?) कंप्यूटर पर जियोसर्वर उदाहरण की मेजबानी कर सकते हैं और उस तरह से अपना डेटा वितरित कर सकते हैं। यदि आपका डेटा उस प्रारूप का नहीं है जिसे जियो सेवरर समझ सकता है, तो आपके पास उस क्षमता को प्रदान करने के लिए जावा पैकेज लिखने का विकल्प है। लाभ, यह है कि आपके पास विज़ुअलाइज़ेशन (WMS) और सुविधा हेरफेर / डाउनलोड (WFS) दोनों के लिए स्थानिक जानकारी देने के लिए एक अच्छी तरह से परिभाषित मानक है, साथ ही साथ अन्य लाभों जैसे कि जियो कोचिंग और टाइलिंग।
  2. अपना एपीआई विकल्प लें और आपका पूरा नियंत्रण है कि उपयोगकर्ता इसके साथ कैसे इंटरफेस करते हैं। जो आपके पहले कार्य के लिए आता है, परिभाषित करें कि आप उपयोगकर्ताओं को अपने डेटा के साथ कैसे सहभागिता करना चाहते हैं। आपके डेटा का यह इंटरफ़ेस सफलता या विफलता के बीच की कुंजी होगा। यदि आपका इंटरफ़ेस बहुत खुला है, तो यह जटिल और बेकार हो सकता है, बहुत सरल और प्रतिबंधक, धीमा या कोई गोद लेने वाला नहीं है। किसी भी तरह से, उपयोगकर्ताओं को आपके डेटा तक पहुंचने के तरीके को परिभाषित करना, और उपयोगकर्ताओं द्वारा आपके डेटा का उपयोग करने के लिए इच्छित तरीका आपके लिए महत्वपूर्ण होगा।

सौभाग्य, एक एपीआई कोई छोटा उपक्रम नहीं है क्योंकि आपको रिलीज़ विधि और चक्र, बग फिक्स, परीक्षण पर विचार करने की आवश्यकता है। ये सभी प्रयोज्य में योगदान करते हैं। मैं यह नहीं कह रहा हूँ, यह एक बहुत अच्छा अनुभव होगा। हालांकि एक मौजूदा उत्पाद पर निर्माण एक सकारात्मक अनुभव भी हो सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.