Openlayers में हजारों बहुभुज प्रदर्शित करने का सबसे अच्छा तरीका क्या है?


10

मैं एक Openlayers मानचित्र बनाने की कोशिश कर रहा हूं जो हजारों बहुभुज प्रदर्शित करेगा। और जब उपयोगकर्ता प्रत्येक पर क्लिक करता है, तो मैं चाहता हूं कि कुछ मेटाडेटा प्रदर्शित हों। एक बड़े डेटासेट के साथ काम करना ऐसा लगता है कि यह चुनौतीपूर्ण होगा। लेकिन मैं यह पता लगाने की कोशिश कर रहा हूं कि क्या इस बारे में जाने का कोई मानक तरीका है। इस बिंदु पर, मुझे लगता है कि मुझे भी होना चाहिए

  1. WMS के साथ मेरे बहुभुज प्रदर्शित करें और getfeatureinfo का उपयोग करें
  2. WFS के साथ प्रदर्शित करें, रणनीति के साथ लोड करें। BBOX, और मीटडाटा प्राप्त करने के लिए GetFeature का उपयोग करें।

क्या कोई तार्किक तरीका है कि मैं इस सभी डेटा को मानचित्र में लोड करने और अच्छी गति प्राप्त करने के लिए गायब हूं। मैं इस पृष्ठ को देख रहा था और यह पता लगाने की कोशिश कर रहा था कि उन्होंने क्या किया: http://protectedplanet.net/

जवाबों:


5

मुझे BBOX रणनीति पसंद नहीं है क्योंकि मुझे लगता है कि उत्पन्न होने वाली अनुरोधों की मात्रा के कारण यह धीमा हो सकता है।

मैं आपके द्वारा उल्लिखित दोनों चीजों के संयोजन का उपयोग करूंगा।

WMS के साथ बहुभुज प्रदर्शित करें और getfeatureinfo का उपयोग करें ... तब डेटाबेस पर क्लिक करने और / या डेटाबेस से अधिक जानकारी प्राप्त करने के लिए, सुविधा को लोड करने के लिए WFS का उपयोग करें।

protectplanet.net केवल गूगल मैप्स का उपयोग नहीं करता है। वे संभवतः KML / KMZ में सभी जानकारी संग्रहीत कर रहे हैं।


बहुत धन्यवाद! मुझे लगता है कि मैं सही रास्ते पर हूं। लेकिन मुझे आश्चर्य है कि अगर संरक्षित KML का उपयोग कर रहा है, तो क्या मुझे इसकी गति के लिए ऐसा करना चाहिए? और क्या केएमएल डेटा को डब्ल्यूएफएस द्वारा परोसा जा रहा है?
काइलके

मुझे यकीन नहीं है कि अगर यह KML है, तो बस एक अनुमान है। लेकिन अगर यह WFS द्वारा सेवा नहीं दी जा रही है क्योंकि WFS GML का उपयोग करता है। Google एपिस और केएमएल का उपयोग करने के बारे में बात यह है कि आपको एक सार्वजनिक URL पर उस केएमएल की आवश्यकता है जहां हर कोई इसे देख सकता है। अगर यह कोई समस्या नहीं है, तो शायद आप इसे आजमा सकते हैं। ऐसा इसलिए है क्योंकि Google इस KML को अपने सर्वर में अवशोषित कर लेता है और इसे वापस एपीआई में लौटा देता है। इन दो कारणों से, मैं कुछ परियोजनाओं की संवेदनशीलता के कारण Google मैप्स एपीआई का उपयोग नहीं कर सकता।
कैप्टनड्रैगन

आप अपने सार्वजनिक KML URL तक केवल एक उपयोगकर्ता एजेंट को अनुमति दे सकते हैं जो Google KML पार्सर स्ट्रिंग प्रस्तुत करता है।
सार्ज

3

यहां मुख्य दृष्टिकोण बातचीत के साथ रेखापुंज को अलग करना है। एक दृष्टिकोण (जो मैं आंशिक रूप से ज़िम्मेदार हूं) UTFGrid है , जिसका उपयोग NPR, आदि द्वारा किया गया है और इसे टाइलमिल और मैपनिक में एकीकृत किया गया है । यह CartoDB द्वारा भी उपयोग किया जाता है और Google मैप्स फ्यूजन टेबल्स के लिए एक समान दृष्टिकोण का उपयोग करता है।

संरक्षित ग्रह रेखापुंज टाइलों का उपयोग करता है (उदाहरण के लिए, यह एक:) http://184.73.201.235/blue/8/78/93और इसके पीछे एक लाइव सर्वर है जो बिंदु-आधारित प्रश्नों के लिए है (उदाहरण के लिए, यह एक )।

पुन: CaptDragon: इसमें कोई WFS या KML शामिल नहीं है।

WMS और WFS आपको किसी सार्वजनिक साइट के लिए पर्याप्त अच्छे प्रदर्शन के लिए कहीं भी नहीं देंगे। यदि आप उपयोगकर्ताओं को ज़ूम करने देते हैं तो BBOX रणनीति काम नहीं करेगी।


FYI करें: आप एक WMS रेखापुंज सेवा को कैश कर सकते हैं जो आपको टाइलें देगा।
कैप्टनड्रैगन

1
हां, लेकिन यह मुख्य समस्या नहीं है, यह अन्तरक्रियाशीलता है। आप उस तरीके को कैश नहीं कर सकते जो WFS / WMS GetFeature काम करता है, क्योंकि वे कैशलेस टाइल वाले डिजाइन नहीं हैं।
tmcw

मैं अपने CSW, WFS और WMS GetFeature, GetRecord इत्यादि को हर समय कैश करता हूं। ये इंटरऑपरेबिलिटी के लिए केवल प्रारूप के मानक हैं और यह तय नहीं करते हैं कि स्रोत, चाहे कैश हो या न हो, संग्रहीत है।
CaptDragon

एक विशिष्ट WFS GetFeature अनुरोध एकल समन्वय के लिए एक अनुरोध है; उस अनुरोध के लिए एक कैश केवल सटीक मिलान के लिए अच्छा है - जो उपयोगकर्ता इंटरैक्शन के संदर्भ में दुर्लभ हैं। वैकल्पिक रूप से UTFGrid कैश डेटा की टाइलें और वैकल्पिक रूप से कैश को भर सकते हैं, संभावित रूप से लाखों एकल निर्देशांक के लिए कैश के विपरीत। इस तरह मानक अपनी कैश-मित्रता को निर्धारित करता है।
tmcw

वाह- सभी की मदद के लिए धन्यवाद। होने के नाते मैं OpenLayers का उपयोग कर रहा हूं और मेरा नक्शा 4326 में है (जो कि टाइलमिल द्वारा समर्थित नहीं है), क्या आप कार्टोडीबी को अपने डेटा को स्टोर करने और एक्सेस करने के साधन के रूप में सुझाएंगे, हालांकि यह?
काइलके
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.