यदि हमारा KML Google मैप्स API के लिए बहुत बड़ा / जटिल है तो आगे क्या है? [बन्द है]


29

हमारे वेब ऐप में सरल मैपिंग क्षमताएं (वर्तमान में केवल एम्बेडेड Google मानचित्र पर मार्कर और KML ओवरले हैं) शामिल हैं। यह बहुत अच्छी तरह से काम करता है; हमारे द्वारा सामना की जाने वाली एकमात्र वास्तविक सीमा KML ओवरले है जो Google के KML के लिए आकार और जटिलता प्रतिबंधों से परे है ।

हम अपने स्वयं के सर्वर (उदाहरण के लिए जियोसर्वर या आर्कगिस सर्वर) को खड़ा करने पर विचार कर रहे हैं; लेकिन ऐसा लगता है कि Google की सीमा 10 एमबी होने पर KML की 15 एमबी (उदाहरण के लिए) सेवा करने के लिए एक बहुत बड़ा कदम है।

मुझे एक पवित्रता जांच की आवश्यकता है: क्या केएमएल ओवरले के लिए Google के स्वतंत्र और आसान एपीआई के बीच कुछ मध्यम जमीन है, और अपना स्वयं का टाइल सर्वर स्थापित करना है?


5
अपने एक KML को 2 छोटी KML फ़ाइलों में तोड़ें - जिन डेटा की आपको आवश्यकता नहीं है, उन पर वैकल्पिक स्विच करें।
Mapperz

1
वैकल्पिक उपयोग संलयन तालिकाओं (100k पंक्ति सीमा या डेटा में 100 एमबी) - gmaps-samples.googlecode.com/svn/trunk/fusiontables/... देख groups.google.com/group/fusion-tables-users-group/browse_thread/...
Mapperz

@ mapperz आप केवल एक बार में 100MB डेटा अपलोड कर सकते हैं, लेकिन फिर आप 250MB स्टोरेज तक एक ही टेबल पर और पंक्तियों को आयात कर सकते हैं।
जियोग्राफिका

हालांकि मैं देख रहा हूँ कि आप पहले से ही पता था कि .. gis.stackexchange.com/questions/6615/...
geographika

फ्यूजन टेबल्स सेवा 3 दिसंबर, 2019 से बंद हो रही है, इसलिए मैं जो विकल्प देख रहा हूं वह सॉफ्टवेयर के साथ किमी फाइलों को छोटा करने के लिए है - क्यूजीआईएस डेस्कटॉप। वहाँ भी qgis अजगर पुस्तकालय है। मैंने 0.0005 का उपयोग करके सरल ज्यामिति विकल्प के साथ QGIS डेस्कटॉप का उपयोग किया। फिर मैं बनाया परत को kml के रूप में निर्यात करता हूं। आप इसे बैच जॉब के साथ-साथ एक ही मेनू से भी कर सकते हैं। फिर आप सभी अलग-अलग परतों को अलग-अलग प्रोजेक्ट में खोल सकते हैं और QGIS डेस्कटॉप के अंदर कंसोल का उपयोग करके .kml
tokml

जवाबों:


12

चूंकि आपने पहले ही Google मैप्स के विकास में निवेश किया है, इसलिए मैं अत्यधिक डेटा को Google फ्यूजन टेबल्स में धकेलने का सुझाव दूंगा, जिसे बाद में मैप पर उसी तरह पार्स किया जा सकता है जैसे कि केएमएल अविश्वसनीय प्रदर्शन ( WNYC फ्यूजन टेबल्स ऐप देखें )। इसे केएमएल में अपग्रेड करने पर विचार करें बिना सामने के छोर को तेजी से संशोधित करने के लिए।


मुझे लगता है कि यह एक महान विचार है अगर आपका डेटा> 24 घंटे के अपडेट शेड्यूल पर नहीं है। यह वही है जो Google ने हमें बताया था (यदि kml ब्राउज़र उपयोग फ्यूजन टेबल को धीमा कर रहा है) ऐसा करने के लिए, तो मैं कहूंगा कि यह सबसे अच्छा जवाब है।
स्टीव

1
फ्यूजन टेबल्स को इंगित करने के लिए धन्यवाद - किसी तरह यह पूरी तरह से मेरा ध्यान बच गया, बहुत अच्छा। दुर्भाग्य से यह डेटा के साथ काम करने के लिए थोड़ा अनाड़ी होगा जो अक्सर बदल जाता है; और समग्र संग्रहण सीमाएँ (250MB प्रति उपयोगकर्ता) हमें स्केल नहीं करने देतीं।
हर्ब काडिल

2
ध्यान दें कि प्रयोगात्मक फ्यूजन टेबल्स सेवा 3 दिसंबर, 2019 को बंद हो रही है।
जोनास

12

