OpenLayers में PostGIS वैक्टर प्रदर्शित करने के लिए विकल्प


22

मैं वेब-मैपिंग के लिए बहुत नया हूं, इसलिए यह सवाल थोड़ा गलत हो सकता है।

मैं OpenLayers का उपयोग करके एक बहुत ही सरल वेब इंटरफ़ेस रखना चाहता हूं (या यहां तक ​​कि Google मैप्स यदि यह आसान होगा) जो कई बिंदु और बहुभुज तालिकाओं को प्रदर्शित कर सकता है जो वर्तमान में PostGIS में हैं।

मैं चाहता हूं कि यह यथासंभव सरल (और कम रखरखाव) हो:

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

इसके लिए अनुशंसित दृष्टिकोण क्या है?

जवाबों:


14

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

वैकल्पिक शब्द

Geoserver के वेब इंटरफ़ेस के अंदर से, आप एक OpenLayers वेब पेज पर परतों का पूर्वावलोकन कर सकते हैं। आप अपने स्वयं के OpenLayers एप्लिकेशन के निर्माण के लिए इस पूर्वावलोकन पृष्ठ के स्रोत का उपयोग कर सकते हैं।

Geoserver वेक्टर और रेखापुंज डेटा दोनों के लिए कई स्टाइलिंग विकल्प प्रदान करता है। शुरुआत के लिए, आप कुछ पूर्व-निर्मित शैलियों को अनुकूलित करने के साथ पर्याप्त रूप से खुश हो सकते हैं जो स्थापना के साथ आते हैं।

डिफ़ॉल्ट रूप से, Geoserver टाइल नहीं करता है और OpenLayers टाइल का अनुरोध नहीं करता है। यदि आपको उच्च-प्रदर्शन की आवश्यकता नहीं है, तो आपको वैसे भी टाइल्स से परेशान होने की आवश्यकता नहीं है।

व्यक्तिगत रूप से, मुझे लगता है कि OpenLayers Google Maps API की तुलना में उपयोग करना आसान है और आप Google से स्वतंत्र होंगे। यदि आपको एक पृष्ठभूमि मानचित्र की आवश्यकता है, तो आप इसके बजाय OpenStreetMap में देखना चाहते हैं।


8

यदि आप वास्तव में एक बड़ी मिडलवेयर लेयर नहीं चाहते हैं तो आप TinyOWS ( http://tinyows.org/trac) का उपयोग कर सकते हैं ) का - मैंने कभी इसकी कोशिश नहीं की है लेकिन यह छोटा और तेज़ होने का दावा करता है। इसके अलावा, यह ओजीसी मानकों का उपयोग करता है, इसलिए यदि आप एक व्यापक दर्शकों को प्रकाशित करने का निर्णय लेते हैं और यह जियोसर्वर या मैपस्वर पर स्विच नहीं कर सकता है, तो आप बिना किसी बदलाव के उसी क्लाइंट कोड का उपयोग करने की अनुमति देंगे।


आह हाँ, स्मॉलवॉज़ के बारे में भूल गया, कॉन्फ़िगर करने में थोड़ा मुश्किल लग रहा था, और इसके केवल पोस्टगिस के लिए
19

सवाल केवल PostGIS के बारे में पूछा
इयान Turton

6

आप किसी भी एप्लिकेशन का उपयोग कर सकते हैं जो डब्ल्यूएफएस प्रोटोकॉल को सर्वर कर सकता है। Openlayers के साथ आप WFS प्रोटोकॉल के माध्यम से आसानी से PostGIS डेटा का उपयोग कर सकते हैं। कुछ FLOSS एप्लिकेशन हैं जो ऐसा कर सकते हैं। उदाहरण के लिए, FeatureServer , Geoserver , MapServer ... यदि आप वेब मानचित्रण के लिए नए हैं मैं Geoserver सिफारिश करेंगे क्योंकि बहुत बहुत आसान यह आरंभ करने के लिए।

WFS के साथ इस Openlayers उदाहरण देखें ।


अंतिम लिंक टूट गया है।
एडम मेटन

1
मैंने उन सभी की कोशिश की और वे काम करते हैं। शायद पिछले एक अस्थायी था।
मारियो मिलर

4

Openlayers बड़ी संख्या में वेक्टर डेटा स्वरूपों (GeoJSON, GML, KML ..) का समर्थन करता है, जिन्हें OpenLayers वेक्टर परत का उपयोग करके प्रदर्शित और स्टाइल किया जा सकता है।

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

लेकिन, अगर आपको कुछ और अधिक शक्तिशाली चाहिए तो Geoserver एक व्यवहार्य समाधान हो सकता है।



1
वास्तव में मानचित्रकार मेरा पहला प्यार था, 2001 के आसपास कहीं दिनांकित, लेकिन ... हमने अभी बहुत संघर्ष करना शुरू किया, इसलिए हमें ब्रेक अप करना पड़ा :)
dodobas

