मैं QGis में बहुभुज का उपयोग करने वाला ताप या चेरोप्लेथ मानचित्र कैसे बनाऊं?


12

मैं क्यूजीआईएस के लिए हीटमैप प्लगइन के साथ खेल रहा हूं और मैं सोच रहा हूं कि क्या इसी तरह के प्लग इन / टूल का उपयोग करके हीटमैप बनाना संभव है जो पॉलीगॉन के साथ-साथ पॉइंट का भी उपयोग करता है?

मैं डेटा के घनत्व का प्रतिनिधित्व उसी तरह से करना चाहूंगा जिस तरह से हीटमैप प्लगइन अंकों के साथ करता है।

निम्नलिखित छवि मेरे वांछित परिणाम का एक मोटा स्केच है:

यहाँ छवि विवरण दर्ज करें


3
क्या आपने अपने बहुभुजों के लिए केन्द्रक उत्पन्न करने और उन लोगों से हीटमैप बनाने के बारे में सोचा है?
-आइटिलिया

1
आपके डेटा के बारे में कुछ और जानकारी से मदद मिलेगी। बहुभुज क्या दर्शाते हैं, और उन्हें कैसे वितरित किया जाता है? आप एक नमूना तस्वीर पोस्ट कर सकते हैं?
-आइटिलिया

@andytilia: Centroids बहुभुज के कवरेज का सही प्रतिनिधित्व नहीं करते हैं। बहुभुज 1200m2 क्षेत्र के भीतर संसाधन उपयोग का प्रतिनिधित्व करते हैं। कुछ बहुभुज एक अच्छे बेरी पैच का प्रतिनिधित्व कर रहे हैं और अन्य कारिबू और मूस के निवास को कवर कर रहे हैं। मैं एक हेक्सागोनल ग्रिड को बिनिंग में देख रहा हूं और फिर ओवरलैप की गिनती कर रहा हूं ... लेकिन मैं बहुत ज्यादा एक नॉब हूं इसलिए मुझे एक अच्छा ट्यूटोरियल नहीं मिल पाया है जिसे मैं उस विषय पर समझ सकता हूं।
NWT एडम

1
देखें QGIS हीटमैप प्लगइन qgis.spatialbodyts.com/2012/07/…
rkm

क्या सांख्यिक मूल्य आपके लिए कोई अर्थ रखते हैं या आप केवल एक सुंदर / स्पष्ट दृश्य की तलाश कर रहे हैं?
UnderDark

जवाबों:


5

हो सकता है कि आप अपने बहुभुजों में यादृच्छिक बिंदुओं का एक सेट उत्पन्न कर सकें, इसके लिए एक QGIS उपकरण है ? यदि आपके पास बहुभुज ओवरलैपिंग है, तो आपके पास इस क्षेत्र में उच्च घनत्व है। फिर बिंदुओं के लिए हीटमैप का उपयोग करें। आपको अधिकतम संख्या में अंक प्राप्त करने के लिए कई राउंड चलाने होंगे, क्योंकि परिणाम उसी पर निर्भर करता है।

यदि आपका डेटा कुछ आवासों का वितरण दिखाता है, जो वैसे भी फ़र्ज़ी है, तो यह वास्तविक दुनिया की स्थिति के सबसे करीब हो सकता है जहां एक बिंदु लगभग एक नमूना दर्शाता है।


1
+1 महान विचार। केवल एक चीज जो मैं जोड़ूंगा वह है बिंदु डेटा और हेक्सागोनल पॉलिस के साथ स्थान पर जुड़ना, किसी भी गैर-मिलान सुविधाओं से छुटकारा पाना और फिर उस में अंक उत्पन्न करना, ताकि आपके एकल अंक अन्य सभी बिंदुओं के बीच डूब न जाएं।
रोमाँ

यह सबसे अच्छा दिखने वाला परिणाम देता है। सभी लोगों को धन्यवाद कि समाधान की पेशकश की। मैं सिर्फ एक व्यक्ति को इनाम देने में बुरा महसूस करता हूं क्योंकि लगता है कि कई अच्छे समाधान हैं!
NWT एडम नोव

