ब्राउज़र में वेक्टर-आधारित मानचित्रों को प्रस्तुत करने के लिए पुस्तकालय


13

क्या एक खुला स्रोत जावास्क्रिप्ट लाइब्रेरी है जैसे कि USC या OpenLayers जो वेब या मोबाइल एप्लिकेशन में उपयोग किए जा सकते हैं और छवियों के बजाय वेक्टर-आधारित मानचित्र लोड कर सकते हैं? मुझे केवल सड़क की जानकारी और कुछ POI की आवश्यकता है।

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

जवाबों:



10

बस वैक्टर ड्राइंग के लिए, पत्रक या OpenLayers ठीक करेंगे। वहां कुछ भी नया नहीं है।

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

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

मेरे लिए मेरा समाधान एक कस्टम OpenGL देशी वेक्टर रेंडरर लिखना है जो AmigoCloud में उपयोग किया जाता है । वास्तव में, यह है कि हमारी सेवा में सभी नक्शे कैसे प्रस्तुत किए जाते हैं। उस उद्देश्य के लिए, टाइलस्टैच ने काफी अच्छी तरह से वितरित किया है।

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

अफसोस की बात है, मुझे नहीं लगता कि कैट के पास टाइल वाले वैक्टर के लिए समर्थन है।


धन्यवाद! क्या वेब में एक साधारण तिलचट्टा डेमो है?
करुसेल

पॉलीमैप्स जनसंख्या घनत्व एक टाइलयुक्त वेक्टर प्रदाता कैश का उपयोग करता है (अर्थात टिलस्टैच सर्वर नहीं चल रहा है, लेकिन सिर्फ एक प्रति जो ouput की तरह दिखेगी)। कोड को देखते हुए यह स्पष्ट करना चाहिए कि यह वेक्टर टाइल्ड polymaps.org/ex/population.html है । अफसोस की बात है, ऑनलाइन उपलब्ध टिलस्टैच डेमो सदिश प्रदाता का उपयोग नहीं करते हैं। फिर भी, यदि आप स्थानीय रूप से टिलस्टैच-सर्वर चलाते हैं और अपने स्थानीयहोस्ट के लिए डेमो यूआरएल को वेक्टर डेटा स्रोत (शेपफाइल, पोस्टगिस, आदि) से कॉन्फ़िगर करते हैं, तो यह काम करेगा। यदि आवश्यक हो तो मदद के लिए यहाँ Msg।
रागी यासर बुरहुम

मैं इस जवाब से विशेष रूप से सहमत नहीं हूं, यह For just drawing vectors, Leaflet or OpenLayers will do just fine. Nothing new there.काम करेगा यदि वैक्टर को ओवरले किया जाना है, लेकिन अगर पूरे नक्शे (सभी आधार परत) को वैक्टर के रूप में व्यवस्थित किया जाए तो कैसे होगा?
गेज़र

@giser यही कारण है कि मैं "सिर्फ ड्राइंग वैक्टर" और "वेक्टर टाइल वाले नक्शे" के बीच अंतर करता हूं। दूसरा उत्तर वह शब्द था जिसका उपयोग मैंने "संपूर्ण" मानचित्रों में विशुद्ध रूप से वैक्टर से किया था। यहाँ इस तरह के एक उदाहरण है: bl.ocks.org/mbostock/5593150
Ragi Yaser Burhum

@RagiYaserBurhum: मुझे खेद है, मैं इसे गलत समझता हूं।
गेज़र

10

अद्यतन: इसे पोस्ट करने के बाद से, मैपबॉक्स ने मैपबॉक्स जीएल जेएस जारी किया , जो ब्राउज़र में वेबलॉग-आधारित वेक्टर बेसमैप रेंडरिंग करता है।

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

निकटतम आप इस समय खुला स्रोत के साथ मिलेगा Kothic.js और Kothic की पटकथा के साथ अपने स्वयं टाइल रोलिंग।


+1 अरे, यह अच्छा है! नहीं मिलता है क्यों आप नीचे उतर गया!
Karussell

6

अगर मैं आपके प्रश्न को सही ढंग से समझ पाऊंगा तो OpenLayers और USC दोनों वेक्टर डेटा लोड / शो करेंगे।

उदाहरण के लिए

http://leafletjs.com/examples/geojson/

यह लीफलेट मैप पर GeoJSON फ़ाइल लोड करता है जो बैकग्राउंड में CloudMade के माध्यम से OSM का उपयोग करता है।

OpenLayers शायद KML जैसे विभिन्न प्रकार के वेक्टर स्वरूपों का समर्थन करते हैं

http://dev.openlayers.org/examples/dynamic-text-layer.html

अगर आपका मतलब है कि आप सर्वर के बाद मैप पर वेक्टर डेटा परोसने के लिए हैं, तो MapServer, GeoServer और ESRI ArcGIS सर्वर को देखें, जो सभी वेब मैप सर्वर (WFS) के रूप में आपके मैप पर वेक्टर डेटा को सर्वर करेंगे।


मैं और अधिक सदिश डेटा के रूप में नक्शे का मतलब है कि कुछ विशेषताएं जो मैं नक्शे पर लोड नहीं है।
Karussell

वेक्टर प्रकार के माध्यम से बहुत सारे डेटा की सेवा ब्राउज़र को लटका या मार सकती है, बहुत सारे <svg>तत्वों के कारण, आपको इसे ध्यान में रखना चाहिए
क्रिस्चियन

अगर आप एसवीजी के साथ नक्शे को प्रस्तुत करते हैं तो @ क्रिस्टल। स्पष्ट रूप से आप इसे ओपनजीएल / वेबजीएल के साथ प्रस्तुत कर सकते हैं (जैसा कि Google मैप्स एंड्रॉइड / आईओएस पर और प्रयोगात्मक वेबजीएल जावास्क्रिप्ट मैप्स में करता है)।
रागी यासर बुरहुम

@RagiYaserBurhum हाँ, मैंने उस बारे में नहीं सोचा था, लेकिन फिर भी, इस विशेष मामले में आप वेबजीएल का उपयोग नहीं कर सकते, क्योंकि यह एपीआई एपीआई में सीमा के कारण है ..
क्रिस्टन

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

2

मुझे GL-Solar नामक एक और दिलचस्प परियोजना मिली जो SVG या कैनवास के बजाय वेबलॉग तकनीक पर आधारित है। हालाँकि यह अपने शुरुआती विकास में है लेकिन यह आशाजनक है।

इसके अलावा MapCSS , Cartagen और d3.js का उल्लेख किया जाना चाहिए। d3.js का उपयोग ऑनलाइन ऑसम संपादक iD में किया जाता है । लीफलेट और html5 रेंडरिंग के बारे में एक ब्लॉग पोस्ट भी है ।

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