वेब जीआईएस विकास कौशल सेट [बंद]


12

वेब जीआईएस विकास अध्ययन / अधिग्रहित करने के लिए कौन से प्रौद्योगिकी और कौशल सेट होना चाहिए?

कृपया प्रति उत्तर एक कौशल / प्रौद्योगिकी।


4
एक व्यापक प्रश्न के बारे में बात करें ... क्या आप इसे एक विशिष्ट सॉफ़्टवेयर स्टैक तक सीमित कर सकते हैं? ESRI? FOSS? बस google / पॉइंट डेटा मैशअप करना चाहते हैं?
डेरेक स्विंगले

मेरी गलती। ESRI या FOSS, क्या यह दोनों संभव नहीं है? मुझे आशा है कि बिंदु मैशअप की तुलना में कुछ अधिक जटिल है। कुछ ऐसा करने के लिए पर्याप्त कौशल। opengeohost.com/maps/stlawrence
आरके

1
बड़ा सवाल है। चलो प्रति उत्तर एक कौशल है।
एडम मटन

धन्यवाद। महान विचार। क्या मुझे इस सवाल पर पोस्ट करना चाहिए? मुझे सिर्फ एहसास हुआ कि सवाल व्यापक हो सकता है। क्या सामुदायिक विकि के रूप में यह बेहतर होगा?
आरके

simmilar समस्या: stackoverflow.com/questions/1054480/…
radek

जवाबों:


17

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

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

मेरे कदम थे:

  • जीआईएस अच्छी तरह से जानें। मौलिक अधिकार के बिना प्रोग्रामिंग सीखना शुरू न करें। अनुमान और परिवर्तन, स्थानिक विश्लेषण, रेखापुंज और वेक्टर मॉडल के बीच अंतर, आदि।

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

  • SQL सीखें। यह वास्तव में पहले के लिए एक दूसरा हिस्सा है। यदि आप "चौकसी" तरीके से सोचना शुरू करते हैं तो यह आपको बहुत हद तक मदद करेगा। SQL विक्रेता से विक्रेता में बदलता है। मैं आपको PostgreSQL के साथ सिफारिश कर सकता हूं, जो कि सबसे अधिक मानक का पालन करने वाला विक्रेता है। यदि आपको विशिष्ट बोलियाँ सीखने की आवश्यकता है, तो इसे बाद में करें, जब आपको वास्तव में इसकी आवश्यकता हो।

  • ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग। यह एक चुनौती है, लेकिन मूल बातें समझ लेने के बाद यह काफी आसान है। इसे करने के लिए एक आसान भाषा चुनें। अजगर अब तक सबसे आसान है। पाइथन सीखना एक उत्कृष्ट प्रारंभिक बिंदु है। ओपन-सोर्स / फ्री पायथन किताबें हैं, जैसे डाइव इन पाइथन । पायथन के बाद, दिलचस्प विकल्प हैं: .NET, जावा और C / C ++।

  • प्रोग्रामिंग का अध्ययन करें। कोड पढ़ें, कोड लिखें। भू-स्थानिक कोड पढ़ें। भू-स्थानिक कोड लिखें । क्लासिक एपीआई का अध्ययन करें: GEOS, JTS, GDAL, ArcObjects (यदि आप ईएसआरआई प्रशंसक हैं - और यह बाजार में एक बड़ा प्लस है), आदि।

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

  • पढ़ते रहिए। OGC मानक यहाँ एक अच्छा विकल्प है।


4

डेटाबेस के आसपास अपना रास्ता पता है। कोई भी जीआईएस डेवलपर उन्हें बड़े पैमाने पर उपयोग करेगा।