6

यदि मैं आपके प्रश्न को सही ढंग से समझता हूं तो मैंने पहले भी कुछ ऐसा ही किया है; बस मुझे याद रखना था कि मैंने क्या किया।

यदि आपकी पोल ओवरलैप हो रही है और एक ही परत नहीं है तो यह काम करेगा। यदि वे एक ही परत पर हैं और यह संभव है, तो उन्हें परतों को अलग करने के लिए ले जाएं, यदि आप लक्ष्य परत को नहीं मानेंगे तो केवल एक मान प्राप्त होगा।

उपयोग करने के लिए महत्वपूर्ण प्रक्रिया वेक्टर> डेटा प्रबंधन मेनू के तहत स्थान द्वारा जुड़ने के गुण है । यहां अपने हेक्सागोनल क्षेत्र को लक्ष्य परत के रूप में निर्दिष्ट करें और अपने बहुभुजों में से एक के रूप में सम्मिलित करें। अपनी परिणामी परत को नाम दें और Keep All Records के लिए रेडियो बटन पर टिक करें ।

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

आपकी अंतिम परत को पिछली परतों के सभी विशेषता क्षेत्रों को विरासत में मिला होना चाहिए और इसमें से अधिकांश को NULL कहा जा सकता है।

यह वह जगह है जहाँ हमें एक आकृति के कुछ हिस्सों में खेलना है, इसलिए यदि आपने परत को आकार के रूप में सहेजा है तो ऐसा अभी न करें। और QGIS में अपने कार्यक्षेत्र से परत हटा दें।

OpenOffice Calc में शेपफाइल की * .dbf फाइलें खोलें, एक्सेल का उपयोग करें। यह फ़ाइल को बेकार कर देगा और इसे बेकार कर दिया, यह सीखा कि कठिन तरीका। और डेटा को फिर से व्यवस्थित न करें, यह फ़ाइल में पंक्तियों के क्रम पर भी बहुत विशिष्ट है। यह सुनिश्चित करने के लिए जांचें कि क्या NULLs अब शून्य नहीं हैं यदि वे नहीं हैं, तो उन्हें ध्यान से बदलें।

अब क्यूजीआईएस में शेपफाइल डालें और एट्रीब्यूट टेबल खोलें । इसे अब NULL के बजाय शून्य दिखाना चाहिए। फ़ील्ड कैलकुलेटर का उपयोग करें और उन क्षेत्रों को योग करें जो एक नए कॉलम में आपके काम से जुड़े हैं।

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

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


दुर्भाग्य से, मुझे एक ही परत में सैकड़ों बहुभुज मिले हैं। क्या आप कुछ सौ परतों में इन को अलग किए बिना इसके चारों ओर एक रास्ता देख सकते हैं?
NWT एडम

1
आप PostGIS (यदि आप इसका उपयोग करते हैं) के साथ एक बहुभुज ओवरले बना सकते हैं जो आपके अतिव्यापी पोल को तोड़ता है। gis.stackexchange.com/questions/83/… बेहतर SQL-फू वाले किसी व्यक्ति को यहां लाने से हमें मदद मिल सकती है और अपने मूल्यों को प्राप्त करने के लिए परिणामी पोल कैसे प्राप्त करें, मैं इसमें बहुत अच्छा नहीं हूं।
रोम

1
एक अन्य विकल्प, एक जिसे मैं दृढ़ता से सुझाऊंगा, वह यह है कि यह आपकी समस्या के बारे में आपके सटीक दृष्टिकोण पर पुनर्विचार करने का समय है। आप किस डेटा को मैप करने की कोशिश कर रहे हैं? क्या यह मानने का कोई कारण है कि बहुभुजों में मूल्य समरूप होगा? बहुभुज को ओवरलैप करना वास्तव में एक संचित प्रभाव होगा? जब तक आपके पास इन बातों का सुझाव देने के लिए अच्छे सबूत नहीं हैं, तब तक किसी भी तरह की भविष्य कहनेवाला मॉडलिंग के लिए इस मानचित्र का उपयोग अस्थिर जमीन पर हो सकता है। बस इसके बारे में सोचें, आपके पास सही समाधान हो सकता है लेकिन आप इसे मॉडल या मैप करने का बेहतर तरीका खोज सकते हैं।
रोमा

