ढक्कन में बिंदु बादल से आउटलेर को फ़िल्टर करने का तरीका?

Aug 18 2020

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

यदि मैं tin()एल्गोरिथ्म के साथ सामान्य करता हूं और अपने chm को सामान्य बिंदु बादल से सीधे बनाता हूं, तो मेरा chm min / max मान निम्न हैं:

values     : -5.23, 129.98  (min, max)

और अगर मैं एक dtm के साथ सामान्य करता हूं:

values     : -14.65, 129.91  (min, max)

अंत में, मैं पेड़ों को खंडित करने और पेड़ की ऊंचाइयों, चंदवा कवर, पेड़ के घनत्व आदि के उत्पादों को उत्पन्न करने की कोशिश कर रहा हूं, लेकिन मैं अपने विश्लेषण को नहीं चला सकता हूं जब मुझे पता है कि मेरे अध्ययन स्थल पर अधिकतम पेड़ की ऊंचाई <30 मीटर होगी।

अगर मैं मैदान को दोबारा बनाने की कोशिश करता हूं, तो क्या यह 0 से नीचे के अंकों के साथ मदद करेगा? लेकिन यह 129m अधिकतम पता नहीं होगा ...

मैं सोच रहा था कि शायद मैं अपने chm को स्मूथ करना और chm / tree tops को सेगमेंट के पेड़ों का उपयोग करना बेहतर समझूंगा क्योंकि मुझे li2012()एल्गोरिथ्म का उपयोग करने का एक अच्छा तरीका खोजने में परेशानी हो रही थी ।

जवाब

3 JRR Aug 18 2020 at 19:55

lidR अभी तक कोई 'उन्नत' नहीं है । लेकिन सरल मामलों के लिए आप एक सरल विधि का निर्माण कर सकते हैं। यहां कुछ संकेत दिए गए हैं और आप अपनी आवश्यकता के अनुसार उदाहरणों को संशोधित कर सकते हैं।

थ्रेसहोल्ड का उपयोग करके रुचि का फ़िल्टर बिंदु

las <- filter_poi(las, Z >= 0, Z <= 30)

95 वें प्रतिशत सीएचएम का उपयोग करके उच्च आउटलेयर को फ़िल्टर करें

यह इस शब्दचित्र से लिया गया एक उदाहरण है । यह 95 वें प्रतिशतक के एक रेखापुंज का निर्माण करता है और इस ऊंचाई के नक्शे के लिए बहुत अधिक है।

filter_noise = function(las, sensitivity)
{
  p95 <- grid_metrics(las, ~quantile(Z, probs = 0.95), 10)
  las <- merge_spatial(las, p95, "p95")
  las <- filter_poi(las, Z < p95*sensitivity)
  las$p95 <- NULL
  return(las)
}

las <- filter_noise(las, sensitivity = 1.2)

बिंदु आधारित मीट्रिक का उपयोग करके फ़िल्टर आउटलेयर

कोई दिए गए उदाहरण है, लेकिन के अंत में इस अध्याय है एक वर्ग के साथ एक सुंदर उन्नत बाहरी फिल्टर विधि का निर्माण करने का तरीका बताता है किpoint_metrics()

v3.1.0 में classify_noise ()

मैंने यह जानकारी भविष्य के पाठकों के लिए यहाँ रखी है। से शुरू v3.1.0 lidRहोगा (या जब आप पढ़ रहे हैं पर निर्भर करता है 'पहले से ही है' चुनें) एक समारोह classify_noise()के लिए कई संभावित एल्गोरिदम के साथ।