Saya telah memberikan gambar Geotiff dan data Lidar terkait (x, y, z) dalam koordinat UTM. Saya perlu menggabungkan data Lidar dengan nilai RGB dari gambar.
Itu berarti, pada akhirnya, saya perlu memplot (3D) setiap titik warna awan LiDAR yang dikodekan dengan nilai RGB yang sesuai dari gambar Geotiff.
Saya mengubah data Lidar menjadi shapefile menggunakan QGIS. Apa yang harus saya lakukan selanjutnya?
Di R, saya mencoba plot3D
fungsinya, tetapi tidak berhasil. Saya melampirkan dokumen teks , shapefile, dan gambar tif
Edit:
Saya telah melakukan program berikut seperti yang ditunjukkan di bawah ini:
require(raster)
require(maptools) # to take shape files
#require(car) # for scatter3D
require(plot3Drgl)
##setwd("C:\\Users\\Bibin Wilson\\Documents\\R")
##source('Lidar.r')
data = read.csv("C:\\Users\\Bibin Wilson\\Desktop\\Lidar\\lidardata.csv")
#nr = nrow(data)
nc = ncol(data)
nr = 500
require(rgdal)
X = readGDAL("C:\\Users\\Bibin Wilson\\Desktop\\Lidar\\image.tif")
topx = 4.968622208855732e+05;
topy = 5.419739403811632e+06;
final = matrix(nrow = nr, ncol = nc+2)
for(i in 1:nr) {
x = data[i,1]
y = data[i,2]
rr = round((topy-y)/0.0833)
cc = abs(round((x-topx)/0.0833))
if(rr == 0) {
rr = 1
}
if(cc == 0) {
cc = 1
}
final[i,1] = x
final[i,2] = y
final[i,3] = data[i,3]
final[i,4] = rr
final[i,5] = cc
}
for(i in 1:nr) {
x = final[i,1]
y = final[i,2]
z = final[i,3]
rr = final[i,4]
cc = final[i,5]
if(rr <= 5086 && cc<=3265) {
r = X[rr,cc,1]/255
g = X[rr,cc,2]/255
b = X[rr,cc,3]/255
c = cbind(r,g,b)
scatter3D(x,y,z,2,c)
}
}
Tetapi ketika mencoba untuk merencanakan grafik, itu menunjukkan kesalahan berikut:
Kesalahan dalam
[.data.frame
(x @ data, i, j, ..., drop = FALSE): argumen yang tidak digunakan (1)
Edit:
Saya mendapatkan model 3D tanpa RGB seperti yang ditunjukkan di bawah ini: