जीआईएस सॉफ्टवेयर विकसित करते समय आपकी सबसे बड़ी चुनौतियां क्या हैं?
क्या यह कोडिंग है? क्या यह कार्टोग्राफी / भूगोल / आदि अवधारणाओं (जैसे अनुमान) को समझ रहा है? या अन्य कठिनाइयाँ?
जीआईएस सॉफ्टवेयर विकसित करते समय आपकी सबसे बड़ी चुनौतियां क्या हैं?
क्या यह कोडिंग है? क्या यह कार्टोग्राफी / भूगोल / आदि अवधारणाओं (जैसे अनुमान) को समझ रहा है? या अन्य कठिनाइयाँ?
जवाबों:
लगभग 5 साल पहले ESRI / GIS के विकास के दृश्य में एक डेवलपर के रूप में मेरे अनुभव से बात करना:
जैसा कि आप बता सकते हैं कि मेरे पास ESRI विकास के दृश्य पर एक नकारात्मक दृष्टिकोण है। जो लोग एक भूगोल पृष्ठभूमि से आते हैं, मुझे यकीन है कि संभावनाएं बहुत रोमांचक हैं। लेकिन मेरे जैसे किसी व्यक्ति के लिए जो रिलेशनल डेटाबेस, ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग, और रचनात्मक समाधानों के लिए व्यापक खुला अवसर पसंद करता है, ईएसआरआई के साथ जीआईएस विकास बहुत विवश और अप्रभावी है। यह शर्म की बात है क्योंकि पुराने स्कूल की भीड़ मुझे बताती है कि यह माइक्रोसॉफ्ट के साथ संरेखण से पहले एक बेहतर वातावरण हुआ करता था। मुझे पूरी उम्मीद है कि ओपन सोर्स कम्युनिटी का इनोवेशन जारी रहेगा।
बड़ी मात्रा में डेटा। वेब प्रौद्योगिकी का उपयोग करके बड़ी मात्रा में डेटा निकालने का सही तरीका जानने में सक्षम होना एक चुनौती रही है। हमारे पास बहुत अधिक डेटा, और खराब प्रदर्शन हो सकता है, या बहुत कम डेटा प्रदर्शित किया जा सकता है, लेकिन संभवतः गलत जानकारी दे रहा है।
मैं जीआईएस डेवलपर नहीं हूं; हालाँकि, मैं एक जीआईएस मॉडेलर हूँ:
चुनौतियां:
डेटा एकत्र करना, एकत्रीकरण, असहमति, विलय और विभाजन: मुझे विभिन्न परियोजनाओं के लिए विभिन्न स्रोतों से डेटा मिलता है; सबसे बड़ी समस्या आमतौर पर एक ही भौगोलिक पार्सल / क्षेत्र के लिए सभी डेटा प्राप्त करना है। मुझे आमतौर पर प्रत्येक डेटा सेट पर उपर्युक्त तकनीकों में से कुछ का उपयोग करना पड़ता है, परियोजना के लिए एक सुसंगत नमूना होना चाहिए। यह त्रुटि की संभावना को बढ़ाता है और हमारी सटीकता को कम करता है।
मैं कोई डेवलपर नहीं हूं; मैं दोहराता हूं कि मैं एक डेवलपर नहीं हूं: जब आप प्यारे लोग SOAP, SHAMPOO, REST, GIS-T इंडेक्स, आदि के बारे में बात करते हैं .. तो इसका मतलब आपके लिए बहुत कुछ है। मेरे लिए ज्यादातर यह शब्दजाल है। मेरे पास आमतौर पर एक बड़ी सीखने की अवस्था है या कुछ सरल चीजें प्राप्त करने के लिए खड़ी चढ़ाई है।
FOSS और मालिकाना सॉफ्टवेयर के बीच की खाई: मुझे QGIS से प्यार है और मौत के लिए पोस्टगिस; सचमुच मैंने उन्हें हर मशीन पर स्थापित किया है; हालाँकि, जब मैं परिवहन आधारित विश्लेषण करना चाहता हूँ, तो मुझे TransCAD या EMME2 / 3 का सहारा लेना होगा। सभी घंटियों और सीटी के साथ प्रत्येक की कीमत लगभग 15,000 डॉलर है। निष्पक्षता में, इन सभी समस्याओं को हल किया जा सकता है अगर shp फ़ाइलों के लिए एक नेटवर्क पैकेज था।
एकाधिक विषयों का मुद्दा: मैं अच्छी तरह से परिवहन मॉडलिंग तकनीकों में निपुण हूं; हालांकि जनसांख्यिकीय मॉडलिंग में चूसना, और जहाँ तक मैं बता सकता हूं, मुझे अपना डेटा प्राप्त करने के लिए परिष्कृत आर टूल्स का उपयोग करना होगा। तो जीआईएस समस्या यह है कि जीआईएस एक बहु-विषयक क्षेत्र है जो अपने दम पर जीवित रहना मुश्किल है।
वेक्टर भूमि के उपयोग के लिए कल्पना भूमि के उपयोग से जाने के लिए अच्छी तरह से स्थापित उपकरण और सॉफ्टवेयर का अभाव: मैं एक भविष्य की उम्मीद करता हूं जहां एक उपकरण GEOEYE उपग्रह छवि का विश्लेषण करेगा और इसमें उपयोग किए जाने वाले भूमि का उपयोग वेक्टर (जैसा बनाया गया) डेटाबेस से तुलना करेगा
कभी-कभी यह एक्सेल में चीजों को करने के लिए तेज़ होता है / "आपका फ़ेव स्प्रेड शीट प्रोग्राम यहां चला जाता है: कभी-कभी मैं ट्रांज़िट विश्लेषण करना चाहता हूं, यह डेटा को एक्सेल में खींचने के लिए बहुत तेज़ है, फ़ार्मुलों को काम करता है, फिर डेटा वापस डंप करें एक सीएसवी फ़ाइल के रूप में पोस्टगिस में और नक्शे को पुन: उत्पन्न करें। विशेष रूप से ओपनसोर्स दुनिया में इस तरह के विभाजन को बेहतर तरीके से नियंत्रित किया जाना चाहिए।
वैसे भी मैंने आपको सही जवाब नहीं दिया होगा; मेरी इच्छा है कि जब जीआईएस प्रोग्रामिंग की बात आती है तो मैं अच्छी तरह से वाकिफ था ताकि मैं जीआईएस मॉडलिंग में उत्कृष्टता हासिल कर सकूं
सबसे महत्वपूर्ण चीजें, और आमतौर पर मेरे अनुभव में सबसे कठिन हैं:
मुझे लगता है कि विकसित देशों में बिंदु 1 आसान होगा, लेकिन यह मेरा अनुभव नहीं है।
मेरे लिए, सबसे बड़ी चुनौती यह तय करना है कि किसी दिए गए प्रोजेक्ट के लिए कौन से उपकरण का उपयोग करना है। खुला स्रोत या मालिकाना? अजगर या .NET? वेब आधारित या डेस्कटॉप? मैं अलग-अलग परियोजनाओं के लिए इन सवालों के अलग-अलग जवाब देता हूं, और मुझे यकीन है कि लोग इस साइट पर उन सभी से पूछेंगे। इसका बहुत सा हिस्सा व्यक्तिगत पसंद में आता है और भविष्य में ईएसआरआई और माइक्रोसॉफ्ट का समर्थन करने की कोशिश करता है।
मेरा मुद्दा घोड़े और पानी के बारे में है। बहुत से मामलों में हम अपने ग्राहकों के लिए वास्तव में अच्छे समाधान विकसित करते हैं या पेश करते हैं, लेकिन समाधान कितना भी सुंदर क्यों न हो, अगर कोई भी समय का उपयोग नहीं करेगा तो यह बिल्कुल बेकार है। कुछ मामलों में, हम अपने कार्य उपयोगकर्ता को आधार बनाकर (मुद्दों के लिए सर्वेक्षण, विकास से पहले समाधानों के बारे में बात) करके इसे कम करने में सक्षम हैं, लेकिन यह कुछ मामलों में यह अभी भी पर्याप्त नहीं है।
मुझे लगता है कि सबसे कठिन चुनौती जीआईएस को समझने के लिए प्रबंधन प्राप्त करना है और कुछ उपयोगकर्ताओं को बस यह भी नहीं मिलता है। धारणा यह है कि जीआईएस एक नक्शा बनाने के बारे में है; यह नक्शा किसी भी जीआईएस एंडेवर का एकमात्र परिणाम है। मैं आपको यह नहीं बता सकता कि मुझे यह कितना निराशाजनक लगता है - अज्ञानता का स्तर बहुत बड़ा है, और यह प्रमुख निर्णय निर्माताओं द्वारा आयोजित किया जाता है।
अंततः हालांकि - हम अग्रणी जीआईएस विशेषज्ञों और प्रोग्रामरों में से कुछ हैं - अंततः प्रबंधन बन जाएंगे और फिर हम अंततः कुछ सभ्य जीआईएस परियोजनाएं कर सकते हैं!
एक जीआईएस प्रोग्रामर के रूप में दूसरी कठिन बात - आपको कई अलग-अलग तकनीकों, जावा, .नेट, डेटाबेस, ईएसआरआई सॉफ्टवेयर या अन्य विक्रेताओं यानी मैपइन्फो, नेटवर्क, सुरक्षा, वेब तकनीक आदि को समझना होगा। यह कभी-कभी लगभग असंभव काम है!
एक सर्वेक्षण पृष्ठभूमि के लोगों के साथ व्यवहार करना जो पेशेवर सॉफ्टवेयर विकास तकनीकों और कार्यप्रणाली को नहीं समझते हैं, लेकिन क्योंकि उन्होंने खुद को सिखाया कि कैसे एवेन्यू / वीबी को कोड करना है, लगता है कि यह सब है।
# 3 विंको के जवाब से :
एक प्रयोग करने योग्य अनुप्रयोग डिज़ाइन करें। यह बहुत सारी घंटियाँ और सीटी लगाना आसान और आकर्षक है जो केवल उपयोगकर्ताओं को भ्रमित करेगा।
मैं पूरे उत्तर के लिए वोट करूंगा लेकिन इस तथ्य के लिए कि प्रयोज्य उनकी सूची में केवल तीसरा आइटम है और मुझे नहीं लगता कि पहले दो चुनौतीपूर्ण हैं।
प्रयोज्य वह जगह है जहां मेरे अधिकांश मुद्दे हैं और जहां मैं अधिकांश डिजाइन / विकास समय बिताता हूं, यह समझकर कि कैसे एक बुद्धिमान और प्रभावी उपयोगकर्ता-इंटरफ़ेस डिजाइन किया जाए, लेकिन इसे सहज रखें ताकि उपयोगकर्ता इसके लिए भ्रमित न हों, उदाहरण के लिए:
संबंधित जानकारी दिखाने के लिए और एक अव्यवस्था से बचने के लिए इंटरएक्टिव मैप की स्टाइलिंग (और परतों का चयन) कैसे करें कि अक्सर बहुत अधिक डेटा प्रदर्शित करने के साथ आता है (जैसे बिंदु सुविधाओं के स्वत: एकत्रीकरण का उपयोग करके); मुझे पता है कि यह वही है जो कार्टोग्राफी युगों से हल करने की कोशिश कर रहा है, लेकिन समस्या केवल डिजिटल / इंटरेक्टिव मानचित्रों के साथ खराब हो जाती है
उपयोगकर्ता की क्वेरी / सुविधा चयन के आधार पर मानचित्र दृश्य की स्वचालित स्थिति कैसे करें
'चयनित' सुविधाओं को हाइलाइट करते हुए - क्या आप हाइलाइट को बस संक्षिप्त रूप से दिखाते हैं, क्या इसने किसी विशेषता को चुनने में पूरे समय को हाइलाइट किया है, क्या आप अन-हाइलाइट करते हैं जब चयन तालिका (या सूची) फोकस खो देती है ... सभी क्वेरी को कैसे हाइलाइट करें उस तालिका के भीतर एक तालिका और चयनित पंक्ति के परिणाम (बहुत अधिक टॉगल बटन होने के बिना)
परतों या सुविधाओं की सूचियों में अतिरिक्त जानकारी दिखाते हुए, उदाहरण के लिए, एक परत की दृश्यता / लागू शैली / ज्यामिति प्रकार, सुविधा की स्थिति / वर्ग ... एक ही सूची में प्रदर्शित अलग-अलग प्रकार के फीचर होने पर यह और भी जटिल हो जाता है (मुझे लगता है कि ऐसा क्यों है Google और बिंग मैप्स खोज परिणामों के काफी भारी फ़िल्टरिंग का उपयोग करते हैं)
कुशल संपादन: बहुत सारे टूलबार बटन के बिना, स्नैपिंग, पॉलीगन्स को बंद करना, पॉइंट्स को जोड़ना / हिलाना / हटाना।
ज्यामिति प्रश्नों के लिए उपयोगकर्ता-फ़्रेंडली क्वेरी इंटरफ़ेस को डिज़ाइन (और कार्यान्वित) कैसे करें, और इससे भी अधिक चुनौतीपूर्ण, दोनों विशेषताओं और ज्यामिति सहित प्रश्नों के लिए एक इंटरफ़ेस; उपयोगकर्ता एसक्यूएल जैसा कुछ बनाने में।
सुविधाओं / जियोमेट्री के लिए क्लिपबोर्ड की तरह कुछ डिजाइन करने के लिए कैसे पूछताछ, संपादन में उपयोग के लिए नक्शे से लगातार एक सुविधा लेने से बचने के लिए ...
मेरी भावना यह है कि प्रयोज्य पहलू में जीआईएस एक विशेष रूप से चुनौतीपूर्ण क्षेत्र है, क्योंकि:
स्थान किसी भी जानकारी के लिए सार्वभौमिक और आमतौर पर सबसे प्राकृतिक संदर्भ है, इसलिए प्रदर्शन के लिए हमेशा बहुत अधिक जानकारी उपलब्ध है
मानचित्र पर प्रदर्शित जानकारी होने के बाद, उपयोगकर्ता इंटरफ़ेस के गैर-जीआईएस भागों के महत्व को कम करने के लिए आसानी से लुभाया जाता है
उद्योग ने पारंपरिक रूप से जीआईएस सॉफ्टवेयर के प्रयोज्य पहलू की उपेक्षा की है, और वे इसके साथ दूर हो गए क्योंकि डिजिटल मैपिंग को एक धीमी गति से सीखने की अवस्था के साथ एक तकनीकी व्यापार के रूप में देखा गया था और इंटरफ़ेस का उपयोग करने की तुलना में सीखने के लिए कहीं अधिक कठिन अवधारणाएं थीं। इसका मतलब यह है कि गैर-विशेषज्ञ के लिए जीआईएस इंटरफेस डिजाइन करने की कोशिश करने वाले किसी व्यक्ति को अपने स्वयं के सिद्धांतों का आविष्कार करना होगा जो भ्रमित होने के लिए बर्बाद हैं (एक अच्छा उदाहरण Google के 'मेरे मानचित्र' या बिंग मैप्स '' माई प्लेस ') होंगे
वेब-आधारित जीआईएस विकास के लिए सबसे बड़ी चुनौतियों में से एक यह है कि डेटा कैसे वितरित किया जाता है और डेटा को एक निश्चित तरीके से वितरित करने के लिए मैं कितनी दक्षता प्राप्त कर सकता हूं। सबसे बड़ी बाधा यह है कि किसी ऐसी चीज़ के लिए कोड लिखना बहुत कठिन है, जिसे मानव को ट्विक करने की आवश्यकता होती है। बहुत कम ही आप बड़े पैमाने पर इस्तेमाल किए जाने वाले वेक्टर डेटा के लिए सामान्यीकरण तकनीकों को देखते हैं। ज्यादातर बार आपको लेयर्स को ऑन और ऑफ करने के लिए स्केल रेंज को ट्वीक करना पड़ता है।
यह सवाल जीआईएस में चुनौतियों के लिए मेरी Google खोज पर आया था, और मुझे यहां योगदान देने का मन है।
एक और लिंक जो मुझे प्रासंगिक लगा वह था यह पेपर।
संक्षेप में कहा जाता है कि वहाँ और मेरे अपने विचार, मुझे लगता है कि सबसे बड़ी चुनौतियाँ (किसी विशेष क्रम में नहीं हैं):
जब कोडिंग की बात आती है, तो मुझे लगता है कि मैं वर्कअराउंड पर बहुत अधिक समय बर्बाद करता हूं। अनुमानों के लिए मुझे प्रक्रियाओं और गणित को समझने में कुछ महीनों का समय लगा क्योंकि मेरी राय में इस विषय पर थोड़ी मददगार प्रकाशित सामग्री है। इस विषय पर ईपीएसजी और ओजीसी दस्तावेजों ने मुझे कुछ पढ़ने के बाद इसके चारों ओर अपना सिर लाने में मदद की, भले ही वे कभी-कभी एक दूसरे की प्रतियां लगते हैं। एक स्वतंत्र डेवलपर के रूप में मेरे पास सबसे बड़ी समस्या यह है कि मैं अब भी चिकित्सा, औद्योगिक या साधारण वेब ऐप के विकास के लिए विशेष काम करने वाले लोगों की मदद नहीं कर सकता। जीआईएस उद्योग के साथ बाजार में प्रवेश करने का रास्ता खोजना लगभग असंभव है।
मैं जीआईएस प्रौद्योगिकियों पर एक पूर्ण शुरुआत कर रहा हूं, चीजों को पता लगाता हूं जैसे मैं जाता हूं। और चूंकि मेरे पास सीमित धन है, इसलिए मैं किसी भी ईएसआरआई उत्पादों का उपयोग करने से बचना चाहता हूं और पूरी तरह से ओपन सोर्स टूल्स के साथ काम करता हूं।
तो उस ने कहा, मेरे लिए अब तक की सबसे कठिन चीजें डेटा एकत्र करने से संबंधित हैं। डेटा में हेरफेर करने और प्रदर्शित करने पर बहुत सारे लेख हैं, और आपके जीवन को आसान बनाने के लिए बहुत सारे उपकरण हैं। लेकिन जब डेटा इकट्ठा करने की बात आती है तो मैं अंधेरे में चलना छोड़ देता हूं।
मुझे पता नहीं है कि पेशेवर डेटा खोजने और इकट्ठा करने के लिए क्या करते हैं। कुछ मुझे बताता है कि data.gov और google की तुलना में डेटा प्राप्त करने का एक आसान तरीका है।
सॉफ्टवेयर डेवलपर्स में परिवर्तित किए गए जीआईएस विश्लेषकों के साथ काम करने के लिए आपको मजबूर होना दुर्भाग्यपूर्ण हो सकता है।
जीआईएस अवधारणाओं को लेने के लिए एक सक्षम सॉफ़्टवेयर डेवलपर से अपेक्षा करना आसान है, और उन्हें एपीआई के माध्यम से जाने दें और आम तौर पर बहुत मदद के बिना चीजों का पता लगाएं। वही जीआईएस विश्लेषक लेने और सॉफ्टवेयर विकास की उम्मीद करने के लिए सही नहीं है।
परिणाम शर्मनाक हैं , सबसे अच्छे रूप में। यदि आपके पास खराब डेवलपर्स के साथ काम करने का अनुभव है , तो कल्पना करें कि यह सबसे खराब कोड है जो कि सबसे खराब प्रोग्रामर ने विकसित किया है।
कुछ कंपनियां हैं जिनके लिए आप काम कर सकते हैं जो कि नहीं मिलता है।
जीआईएस दुनिया का विस्तार आम उपयोगकर्ता की ओर तब तक किया जा रहा है जब तक कि शुरुआती वर्षों में जहां जीआईएस केवल इंजीनियरों, आर्किटेक या वैज्ञानिक समुदाय द्वारा इलाज नहीं किया गया था। जिस मामले में जीआईएस ऐप आम उपयोगकर्ता के लिए किया जाता है वह चुनौती उचित रूप से ऐसी तकनीकों का मिश्रण है जहां जीआईएस को एक तकनीक के रूप में अधिक व्यवहार किया जाता है (इस मामले में जीआईएस प्रौद्योगिकी की थोड़ी समझ वाला एक डेवलपर पर्याप्त है)। हालांकि इस मामले में कि ऐप विशेष समुदाय के लिए किया गया है चुनौती अधिक जटिल है क्योंकि प्रौद्योगिकियों में शामिल होने के अलावा आवश्यक एल्गोरिदम को पूरा करने के लिए आवश्यक है कि मौजूदा एल्गोरिदम की खोज आवश्यक है अन्यथा इससे भी बदतर हमें इन एल्गोरिदम को विकसित करना होगा। इस मामले में अभियंता और डेवलपर का एक मिश्रण कार्यकर्ता को प्रेरित करता है।