Skip to content
Snippets Groups Projects
Commit c44d555d authored by nicoscattaneo's avatar nicoscattaneo
Browse files

update repo

parent 08561efe
No related branches found
No related tags found
No related merge requests found
......@@ -11,12 +11,10 @@ gc()
## "share=databank/Prosjekter",
## "/51160_IMPRINT/Forest_projections",
## "/DataR/to_map/merged_22_classified.las")
Dest <- "/home/nibio/DATA"
## Dest <- "/home/nibio/DATA"
## cmd <- paste("cp", Origin, Dest)
## system(cmd)
## REMOVE FILE FROM ORIGIN!
## @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
rm(list=ls())
......@@ -26,7 +24,8 @@ library("stringr")
library("VoxR")
library("data.table")
load("/home/pepito/Documents/holger_tower_pov/DataR/pan3d.RData")
load("/home/nibio/REPOS/holger_tower_pov/DataR/pan3d.RData")
## load("/home/pepito/Documents/holger_tower_pov/DataR/pan3d.RData")
## this function scale points coordinate
## between 0 and (max-min) values
......@@ -36,36 +35,43 @@ Scale <- function(Vector){
(max(Vector)-min(Vector))}
## @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
## DataR
DataR <- paste0("/home/nibio/REPOS/holger_tower_pov/DataR")
## DataR <- paste0("/home/pepito/Documents/holger_tower_pov/DataR")
## plot data - full path
DataPaths <- list.files(paste0("/home/pepito/Documents",
"/holger_tower_pov/DataR"),
pattern = "plot_",
DataPaths <- list.files(DataR,
## pattern = "plot_",
## pattern = "Plot_",
## pattern = "merg",
pattern = ".rds",
full.names = T)
Data <- read.las(DataPaths)
Data <- Data[sample(1:nrow(Data), nrow(Data)*0.20), ]
## Data <- read.las(DataPaths)
## Data[, 1:3]
Data <- fst::read_fst(DataPaths, as.data.table = T)
Data <- Data[sample(1:nrow(Data), nrow(Data)*0.02), ]
Data[, X := Scale(Data$X)]
Data[, Y := Scale(Data$Y)]
Data[, Z := Scale(Data$Z)]
Data[, X := X-mean(X)]
Data[, Y := Y-mean(Y)]
Data <- Data[, 1:3]
## open3d()
Data <- Data[Classification != 2,]
plot3d(Data, aspect = "iso", size = 0.5)
pan3d(3)
## @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
## Create an artificial tower. Just the corners
## CornA <- data.table(X = 3, Y = 3, Z = 40)
CornA <- Data[identify3d(Data, n = 1), ]
## CornA <- Data[identify3d(Data, n = 1), ]
spheres3d(CornA, radius = 1, col = "yellow")
## Left click on a ground point in the point cloud
## Right click to scape
CornB <- Data[identify3d(Data, n = 1), ]
## CornB <- Data[identify3d(Data, n = 1), ]
spheres3d(CornB, radius = 1, col = "red")
## rgl.pop()
......@@ -97,9 +103,10 @@ Data[, Dista := dist3d(X, Y, Z,
setnames(Data, "Dista", "CO")
## plot3d(Data, aspect = "iso", size = 0.5, col = "grey21")
## plot3d(Data[CO < 2 , ], aspect = "iso", size = 4, col = "red", add = T)
## plot3d(Data[CO < 5 , ], aspect = "iso", size = 4, col = "red", add = T)
## spheres3d(CornA, radius = 1, col = "yellow")
## spheres3d(CornB, radius = 1, col = "red")
## pan3d(3)
dist3d2 <- function(xa, ya, za, xb, yb, zb) {
d <- sqrt(((xa - xb)^2) + ((ya - yb)^2) + ((za - zb)^2))
return(d)}
......@@ -108,11 +115,21 @@ Data[, H := dist3d2(X, Y, Z,
CornA$X, CornA$Y, CornA$Z),
by = seq_len(nrow(Data))]
## plot3d(Data2, aspect = "iso", size = 4, col = "red", add = T)
## spheres3d(CornA, radius = 1, col = "yellow")
## spheres3d(CornB, radius = 1, col = "red")
Data[, Angle := CO/H]
Data[, Angle := (asin(Angle))*180/pi]
plot3d(Data[Angle < 7, ], aspect = "iso", size = 4, col = "red", add = T)
plot3d(Data[Angle > 28, ], aspect = "iso", size = 0.5, col = "grey21")
spheres3d(CornA, radius = 1, col = "yellow")
spheres3d(CornB, radius = 1, col = "red")
plot3d(Data[Angle < 28, ], aspect = "iso", size = 0.5, col = "red", add = T)
pan3d(3)
## @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
## Select closest point by angle
Data2 <- Data[Angle < 15, ]
Data2[, min(H), by = Angle]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment