क्या मैं LIDR में एक LAS फाइल को फिर से प्रोजेक्ट कर सकता हूं

Aug 16 2020

मैं 2 अनुमानों में प्रदान किए गए 2 निकटवर्ती 2014 LAS डेटासेट के साथ काम कर रहा हूं:

हालाँकि, जब मैं espg (लास) टाइप करता हूं तो मेरा लौटा हुआ उत्तर 0 होता है

यदि मैं सारांश (लास) मेरा निर्देशांक लिखता हूं

मैं इन दोनों को NAD83 / UTM18 को फिर से प्रोजेक्ट करना चाहता हूं और LiDR के माध्यम से एक साथ प्रोसेस करना चाहता हूं। अगर यह LiDR में करना संभव है तो मैं स्पष्ट नहीं हूँ? कैसे आगे बढ़ें? मेरे पास निपटने के लिए 1000 1 किमी टाइलें हैं।

जवाब

3 JRR Aug 17 2020 at 04:02

आप अपने LAS ऑब्जेक्ट के लिए CRS को विशेषता दे सकते हैं epsg()<-

epsg(las) <- 12345

आप इसके साथ फिर से प्रोजेक्ट कर सकते हैं spTransform()लेकिन यह फ़ंक्शन इसके वर्तमान कार्यान्वयन में उप-रूपात्मक है। यह वास्तव LASमें एक में बदल जाता है SpatialPoints, का उपयोग करता है sp::spTransform()और वापस अद्यतन करता है LAS। मैं का उपयोग करने की सलाह देते हैं las2lasसे LAStoolsलास फ़ाइल प्रोसेसिंग कार्यों के इस प्रकार के लिए, लेकिन छोटे डेटासेट के लिए spTransformसुविधाजनक हो सकता है।

library(lidR)
LASfile <- system.file("extdata", "Megaplot.laz", package="lidR")
las = readLAS(LASfile)
las
#> class        : LAS (v1.2 format 1)
#> memory       : 6.2 Mb 
#> extent       : 684766.4, 684993.3, 5017773, 5018007 (xmin, xmax, ymin, ymax)
#> coord. ref.  : +proj=utm +zone=17 +datum=NAD83 +units=m +no_defs 
#> area         : 53112.69 m²
#> points       : 81.6 thousand points
#> density      : 1.54 points/m²
las2 = spTransform(las, sp::CRS(SRS_string = "EPSG:26918"))
las2
#> class        : LAS (v1.2 format 1)
#> memory       : 6.2 Mb 
#> extent       : 214261.7, 214504.9, 5021517, 5021767 (xmin, xmax, ymin, ymax)
#> coord. ref.  : +proj=utm +zone=18 +datum=NAD83 +units=m +no_defs 
#> area         : 53174.62 m²
#> points       : 81.6 thousand points
#> density      : 1.53 points/m²

नोट - lidR 3.0.4फ़ंक्शन से पहले एक छोटी सी छोटी गाड़ी है। यदि आप जांच las2करते हैं तो आप देखेंगे कि यह विनिर्देशों के लिए कड़ाई से अनुपालन नहीं है। में तय किया गया था lidR 3.0.4

las_check(las2)