आप अपने KML को मल्टीपल KML के साथ छोटे किमी को संदर्भित करते हुए अपने KML को तोड़ सकते हैं। कम से कम यह आपकी फ़ाइल के आकार को एक सम्मानजनक स्तर तक ले जाएगा और आपको केएमएल के रूप में बहुत बड़े डेटासेट को संदर्भित करने की अनुमति देगा।

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


2
लेकिन नेटवर्क केएमएल (सुपरओवरलैस के साथ बड़े डेटासेट के लिए डिज़ाइन हैं) लेकिन एक वेब सर्वर की आवश्यकता होती है और इस प्रकार के KMZ के साथ एक अच्छा काम करता है जियोसर्वर - Google मैप्स एपीआई के प्रतिबंधित होने के साथ ही Google धरती के साथ सबसे अच्छा काम करता है।
Mapperz

Google धरती एंटरप्राइज़ क्लाइंट को छोड़कर, मुझे सुपरओवरलेज़ के साथ कभी भी अधिक भाग्य नहीं मिला। हालाँकि मैंने इस पर बहुत समय नहीं बिताया। निश्चित रूप से एक्सप्लोर करने का एक विकल्प, +1 @ मपरज़
ऑप्टिमाइज़प्राइम

1
Oracle के साथ GeoServer का उपयोग करें और बहुत अच्छी तरह से KMZ (सुपरओवरले) प्रतिपादन का काम करता है - लाइव (लगातार अद्यतन) डेटा उपयोगकर्ताओं के लिए बहुत उपयोगी है - ताज़ा करने के लिए स्पीड प्राप्त करने के लिए जियोसर्वर को ट्वीक करना पड़ा।
Mapperz

8

यदि आपने अपने Google Maps API में बहुत अधिक समय निवेश नहीं किया है तो आप OpenLayers पर स्विच कर सकते हैं जिसमें एक क्लाइंट साइड KML पार्सर है जो आपकी KML फ़ाइलों को पढ़ सकता है - नीचे उदाहरण देखें:

http://openlayers.org/dev/examples/kml-layer.html

हालांकि 15MB फ़ाइल के लिए यह संभवत: ब्राउज़र को रोक देगा। जब आप फ़ाइल आकार सीमा के पास पहुंचते हैं तो यह Google सर्वर के माध्यम से भी काफी धीमा होता है।

क्या वास्तव में विस्तार के 15MB स्तर की आवश्यकता है या आप बहुत अधिक जानकारी खोए बिना KML को सरल बना सकते हैं?

क्या आपको क्लाइंट-साइड पर वेक्टर / ज्यामिति का उपयोग करने की आवश्यकता है? क्या इस डेटा को छवियों के रूप में परोसा जा सकता है?

यदि इनमें से कुछ भी संभव नहीं है, तो आपको कुछ मैप सेवारत प्रकार के सॉफ़्टवेयर को देखना होगा। ArcGIS सर्वर के GeoServer के साथ-साथ आप विचार कर सकते हैं MapServer KML, या एक WFS के रूप में बाहर की सेवा के लिए। एक मानचित्रकार का उपयोग करने का लाभ यह है कि अनुरोध केवल मानचित्र के भीतर डेटा लौटाएंगे - नेटवर्क ट्रैफ़िक को कम करने और लोड समय कम करने के लिए।


Google फ़्यूज़न तालिकाओं को आज़माने के बाद गुड्डी का दृष्टिकोण लागू करने के लिए सबसे आसान है। आप एक बार में केवल 100MB KML अपलोड कर सकते हैं, लेकिन प्रत्येक उपयोगकर्ता के पास 250MB संग्रहण विकल्प (लेखन के समय) है।
जियोग्राफिका

2

यदि आप संस्करण 3 का उपयोग कर रहे हैं, तो आप एक अद्वितीय पहचानकर्ता को छोड़कर सभी विशेषताओं की जानकारी निकाल सकते हैं और जब भी कोई उपयोगकर्ता किसी सुविधा पर क्लिक करता है, तो उसे एक वेब सेवा के लिए अजाक्स कॉल के माध्यम से जानकारी का अनुरोध करें। यदि आपके पास 10 एमबी से अधिक अंक हैं, तो एक बार में उन सभी बिंदुओं को प्रदर्शित करने के बजाय किसी प्रकार का क्लस्टरिंग करना शायद एक अच्छा विचार है। इसके अलावा, आप अलग-अलग KML फ़ाइलों में अपनी ज़मीन की ओवरले को अलग कर सकते हैं।



2

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

उनके कुछ उदाहरण देखें - गति प्रभावशाली है:

यह मुफ़्त नहीं है, लेकिन यह उन लोगों के लिए एक अच्छा विकल्प हो सकता है जो इन परतों को उत्पन्न करने के लिए एक अलग सर्वर को खड़ा करने की परेशानी और खर्च नहीं चाहते थे।

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