QGIS में लाइन डेटा से हीटमैप करना?


12

मैं एक विशेषता के आधार पर अपने लाइन डेटा के लिए एक लाइन घनत्व विश्लेषण करना चाहता हूं।

हीटमैप विकल्प (कर्नेल घनत्व विश्लेषण) केवल बिंदु डेटा के लिए संभव लगता है।

मैंने अपने लाइन डेटा को बिंदुओं में बदलने और हीटमैप बनाने की कोशिश की है, लेकिन रूपांतरण के लिए वजन की विशेषताएं खो गईं।

यह आर्कजीआईएस के साथ किया गया एक लाइन घनत्व विश्लेषण है। मैं QGIS के साथ भी यही करना चाह रहा था।

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

क्या QGIS में एक समान लाइन घनत्व विश्लेषण करना संभव है? और यह QGIS का डेटा है

जवाबों:


4

मुझे DBG प्रबंधक / SQLite फ़ंक्शन के माध्यम से QGIS में ऐसा करने का कोई तरीका नहीं मिल रहा है, लेकिन PostGIS में, हम निम्नलिखित कार्य करते हैं:

select
(ST_DumpPoints(l.geom)).geom
from linedata as l

यह, एक नई तालिका में निर्यात किया गया है, लाइनों के बिंदुओं (PGRout छात्रों से उनके स्कूल के लिए हमारे मामले के लिए) की अनुमति देता है ताकि हम उन मार्गों के हॉटस्पॉट की कल्पना कर सकें जो छात्रों को 'ले सकते हैं':

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


4

वास्तव में, GDAL निष्पादक को पैरामीटर भेजने वाले मानक मेनू का उपयोग करके QGIS में लाइन घनत्व करना संभव है।

गार्ब_रॉस्टराइज़ का उपयोग करके कर्नेल-डेंसिटी और समान के रूप में कोई खोज त्रिज्या के साथ -बर्न-डिड स्विच के उपयोग से लाइनों या बिंदुओं के घनत्व का एक रेखापुंज होगा। बस एक रेखापुंज कोशिका के भीतर कितने बिंदु या कितनी रेखाएँ हैं।

gdal_rasterize मेनू Raster -> रूपांतरण -> Rasterize में पाया जाता है। अंतिम पाठ फ़ील्ड में, आप पेंसिल बटन दबाते हैं और नीचे "समान 1 -dd" शामिल करने के लिए पाठ को बदलते हैं। स्वाभाविक रूप से, आप अपनी स्थिति के अनुसार -tr (रिज़ॉल्यूशन) पैरामीटर और इनपुट और आउटपुट नाम बदलते हैं।

gdal_rasterize -burn 1 -add -tr 200.0 200.0 -l लाइनें C: /lines.shp C: /out_lines.tif

जुक्का रहकोनेन ने मुझे गदल_देव मेलिंग सूची में संकेत दिए। मैं इसके लिए वस्तुतः वर्षों से देख रहा हूँ।

रेखापुंज लाइनों के लिए रेखापुंज सेल मूल्यों के बारे में, मैं मूल्यों का प्रतिनिधित्व करने के बारे में अनिश्चित हूं। स्पष्ट रूप से यह लाइनों की संख्या या रेखाओं की संख्या नहीं है।

Gdal_rasterize के साथ लाइन घनत्व


3

@DPSSpatial से उत्तर के समान दृष्टिकोण का उपयोग करते हुए, मैं प्रत्येक पंक्ति के साथ समान रूप से स्थान बिंदु बनाने के लिए QChainage प्लगइन का उपयोग करूंगा

यह प्लगइन लाइन के साथ पॉइंट जेनरेट करता है, लेकिन यह लाइन से अधिक किसी भी विशेषता को कॉपी नहीं करता है।

यहाँ मैं WGS84 (4326, डिग्री लेस / लोन) मान रहा हूँ। आप शायद मीटर में एक उपयुक्त प्रक्षेपण का उपयोग करके ऐसा करना चाहते हैं।

  • प्रत्येक 0.05 डिग्री जैसे लाइन के साथ अंक उत्पन्न करने के लिए QChainage का उपयोग करें
  • इस लेयर को 0.001 डिग्री तक बफ़र करें।
  • एक स्थानिक ज्वाइन ( वेक्टर> डेटा मैनेजमेंट टूल्स> जॉइन अटेंशन बाय लोकेशन ) ("इन्टर्सेस" का उपयोग करके), बफ़र किए गए पॉइंट से लेकर आपकी मूल लाइन लेयर तक। यह अंक को उनके नीचे की रेखाओं से प्रभाव मूल्य लेने देगा।
  • वेक्टर> जियोमेट्री टूल्स> बहुभुज सेंट्रोइड्स का उपयोग करके इस परत को बिंदुओं में बदलें

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

अब आपके पास कुछ ऐसा होना चाहिए। प्रत्येक पंक्ति के साथ संख्या "प्रभाव" मान दिखाती है।

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

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