सबसे एहम:

  • DBMS और रिलेशनल मॉडल । डेटा भंडारण की मूल बातें समझने के लिए ये विषय महत्वपूर्ण हैं।
  • कम से कम एक जीआईएस डीबी समाधान । मैं PostGIS पसंद करता हूं , लेकिन अन्य समाधान भी मौजूद हैं
  • एसक्यूएल और जीआईएस एसक्यूएल का अच्छा ज्ञान : कुशलता से डेटा को कैसे निकालना, सम्मिलित करना, सॉर्ट करना और हेरफेर करना।
  • क्लासिक डीबी ट्रेड-ऑफ्स : विभिन्न ऑपरेशन मेमोरी, डिस्क स्पेस, सीपीयू और नेटवर्क के उपयोग को कैसे प्रभावित करते हैं।
  • अनुक्रमण। यह एक अलग बुलेट के लिए पर्याप्त महत्वपूर्ण है, क्योंकि शुरुआती लोगों के बीच इसका सबसे आम डीबी लैकुना है।
  • क्लस्टरिंग और स्केलेबिलिटी के बारे में कुछ ज्ञान ।
  • NOSQL का बुनियादी ज्ञान ।

यदि आप डेटाबेस का उपयोग नहीं कर रहे हैं, तब भी आप डेटा का उपयोग कर रहे हैं - और आम तौर पर यह एक सुरक्षित शर्त है कि डेटा को क्वेरी करने के लिए SQL (या उसके चचेरे भाई में से एक) का उपयोग किया जाएगा।
mwalker

मैं मानता हूं कि उपरोक्त सभी अच्छी बातें हैं, लेकिन क्या वे वेब विकास के संबंध में सूची में सबसे ऊपर हैं?
शमौन

CQL के बारे में क्या? क्या यह आवश्यक है?
आरके

1
@ साइमन - अपर्याप्त डीबी क्षमता जीआईएस डेवलपर्स के बीच सबसे आम समस्याओं में से एक है। IMHO यह सबसे महत्वपूर्ण कौशल में से एक है (HTML / CSS, जावास्क्रिप्ट और मैप रेंडरिंग के साथ)। @ आरके - सीक्यूएल?
एडम मटन

सामान्य क्वेरी भाषा? मुझे जियोसर्वर के साथ काम करते हुए एक बार इसका सामना करना पड़ा।
आरके

3

यह मानते हुए कि आपके पास पहले से ही कवर की गई चीजों (कार्टोग्राफिक सिद्धांत आदि) का जीआईएस पक्ष है, मैं सबसे पहले http://www.w3schools.com/ की यात्रा करूंगा - HTML, Javascript, XML, आदि में ट्यूटोरियल के माध्यम से चलाएं।

फिर आपके पास चुनने के लिए कई अलग-अलग प्लेटफ़ॉर्म हैं। मैं ESRI के प्रति थोड़ा सा पक्षपाती हूं, और मैं APIs के बारे में खेलकर शुरुआत करने की सलाह दूंगा । http://resources.arcgis.com/content/web/web-apis - अवधारणाओं / नमूनों के माध्यम से चलने से आपको एक वास्तविक बोध होता है आप प्राप्त कर सकते हैं।
मुझे लगता है कि कोड के नमूने डाउनलोड करना और उन्हें अपनी सेवाओं के साथ काम करने के लिए रिवर्स इंजीनियरिंग करना (यह मानते हुए कि आपके पास ArcGIS सर्वर का एक उदाहरण है, अन्यथा आप ESRIs नमूना सर्वर का उपयोग कर सकते हैं) सीखने का एक अच्छा तरीका है।

वहाँ भी बहुत सारे वीडियो है, इस y कान देव सम्मेलन वीडियो पर एक नज़र डालें। Id अनुशंसा करता है कि जावास्क्रिप्ट के लिए आर्कजीआईएस एपीआई का अवलोकन, प्रभावी मानचित्र सेवाओं के डिजाइन के लिए सर्वोत्तम अभ्यास, वेब के लिए डेस्कटॉप अनुप्रयोगों को फिर से डिज़ाइन करना और आर्कजीस सर्वर टेस्ट एपीआई का उपयोग करना।

