PostGIS डेटाबेस के लिए एक साधारण फ्रंट-एंड कैसे बनाएं?


21

मेरा संगठन बहुत सारे पर्यावरण निगरानी डेटा (धारा प्रवाह, जल रसायन आदि) एकत्र करता है, जिनमें से अधिकांश वर्तमान में एक्सेल में संग्रहीत हैं। मैं एक डेटाबेस में सब कुछ प्राप्त करना चाहता हूं - शायद PostGIS - लेकिन मुझे डेटा को डेटाबासिंग सिद्धांतों (कोई SQL या ऐसा कुछ भी नहीं) के ज्ञान के साथ लोगों के लिए सुलभ होने की आवश्यकता है।

मैं अपने डेटाबेस के लिए किसी प्रकार का साधारण फ्रंट-एंड रखना चाहता हूं, जहां उपयोगकर्ता रुचि का एक निगरानी स्टेशन, चर प्रकार (जैसे स्ट्रीम नाइट्रेट एकाग्रता) और एक समय अंतराल का चयन करता है। डेटाबेस तब सीएसवी प्रारूप में अनुरोधित डेटा को वापस कर देगा, जिसे उपयोगकर्ता अपने कंप्यूटर पर डाउनलोड कर सकता है। एक आदर्श दुनिया में फ्रंट-एंड सभी मॉनिटरिंग स्टेशनों का क्लिक करने योग्य नक्शा प्रदर्शित करता है, लेकिन अगर यह आसान है तो उपलब्ध साइटों की एक ड्रॉप-डाउन सूची के साथ शुरू करना ठीक होगा। मुझे लगता है कि यह फ्रंट-एंड शायद एक वेबसाइट होगी, लेकिन यह होना जरूरी नहीं है।

यह कितना मुश्किल है, कृपया, और मेरे विभिन्न विकल्प क्या हैं? मैं किसी भी तरह से एक डेटाबेसिंग विशेषज्ञ नहीं हूं, लेकिन मेरे पास डेस्कटॉप जीआईएस में एक ठोस पृष्ठभूमि है और मैं सरल पायथन स्क्रिप्ट लिखने और पोस्टजीआईएस, स्पैटियालाइट और ईएसआरआई पर्सनल जियोडैट डेटाबेस के साथ खेल रहा हूं। मैंने कभी कोई वेब डेवलपमेंट या वेब जीआईएस नहीं किया है, लेकिन मैं सीखने के लिए उत्सुक हूं।

मैंने कल कुछ उत्कृष्ट OpenGeo ट्यूटोरियल्स की खोज में भाग लिया । यह दृष्टिकोण आशाजनक लगता है, और कम से कम अब मैं देख सकता हूं कि किसी वेबसाइट पर मेरे डेटा को कैसे प्रदर्शित किया जाए। मेरे लिए यह कम स्पष्ट नहीं है कि मैं उपयोगकर्ता को डेटाबेस को क्वेरी करने और परिणाम वापस कैसे लाऊं।

मेरा प्रश्न: मुझे इस तरह की परियोजना के लिए किस तरह की सॉफ़्टवेयर संरचना के बारे में सोचना चाहिए? जैसे

PostGIS + GeoServer + Something else?

अन्य कौन से विकल्प उपलब्ध हैं जिन्हें मुझे शोध करना चाहिए?

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

बहुत बहुत धन्यवाद!


2
यदि आप नक्शे को छोड़ देते हैं, तो आप यह सब अपाचे और PHP के साथ कर सकते हैं। आपको बस PHP स्क्रिप्ट के लिए एक इनपुट फॉर्म बनाना होगा जो PostGIS से डेटा प्राप्त करता है। (आप अजगर के साथ पीएचपी स्थानापन्न कर सकते हैं।) ... लेकिन तब इस बात के लिए GIS.SE सवाल नहीं होगा
UnderDark

सभी को बहुत बहुत धन्यवाद जो जवाब दिया! ये सभी सहायक उत्तर हैं और आपने मुझे फॉलो करने के लिए बहुत सारे सामान दिए हैं। मैं उन सभी को "स्वीकार" करना चाहता हूं, लेकिन मैंने @canisrufus को अंक दिए हैं क्योंकि मुझे उनका अंतिम पैराग्राफ बहुत उपयोगी लगा और मैं पहले web.py नहीं आया हूं। जियोडैंगो भी कमाल का दिखता है। चीयर्स!
जेम्स एसटी

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

