6 votos

¿Resultados erráticos de filters.normal en PDAL?

Dada esta estructura del techo:

roofpointcloud

Obtengo la siguiente salida para el normalx después de usarla:

{
         "type":"filters.normal",
         "knn":8
},

point normalx

(naranja a morado : -1 a 1)

Situación comparable para normaly y normalz .

Donde yo esperaba planos de techo de colores homogéneos, obtengo una situación confusa, en la que los valores parecen estar a veces invertidos hacia el negativo.

Me parece que aquí hay algunos artefactos basados en la línea de escaneado láser, teniendo en cuenta el volteo de la normal en el mismo plano del tejado.

No me cabe en la cabeza lo que ocurre aquí. ¿Ideas?

El objetivo de este trabajo es obtener la pendiente y el aspecto a partir de los planos del tejado. Puedo obtener la pendiente correcta tomando los valores absolutos de normalz (la pendiente nunca pasará de los 90 grados) pero parece que esto no es una opción para calcular el aspecto.

El conjunto de puntos resultante puede descargarse aquí .

6voto

mataap Puntos 121

Después de todo, tenía sentido. Un plano puede tener 2 normales. En este caso, el ligero bamboleo del sensor giratorio hacía que algunos puntos estuvieran un poco por encima y otros por debajo del plano medio. De ahí el tipo de artefactos que se ven.

Solución:

Como sabemos que un tejado siempre tiene una normal apuntando hacia arriba, podemos comprobar que siempre que la normalz sea negativa, volteamos la normalx y la normaly. if normalz < 0 { normalx = -1 * normalx,normaly = -1 * normaly }

El aspecto resultante atan2d(normaly,normalx) ahora se ve así: enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X