आप किस वेब प्लेटफॉर्म का चयन करेंगे? WebADF (Java / NET) को देखते हुए Id अनदेखा करें क्योंकि यह चरणबद्ध होने वाला है।

आपके ग्राहक कौन हैं? वे किस ब्राउज़र का उपयोग करेंगे? क्या वे सिल्वरलाइट या फ्लैश प्लगइन्स स्थापित कर सकते हैं? क्या आपके पास विकसित करने के लिए कोई आईडीई है? जैसे फ्लेक्स फ्लैशब्यूलर ($ $) में सबसे अच्छा है, लेकिन आप फ्लैशडेवलप का भी उपयोग कर सकते हैं जो एक ओपन सोर्स विकल्प है।

क्या आप स्थापित तकनीकों या उभरती प्रौद्योगिकियों के साथ अधिक सहज हैं? जोखिम उठाते हैं।
- .NET / Java उम्र भर के लिए रहे हैं - सिल्वरलाइट और फ्लेक्स काफी नए हैं और अगर HTML 5 इन प्लेटफार्मों को मिटा देगा तो इस पर कुछ बहस है

सिल्वरलाइट और फ्लेक्स दोनों में अधिक अन्तरक्रियाशीलता होती है, जहाँ जावास्क्रिप्ट, Dojo.Framework पर निर्भर होकर इस अंतर के लिए बनाता है।

वेब एडीएफ और वेब एपीआई के बीच कार्यक्षमता में बड़ा अंतर तथ्य यह है कि आर्कजीआईएस वेब एपीआई पूरी तरह से क्लाइंट-साइड हैं।

मैं कम-ईएसआरआई विशिष्ट उत्तर देने के लिए किसी और को छोड़ दूंगा, लेकिन स्पष्ट विकल्प यह है कि Google मैप्स एपीआई के साथ एक नाटक शुरू करना है - इसे सीखने के लिए बहुत सारे संसाधन / ट्यूटोरियल हैं।


वाह। अवलोकन के लिए धन्यवाद: DI FOSS की ओर थोड़ा अधिक झुकें, हालांकि मैं तीसरी दुनिया के देश में हूं और ESRI उत्पाद यहां ज्यादातर लोगों की पहुंच से बाहर हैं।
आरके

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

का उल्लेख किया। अभी खुले जियो-स्टैक की जांच कर रहे हैं।
आरके

3

जावास्क्रिप्ट, HTML डोम, सीएसएस, एचटीटीपी

यदि आप इन पर महारत हासिल करते हैं, तो आप वेब पर कुछ भी कर सकते हैं। SVG जैसे अच्छे API में जोड़ने से शायद यह आसान हो जाए और आपके वेब एप्लिकेशन अच्छे हो जाएं, लेकिन IMO आप कभी भी ऊपर सूचीबद्ध चार के आसपास प्राप्त नहीं कर पाएंगे।


जावास्क्रिप्ट, HTML डोम, सीएसएस, एचटीटीपी क्या कोई विशेष ऑर्डर है जो मुझे उन्हें सीखना चाहिए? :)
आरके

2
मैं निम्नलिखित आदेश का सुझाव देता हूं: HTML, CSS, HTTP, DOM, JavaScript, इसके अतिरिक्त PHP और सर्वर साइड स्क्रिप्टिंग के लिए पायथन / रूबी।
UnderDark

3

यह मानते हुए कि आप अपने स्थानिक DB और मानचित्र सर्वर [यहाँ अन्य उत्तरों में वर्णित] और HTML, सीएसएस और जावास्क्रिप्ट के अपने ज्ञान को ब्रश करने में कामयाब रहे हैं, आप ग्राहक पुस्तकालयों के साथ छेड़छाड़ शुरू कर सकते हैं जो उपयोगकर्ता के वेब ब्राउज़र के अंदर मानचित्र घटकों का उपभोग और प्रदर्शन करेंगे।

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

