क्या मैं LIDR में एक LAS फाइल को फिर से प्रोजेक्ट कर सकता हूं
मैं 2 अनुमानों में प्रदान किए गए 2 निकटवर्ती 2014 LAS डेटासेट के साथ काम कर रहा हूं:
हालाँकि, जब मैं espg (लास) टाइप करता हूं तो मेरा लौटा हुआ उत्तर 0 होता है
यदि मैं सारांश (लास) मेरा निर्देशांक लिखता हूं
मैं इन दोनों को NAD83 / UTM18 को फिर से प्रोजेक्ट करना चाहता हूं और LiDR के माध्यम से एक साथ प्रोसेस करना चाहता हूं। अगर यह LiDR में करना संभव है तो मैं स्पष्ट नहीं हूँ? कैसे आगे बढ़ें? मेरे पास निपटने के लिए 1000 1 किमी टाइलें हैं।
जवाब
आप अपने 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)