@ जेम्स उस पर कोई प्रगति? उसी टॉपिस पर काम करते हुए, मैंने अभी-अभी
Luca Moiana

हाय @ लका मोयना। एक प्रोटोटाइप के रूप में, मैंने नीचे वेबदोस्त, अपाचे और पोस्टगिस का उपयोग करके स्वीकार किए गए उत्तर में सलाह का पालन किया (लेकिन मेरी वेबसाइट में अंत में एक नक्शा शामिल नहीं था)। कुछ वर्षों के बाद, हमने CUAHSI हाइड्रोलॉजिकल सूचना प्रणाली को अपनाया है , जो महान है। इसे स्थापित करने में थोड़ा समय लगता है, लेकिन पर्यावरणीय डेटा को संग्रहीत करने, खोज करने, खोज करने, विश्लेषण करने और विज़ुअलाइज़ करने के लिए कई प्रकार के उपकरण प्रदान करता है।
जेम्सएस

जवाबों:


13

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

पायथन में psycopg2 (http://initd.org/psycopg/), और एक ट्यूटोरियल: http://wiki.postgresql.org/wiki/Psycopg2_Tutorial ) नामक एक पुस्तकालय है, जो आपको PostGRESQL / PostGIS के खिलाफ आसानी से पूछताछ करने देता है। इसमें CSV मॉड्यूल (http://docs.python.org/library/csv.html) भी है जो आपके CSV को उक्त क्वेरी से एक हवा बना देगा।

जैसा कि अन्य लोगों ने कहा है, सामने के छोर पर एक नक्शा बनाना जटिलता के स्थानों को जोड़ता है। आपको अपने डेटाबेस (या अन्य डेटा स्रोतों) से मानचित्र चित्र बनाने के लिए मैप्स प्रदर्शित करने के लिए OpenLayers जैसे कुछ और MapServer या GeoServer जैसे कुछ की आवश्यकता होगी। यह शायद एक दूसरे कदम के रूप में बेहतर होगा।

अभी के लिए, "सभी" ऐसा लगता है जैसे आपको जरूरत है एक वेब पेज है: एक फॉर्म जो आपको यह चुनने की सुविधा देता है कि आपको कौन सा क्वेरी पेरेमीटर चाहिए। वे "सबमिट" हिट करते हैं, क्वेरी पैरामीटर सर्वर को भेजे जाते हैं (अपाचे एक अच्छा विकल्प होगा), जो तब आपकी स्क्रिप्ट चलाता है, जो डेटाबेस पर सवाल उठाता है, एक उपयुक्त सीएसवी फ़ाइल बनाता है और इसे ब्राउज़र में वापस करता है। पी के रूप में आसान;)


2
आप छवियों को बनाने के लिए MapServer / GeoServer की आवश्यकता नहीं है। आप पोस्टजीआईएस से सीधे डेटा प्राप्त कर सकते हैं और इसे अपने मानचित्र पर वेक्टर डेटा के रूप में प्रदर्शित कर सकते हैं। हालाँकि, आपके डेटा की जटिलता के आधार पर आप काफी मात्रा में डेटा ट्रांसफर कर सकते हैं। यह स्थिति पर निर्भर करता है। इसके अलावा, उन्हें वेक्टर डेटा के रूप में प्रदर्शित करना आपको डेटा दिखाने / संपादित करने के लिए किसी ऑब्जेक्ट पर क्लिक करने का विकल्प देता है।
Mr_Chimp

@mr_chimp ओह, यह एक अच्छी बात है। मेरी चिंता पृष्ठभूमि की परत थी, लेकिन कोई बस Google मैप्स या OSM या आदि का उपयोग कर सकता था। वास्तव में, मुझे लगता है कि वेक्टर परत आमतौर पर एक अच्छा समाधान है (उपयोगकर्ता के लिए), लेकिन जैसा कि आप बताते हैं कि सीमाएं हैं। और निश्चित रूप से, वैक्टर को स्थानांतरित करने का सबसे सरल तरीका कुछ ऐसा होना चाहिए जैसे कि MapServer या GeoSerer उनकी सेवा करें;)
canisrufus