1
PostGIS सुझाव के लिए धन्यवाद। मैं इस पर एक नज़र डालूंगा, लेकिन मुझे अभी पता चल रहा है कि PostGIS का उपयोग कैसे किया जाता है। जैसा कि प्रश्न को आश्वस्त करने के लिए ... मैं देख रहा हूं कि आपका क्या मतलब है लेकिन मुझे यकीन नहीं है कि मैं और क्या कल्पना कर सकता हूं कि हम क्या व्यक्त करने की कोशिश कर रहे हैं। हमारा डेटा उन सभी क्षेत्रों का प्रतिनिधित्व करता है जो समुदाय के बुजुर्ग और संसाधन उपयोगकर्ता सांस्कृतिक दृष्टिकोण से उत्पादक या महत्वपूर्ण के रूप में मैप करते हैं। हम समझते हैं कि मूल्य का नक्शा बहुभुज में सजातीय नहीं है लेकिन यह उस बिंदु के लिए पर्याप्त है जो हम मानचित्र के साथ व्यक्त करना चाहते हैं।
NWT एडम

1
क्यूगिस में कुछ भी मैनुअल करने के लिए नीचे अंगूठे - विशेष रूप से एक बार जब आप आकृति टन के // टन // के साथ काम करना शुरू करते हैं, तो आप वास्तव में निराशाजनक स्थिति में समाप्त हो सकते हैं। आपको अपने एसक्यूएल-फू का उपयोग करने पर पछतावा नहीं होगा, यह पोस्टगिस प्लगइन या GRASS प्लगइन के साथ हो (नीचे मेरा जवाब देखें: gis.stackexchange.com/a/42188/7689 )।
१ .:

4

यह एक सामान्य वर्कफ़्लो है जो रिस्ते का उपयोग करता है। मैं QGIS में इसे पूरा करने की बारीकियों को नहीं जानता।

  1. बहुभुज ओवरलैप के क्षेत्रों की एक नई वेक्टर परत बनाने के लिए चौराहे उपकरण का उपयोग करें
  2. अपने वेक्टर लेयर्स को ओवरलैप लेयर सहित, रैटर्स पर कन्वर्ट करें
  3. रेखापुंज अंकगणित का उपयोग करें (संभवतः इसके अलावा) चूहों को संयोजित करने के लिए
  4. परिणाम एक रैस्टर होना चाहिए जो हीटमैप की तरह दिखता है

अल्फा / अशक्त मान और / या परत पारदर्शिता आपको किसी भी आधार पर रेखापुंज को ओवरले करने की अनुमति देगा।


इस काम के प्रवाह के माध्यम से जाने के बाद मुझे नए रैस्टर की सीमा को कवर करने वाले एक बड़े ग्रे ब्लॉक के साथ छोड़ दिया गया है। हीट मैप की तरह दिखने के लिए मुझे यह कैसे मिलेगा?
एनडब्ल्यूटी एडम

1
क्या अंतिम रास्टर में पिक्सेल को अलग-अलग मान दिए गए हैं? कुछ विचार: आपको आपदाओं का निर्माण करते समय एक महीन रिज़ॉल्यूशन (अधिक पिक्सेल) निर्दिष्ट करना पड़ सकता है; रेखापुंज समान आकार और संकल्प होना चाहिए; बड़े मूल्यों के लिए चमकीले रंग दिखाने के लिए आपको परिणामी रेखापुंज के कोलोरैप को फैलाने या संशोधित करने की आवश्यकता हो सकती है।