अजगर मैपफिश सीखने के लिए आपके ज्ञान / इच्छा के आधार पर बहुत ही सुंदर समाधान है। या आप GeoDjango में गोता लगा सकते हैं , हालांकि मैं खुद इस समाधान पर ज्यादा टिप्पणी नहीं कर सकता।

वैकल्पिक रूप से आप थ्रू OSGeo वेब मैपिंग समाधान देख सकते हैं, Flash की ओर मुड़ सकते हैं, या ESRI वेब APIs जैसे कुछ व्यावसायिक उपयोग कर सकते हैं


3

मैं एडम से सहमत हूं कि स्थानिक DB और SQL एक प्रारंभिक बिंदु होना चाहिए।

उसके बाद यह आपके भविष्य के वेब जियोस्टैक के दूसरे स्तर को देखने लायक हो सकता है । आपको अपने उपयोगकर्ताओं के ब्राउज़र में स्थानिक DB से क्लाइंट तक आपके डेटा को 'सेवारत' करने के लिए कुछ करने की आवश्यकता होगी।

सुनिश्चित करें कि आप WFS और WMS अवधारणाओं को समझते हैं।

स्थापित करें और अपने स्वयं के सर्वर के साथ स्थानीय रूप से खेलना शुरू करें। द्वारा गले लगा लिया दो अच्छी तरह से ज्ञात परियोजनाओं मुक्त स्रोत भू-स्थानिक फाउंडेशन हैं GeoServer और MapServerQGIS मानचित्रकार के रूप में अच्छी तरह से देखने लायक हो सकता है। ArcGIS सर्वर यहाँ [महंगा] होगा।

एक बार जब आप इस भाग को छाँट लेते हैं तो आप ग्राहक पुस्तकालयों से खेलना शुरू कर सकते हैं।


2

Mapnik या मानचित्र टाइल बनाने के लिए कोई अन्य मानचित्र रेंडरिंग टूल।

लगभग किसी भी जीआईएस वेब डेवलपर को मैप रेंडरिंग टूल्स का उपयोग करने की आवश्यकता होगी, या कम से कम परतों और टाइल्स की मूल अवधारणाओं को समझना होगा।


धन्यवाद। मुझे लगता है कि मैं परतों और टाइल्स को ठीक समझता हूं। यह प्रतिपादन हिस्सा मैं के साथ परेशान कर रहा हूँ।
आरके

2

अपने सर्वर ओएस, अपने वेब सर्वर (IIS, अपाचे, जो भी हो) और अपने सामान को सुरक्षित करने के तरीके को जानें - भले ही कोई आपके लिए यह सब कर रहा हो।


2

आप मेरे पाठ्यक्रम (https://www.e-education.psu.edu/geog585/) के माध्यम से काम कर सकते हैं, जो (मुझे लगता है) एक अच्छा परिचय देता है और आपको उठकर चलना चाहिए।


1

मैं अंतिम टिप्पणी के लिए जॉर्ज के दूसरे पर जोर नहीं दे सकता। एक भू-स्थानिक और / या वेब समस्या चुनें जो आपको रुचती है और इसे हल करने के लिए आवश्यक तकनीकों के बारे में जानें।

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

मैं कुछ मौजूदा डेटा सेवाओं से ऐप मैप्स डेटा बनाने के लिए OpenLayers का उपयोग करके एक ऐप बनाने की शुरुआत करने का सुझाव दूंगा। फिर आप अपने डेटा स्रोत या सेवाएँ बनाने के लिए आगे बढ़ सकते हैं। यदि आप FLOSS प्रौद्योगिकियों के साथ चिपके रहते हैं, तो आप बिना लाइसेंस लागत के मुद्दों के बिना अपने ऐप्स का निर्माण और उपयोग कर पाएंगे।

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