तो अगर मैं ओपनर्स को एक जियोजोन / जीएमएल / किमी प्रति उरल देता हूं तो यह उन्हें प्रदान कर सकता है?
3-12

1
हाँ, लेकिन अगर आपको साधारण बाउंडिंग बॉक्स द्वारा फ़िल्टरिंग की आवश्यकता है, तो भी आपको WFS
dodobas

4

आप PHP, या JSP सर्वर स्क्रिप्ट के लिए st_asgeojson (), st_asKML () जैसी पोस्टगिस से json, kml amd wkt फ़ीड कर सकते हैं और फिर अपने सर्वर से डेटा स्रोत कनेक्ट करने के लिए ओपनलेजर ajax वर्ग का उपयोग कर सकते हैं


मुझे लगता है कि मेरे वर्तमान उपयोग के मामले में सबसे अच्छा है। यदि यह बहुत धीमा है, तो मैं TinyOWS और अन्य अधिक भारी शुल्क वाले मानचित्र सर्वरों को आज़माऊंगा। क्या आप ओपनर पक्ष के लिए एक कोड उदाहरण प्रदान कर सकते हैं, यह मानते हुए कि मेरे पास एक PHP स्क्रिप्ट है जो कहीं न कहीं जियोजोन / किमीएल / वॉट लौटा रही है?
fmark

@ अचिपट: क्या आपके पास हाथ में एक उदाहरण है (php स्क्रिप्ट और संबंधित ओपनलेपर्स स्निपेट)?
अंडरडार्क

2

आप इसे आसानी से जियोमाजस का उपयोग कर सकते हैं जो डेटाबेस से आपके डेटा को या तो हाइबरनेट या जियोटूल का उपयोग करके पढ़ेगा। यह ऑल-जावा है, जो एक समस्या हो सकती है कि क्या आप अन्य भाषाओं को पसंद करते हैं।


1

वैसे आप क्या कर सकते हैं OpenLayers लाइब्रेरी और सर्वर भाषा का उपयोग करने के लिए Openlayers में सभी पोस्टगिस ज्यामिति प्रकार पुश करने के लिए है। आपको जरूरत है:

  • Openlayers.Layer.Vector वेक्टर डेटा के लिए एक परत बनाने के लिए
  • Openlayers OpenLayers.Protocol.HTTP पोस्टगिस सर्वर से डेटा पढ़ने के लिए
  • OpenLayers.Strategy.Fixed वैकल्पिक
  • OpenLayers.Feature.Vector सभी वैक्टर क्लाइंट पर फ्रॉस्ट मिथिस वर्ग हैं
  • OpenLayers.Format.GeoJSON या OpenLayers.Format.JSON
  • पोस्टगिस और क्लाइंट को ज्यामितीय पंप करने के लिए अनुरोध करने के लिए एक सर्वर साइड भाषा
  • इस प्रारूप में डेटा परिवहन के लिए सर्वर और क्लाइंट पर एक JSON पार्सर

इसके साथ आप बहुत आसानी से उन्हें बिना किसी मिडलवेयर के प्रदर्शित कर सकते हैं।

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