समुद्र तट को सामान्य कैसे करें?


12

मेरे पास डेटा बिंदुओं का एक बड़ा समूह है जो अनिवार्य रूप से दुनिया के समुद्र तट का प्रतिनिधित्व करते हैं। मैं सटीक समाधान नहीं जानता, लेकिन मैं कहूंगा कि यह 5-10 मी के पड़ोस में है।

उन बिंदुओं के समूह की कल्पना करें जो एक दांतेदार समुद्र तट का प्रतिनिधित्व करते हैं। 1 मीटर रिज़ॉल्यूशन पर, हम सभी विवरणों को देखते हैं और तट का सही प्रतिनिधित्व करने के लिए 50 डेटा बिंदुओं की आवश्यकता होती है, हालांकि, 10 किमी के रिज़ॉल्यूशन पर तट एक सीधी रेखा की तरह दिखता है और हमें केवल 2 बिंदुओं की आवश्यकता होगी।

मैं एक मैपिंग एप्लिकेशन लिख रहा हूं जिसके लिए "पूर्ण-ग्रह" संकल्पों से "सड़क" प्रस्तावों तक पैमाने की आवश्यकता होगी। मुझे अपने डेटा बिंदुओं के रिज़ॉल्यूशन को कम करने और बाद में व्यापक प्रस्तावों के लिए डेटा की मात्रा में मदद करने की आवश्यकता है।

मैं वेक्टर-टाइलिंग के बारे में पढ़ रहा हूं और सोचता हूं कि यह सबसे अच्छा समाधान होगा (मैं पहले से ही ऐसा कुछ कर रहा हूं), हालांकि, कम प्रस्तावों पर, मेरा डेटासेट अभी भी बहुत बड़ा है जिसका अर्थ है कि इसे बढ़ाना [अपेक्षाकृत] लंबा है समय, जहाँ उच्च रिज़ॉल्यूशन तेज़ होते हैं क्योंकि 'प्रभावी' डेटासेट छोटा होता है (संपूर्ण का उपसमूह)।

मैं यह निर्धारित करने की कोशिश कर रहा हूं कि अपने बड़े डेटासेट को कैसे लें और इसके पैमाने को कम करें ताकि मेरे 'पूर्ण-ग्रह' दृश्य के टाइल डेटा एक प्रबंधनीय आकार हो। मैं बड़े पूर्ण डेटासेट से टाइल उप-डेटासेट कैसे बना सकता हूं?

मुझे एक उपकरण का उपयोग करने में खुशी हो रही है, लेकिन मैं यह सीखने के प्रयास में खुद करूँगा कि यह कैसे किया जाता है।


1
क्या आपने gis.stackexchange.com/questions/6585/… के उत्तरों की जाँच की है ? कृपया विस्तृत करें यदि आपको लगता है कि आपका प्रश्न अलग है।
UnderDark

1
लगता है जैसे प्रश्न "अंक" के बजाय समुद्र तट के बारे में होना चाहिए। जैसे-जैसे रेजोल्यूशन कम होता जाता है, क्या छोटे द्वीपों को गायब कर देना चाहिए? यह पतली नागिन द्वीपों के चारों ओर समुद्र तटों के लिए पार करने के लिए ठीक है?
किर्क कुएकेंडल

यदि आप केवल एक पास करने योग्य काम करना चाहते हैं और आगे बढ़ना चाहते हैं, तो @ आर थिडे का जवाब शायद सबसे अच्छी जगह है। यदि आप वास्तविक चुनौती पर काम करना चाहते हैं, तो आकृतियों के अर्थ को खोए बिना लाइनवर्क को सरल बनाना, संबंधित प्रश्नों को देखें gis.stackexchange.com/questions/38/… और gis.stackexchange.com/questions/440/…
मैट विल्की

जवाबों:


7

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

एक दृष्टिकोण बफ़रिंग का उपयोग करता है, जैसा कि यहां देखा गया है । मुझे कुछ समय पहले भी इसी तरह की समस्या हुई थी और मैंने यहां अपना समाधान विस्तृत किया ।

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


एक विचारशील उत्तर के लिए +1। हमारी साइट में आपका स्वागत है, Rüdiger!
whuber

5

आपको "फुल प्लैनेट" ज़ूम लेवल के लिए अपने डेटा सेट के विभिन्न सामान्यीकृत संस्करणों को क्लोज-अप जूम करने के लिए तैयार करना चाहिए।

एक क्लासिक सामान्यीकरण एल्गोरिथ्म डगलस-प्यूकर एल्गोरिथ्म है । यदि आपने पहले से ऐसा नहीं किया है तो आपको पॉइंट्स को तट रेखाओं से जोड़ना होगा।


2
GEOS लाइब्रेरी में डगलस-पुकर एल्गोरिदम अंतर्निहित है जिसमें आप इसका उपयोग कर सकते हैं, यदि आप इसे स्वयं कोड करना चाहते हैं। आप हालांकि टोपोलॉजी पर विचार करना चाह सकते हैं, जिस स्थिति में GRASS v.generalize टूल भी मदद कर सकता है।
लैगैरेट्रोब

हाय @ लागारेट्रोब। मैंने यह उत्तर समुदाय विकि बना दिया है, इसलिए आपको इसे सीधे संपादित करने और इसमें GEOS और GRASS दोनों समाधानों को जोड़ने में सक्षम होना चाहिए।
18:01 बजे अंडरडार्क

1

क्या आपने अपने टाइलों के उत्पादन के लिए टिलमिल की जांच की है? यह विभिन्न ज़ूम स्तरों पर स्वचालित रूप से नोड्स को कम करेगा। https://github.com/mapbox/tilemill


1

संभवतः आपके प्रश्न का उत्तर नहीं दे रहा है, लेकिन यह काफी संबंधित है - यह है कि Google सामान्यीकरण जानकारी सहित पॉलीनेन्स को कैसे एन्कोड करता है: http://code.google.com/apis/maps/documentation/utilities/polylineal एल्गोरिथम.html

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