हमेशा की तरह यह नौकरी के लिए सही उपकरण का उपयोग करने का मामला है। जैसा कि जेम्सएस में पहले से ही एक पोस्टजीआईएस डेटाबेस है, वह वहां से सीधे डेटा हड़प सकता है। जब तक मैं कुछ भूल रहा हूँ, MapServer की स्थापना / जो कुछ भी बस एक अतिरिक्त कदम होगा (हालांकि आम तौर पर यह सबसे तेज़ तरीका होगा)।
Mr_Chimp 16

8

GeoDjango

यह सेटअप करना बहुत आसान है और कुछ बुनियादी कार्यक्षमता प्राप्त करता है। यह पायथन है, इसलिए कम से कम आप भाषा से परिचित हैं। यह आपकी आवश्यकताओं के लिए ओवरकिल हो सकता है। लेकिन, यदि आप कभी भी साइट को विकसित करना चाहते हैं, तो आपको एक परिपक्व ढांचा मिल जाएगा, जिस पर निर्माण करना है।


5

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

यदि आपकी एक्सेल फाइलें अच्छी तरह से स्वरूपित हैं, तो डेटाबेस में डेटा आयात करना सरल होना चाहिए। आप एक स्क्रिप्ट लिख सकते हैं जो INSERT स्टेटमेंट जेनरेट कर सकता है। आपके द्वारा ध्वनि का वर्णन करने वाले प्रश्न, वे भी प्रबंधनीय हैं।

यदि / जब आप मैपिंग भाग करना चाहते हैं, तो Apache, GeoServer और OpenLayers एक सरल और मुफ्त समाधान होगा। GeoServer (जैसा कि आप जानते हैं) आसानी से WMS या अन्य आउटपुट स्वरूप के लिए PostGIS का उपयोग कर सकते हैं। आपको बस उस स्टोर को जोड़ना है जो PostGIS से कनेक्ट होता है, और फिर PostGIS में टेबलों से लेयर जोड़ते हैं।

अन्य मुफ्त मानचित्रण उपकरण जिन्हें आप देख सकते हैं वे मैप्सवर और मैपगाइड होंगे। MapGuide ओपन सोर्स कुछ बहुत अच्छा सामान करता है, लेकिन इसकी अधिक जटिल और इसके प्रलेखन थोड़ा पीछे है।

MySQL में एक स्थानिक विस्तार भी है, लेकिन इसमें कई स्थानिक विशेषताएं और फ़ंक्शन नहीं हैं जो PostGIS करता है।

यदि आप अजगर से परिचित हैं, तो मैं जियोडजैंगो को देखूंगा ... मैं इसके बारे में व्यक्तिगत रूप से नहीं जानता, लेकिन मैंने अच्छी बातें सुनी हैं


4

आप Google मैप्स और spatio- टेम्पोरल डेटाबेस PostgreSQL / PostGIS के आधार पर एक पर्यावरणीय वेब मैपिंग एप्लिकेशन के लिए पूरी तरह से प्रलेखित स्रोत कोड, वेब मैपिंग एप्लिकेशन डिजाइन और विकास के मुद्दों का अवलोकन पा सकते हैं, जो कि कंप्यूटर पर शोध प्रबंध में मेरे अपेक्षाकृत हाल के एमएससी में है: " ओपन सोर्स तकनीक का उपयोग करते हुए अनुपात-अस्थायी पर्यावरणीय वेक्टर डेटा प्रबंधन, विश्लेषण और वितरण को संबोधित करने वाले एक प्रोटोटाइप के डिजाइन और विकास। एक तटीय क्षेत्र में भूजल प्रबंधन पर केंद्रित सामान्य रूपरेखा और केस स्टडी "

शोध प्रबंध http://www.giscience.it/it/pdf/DissertationMscComputerScience_CrestazEzio_Supervisers.pdf से डाउनलोड किया जा सकता है

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