ठीक है, मुझे रंगीन नक्शा मिला है, लेकिन मुझे केवल दो रंग नीला (मान 0) और लाल मूल्य (2) मिल रहे हैं, लाल मूल्य मेरे वेक्टर मूल परतों और मेरी ओवरलैप परत के क्षेत्र को कवर करता है। मैं यह अनुमान लगा रहा हूं कि प्रत्येक परतों को प्रत्येक बहुभुज के बजाय 1 का मान दिया गया था जब वे rasterised थे। फिर जब चूहों को कुल मूल्य के बराबर जोड़ दिया गया 2. परत स्तर के बजाय बहुभुज स्तर पर बनाए / जोड़े जाने वाले मूल्य कैसे प्राप्त होते हैं?
NWT एडम

महीन रिज़ॉल्यूशन रेखापुंज को मदद करनी चाहिए

मैं एक महीन रिज़ॉल्यूशन रेखापुंज कैसे बनाऊँ?
एनडब्ल्यूटी एडम

4

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

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

फिर सर्कल पोल के साथ आपकी परत पर एक ही रंग और पारदर्शिता के लिए अपनी सहजीवन सेट करते हैं। सेल पॉली के सामने सर्कल पॉली रखें। यह मूल्य वृद्धि के रूप में बढ़ी हुई संतृप्ति का भ्रम देगा।

यदि आप चाहें तो आप सभी पोल की पंक्तियों को भी हटा सकते हैं और शीर्ष पर उपरिशायी कर सकते हैं ताकि उप-परतें अन्य परतों द्वारा रंगीन न दिखें।

आपको सबसे अच्छा समाधान खोजने के लिए रंगों और पारदर्शिता के साथ खेलना होगा। मुझे लगता है कि वही रंग सबसे अच्छा लगता है लेकिन अनुभवात्मक होता है।


4

मेरा सुझाव है कि आप GRASS प्लगइन का उपयोग करें - QGIS में बहुत ही सीमित कार्यक्षमता है (और जब GRASS जैसे सॉफ्टवेयर पहले से मौजूद हैं, तो अजगर में पहिए को फिर से क्यों लगाया जाए?)

v.in.ogr.qgis

[अगली दो पंक्तियाँ आवश्यक हो सकती हैं, यह इस बात पर निर्भर करता है कि आपके बहुभुज का मूल्य पहले से है]

v.db.addcol 
v.db.update_const 

यह वह जगह है जहां हम बहुभुजों में ओवरलैप जोड़ते हैं, फिर उन स्तंभों के आधार पर रेखापुंज बनाते हैं

v.to.db ... qcolumns=sum(col_with_polygon_value)
v.to.rast.attr

v.out.ogr [r.out.ogr]

3

सादे QGIS के साथ यह मुश्किल हो सकता है, आपको कस्टम स्क्रिप्टिंग की आवश्यकता हो सकती है, या PostGIS या Spatialite जैसे स्थानिक डेटाबेस का उपयोग कर सकते हैं। मैं PostGIS के साथ अंकों का नियमित ग्रिड बनाऊंगा या CSV पाठ फ़ाइल के रूप में उत्पन्न करूंगा और इसे आयात करूंगा । फिर st_buffer के साथ प्रत्येक बिंदु के चारों ओर सर्कल बनाएं, या ST_MakeEnvelope के साथ आयताकार करें, और प्रत्येक बफर के सभी अतिव्यापी क्षेत्रों की गणना करें। तब आप शायद सभी 0 मानों को हटाना चाहते हैं, अगर इसका मतलब है "कोई डेटा नहीं"। अंत में आप भार क्षेत्र के रूप में काउंटर का उपयोग करके ग्रिड के लिए हीटमैप कर सकते हैं।

आपको इष्टतम खोजने के लिए विभिन्न ग्रिड प्रस्तावों के साथ प्रयोग करने की आवश्यकता है। संक्षेप में, यह केविन द्वारा सुझाए गए रेखापुंज दृष्टिकोण के समान है, बस वेक्टर की दुनिया में रह रहा है।

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