TU ANUNCIO / YOUR PUBLICITY

AQUÍ PODRÍA ESTAR TU ANUNCIO: / HERE COULD BE YOUR AD E-mail

jueves, 26 de septiembre de 2013

Second step: The detail (I) / Segundo paso: El detalle (I)

PRIMERAS TAREAS: 

FIRST TASKS:


Después de encuadrar ya podremos organizar el detalle. Para ello hemos vuelto a utilizar nuestra herramienta ocx para la visualización. Ésta se hará centrando el punto definido y dibujaremos alrededor de él. También habrá que definir lo límites:

After framing already we can arrange the details. So we've gone back to using our tool ocx for viewing. We will define the center point, and we will draw around it. Will also have to define the boundaries:


Por defecto se establecen los valores de:

DIEZMADO: (Por defecto 10) como en el capítulo anterior, el encuadre, se decide cual es el número de puntos que no se leen frente a los que sí se leen. 10 significa que se lee 1 de cada 10. Para leer todos se debe poner 1.

LADO CORTO: Definirá uno de los lados del cuadrilátero interno que se definirá con posterioridad.

LADO LARGO: Definirá el otro lado del cuadrilátero interno que se definirá con posterioridad. Será el lado más largo. Las dimensiones del recuadro exterior son 1/3 mayor a éste.

ALCANCE: Define una distancia ortogonal al lado largo y en dirección paralela al corto. El la perspectiva definirá el punto de observación. Servirá también para dar "pasos" exactos sin necesidad de medir en el dibujo (ya se definirá su importancia)

Default values set:

DECIMATION (Diezmado): (Default 10) as in the previous chapter, the frame, it is decided which is the number of points that are not read in front of those who do read. 10 means that reads one of 10. To read all you should put 1.

SHORT SIDE (Lado Corto): Define one of the sides of the inner quadrilateral to be defined later.

LONG SIDE (lado Largo): Define the other side of the inner quadrilateral to be defined later. It will be the longest side. The outer dimensions of the box are 1/3 higher than this.

SCOPE (Alcance): Defines a distance orthogonal to the long side and the short parallel. The perspective will define the observation point. It will also serve to give "steps" without accurate measure in the picture (already we define its importance)

LEE PARA DETALLE / READING FOR DETAIL

Este botón pone en marcha el proceso.

This button starts the process.

Proceso de dibujado
Drawing process
Proceso de dibujo terminado.
Finished drawing process.
Una vez terminado el dibujo podemos pinchar sobre el (con mayúsculas pulsado el proceso es interactivo)

Once finished the picture we can click on it (with capital letters pressing the process is interactive)


En este punto el recuadro azul marcará lo que denominaremos límites interiores. El punto verde, es el centro del dibujo cuyas coordenadas se corresponden a lo que hemos denominado Coordenadas x e y en la cabecera. Como dato nos da la cota en ese punto.

El punto rojo estará exactamente a la distancia dada en el recuadro de ALCANCE (por defecto 10 metros). Serán RojoX y RojoY. El punto azul serán las coordenadas del punto pinchado. Sus valores están en AzulX y AzulY. 

At this point the blue box will mark the inner borders. The green point is the center of the drawing whose coordinates are x and y coordinates in the header. As data gives us the elevation at that point.

The red dot is exactly the distance given in the box SCOPE, Alcance. (default 10 meters). Will RojoX and RojoY (redX & redY). The blue dot will be the coordinates of the point clicked. Their values ​​are in AzulX and AzulY (blueX ¬blueY).

CENTRO AL ROJO / CENTER TO RED

Pulsando este botón las coordenadas del punto rojo pasan a ser las principales y podemos volver a ejecutar el detalle.

By pressing this button the red point coordinates become the main and we can re-run the detail.

CENTRO AL AZUL / CENTER TO BLUE

Pulsando este botón las coordenadas del punto azul pasan a ser las principales y podemos volver a ejecutar el detalle.

Pressing this button blue point coordinates become the main and we can re-run the detail.

GUARDA EL DIBUJO DE FONDO / BACKGROUND SAVE THE DRAWING

Este botón nos permite guardar la planta que estamos viendo en formato jpg, gif, png o bmp, añadiendo el prefijo que definamos (por defecto es "PLA_"). Lo guardará en el directorio z. Si no existe lo creará.

This button allows you to save the floor that we are seeing in jpg, gif, png or bmp, adding the prefix define (default is "PLA_"). It saved in the directory z. If there is not will create it.

GUARDAR EXTERIOR xyziRGB / EXTERNAL SAVE xyziRGB

Con los puntos con los que hemos realizado el dibujo creará un fichero ASCII con los datos de x, y, z, i (intensidad), R, G, B, (color). El recuadro adjunto es para poner el nombre que queramos al dibujo.

Lo guardará en el directorio 1. Si no existe lo creará.


With the points that we have made the picture will create an ASCII file with the data of x, y, z, i (intensity), R, G, B, (color). The box below is to put the name you want the drawing.

It saved in the directory 1. If there is not will create it.

Proceso de exportación


-> .LAS

Una vez guardado podemos cambiarle el formato a .las (LIDAR)
Once you have saved we can change the format to .las (LIDAR)

GUARDAR INTERIOR xyziRGB / INTERNAL SAVE xyziRGB

Con los puntos de dentro del recuadro azul se creará un fichero ASCII con los datos de x, y, z, i (intensidad), R, G, B, (color). El recuadro adjunto es para poner el nombre que queramos al dibujo.
Lo guardará en el directorio 2. Si no existe lo creará.

With the points that we have made the picture will create an ASCII file with the data of x, y, z, i (intensity), R, G, B, (color). The box below is to put the name you want the drawing.

It saved in the directory 2. If there is not will create it.

-> .LAS

Una vez guardado podemos cambiarle el formato a .las (LIDAR)
Once you have saved we can change the format to .las (LIDAR)

GUARDAR INTERIOR RELATIVO xyziRGB / INTERNAL RELATIVE SAVE xyziRGB

Ídem que el caso anterior pero con la salvedad de que las coordenadas serán la relativas respecto al centro que será la (0, 0, 0) y los ejes los marcados en las direcciones del lado largo y corto. El recuadro adjunto es para poner el nombre que queramos al dibujo.
Lo guardará en el directorio 3. Si no existe lo creará.

With the points that we have made the picture will create an ASCII file with the data of x, y, z, i (intensity), R, G, B, (color) in relative. The box below is to put the name you want the drawing.

It saved in the directory 3. If there is not will create it. 

-> .LAS

Una vez guardado podemos cambiarle el formato a .las (LIDAR)
Once you have saved we can change the format to .las (LIDAR)



El próximo día explicaré como crear ejes.
End part one.

miércoles, 25 de septiembre de 2013

Step one: The framing / Primer paso: El encuadre

Previos al encuadre / Prior to framing

Elección de la forma de lectura de datos: / How to read data:

Lo primero será poder leer los archivos LIDAR de uno de los trabajos. 

Hemos barajado varias posibilidades. Una de ellas fue la de ir abriendo un archivo .las, y luego otro, y luego otro... con el clásico cuadro de diálogo de apertura de archivos:

The first will be able to read the files LIDAR..

We considered several possibilities. One of them was to be opening a file ".las", then another, then another ... with the classic opening dialog:


Así, podríamos abrir un archivo o varios e ir sumando. 

Esta idea la abandonamos al darnos cuenta de que solíamos guardar los archivos con la extensión las en un directorio. Entonces, ¿Para que ir abriendo uno a uno pudiendo abrir todo el bloque que ya estaba ubicado en un directorio? No añadía complejidad, nos obligaba a ser ordenados (muy importante cuando se trabaja con grandes volúmenes de datos) y estaba a la vista la opción de apertura sin que apareciera el diálogo ni la opción tradicinal de "ABRIR" o "NUEVO".

So, we could open a file or files and add up.

This idea was abandoned when we realize we used to save files with the "the" in a directory. So ... Why go opening one to one can opening the whole block already it was located in a directory? No added complexity, required us to be arranged (very important when we work with large volumes of data) and it was visible without the appearance of traditional dialogs "OPEN" and/or "NEW".

Elección del lenguaje de programación 

Choosing the programming language


Otro de los condicionante era ¿Cual será el mejor lenguaje de programación? 

Una de las opciones fue "Lazarus" (véase: http://www.lazarus.freepascal.org/) esta opción nos permitiría compilar el código tanto en Linux como en Windows.

La otra opción era "Visual Basic" que aparte de funcionar bastante bien en Windows tambien es funcional en Linux bajo Wine (véase: http://www.winehq.org/).

Como en la empresa (Enmacosa, http://www.enmacosa.com) ya teníamos una licencia de VB6 y experiencia en este lenguaje de programación nos decantamos por esta segunda opción. Para demostrar su funcionalidad este blog se está realizando con pantallazos de la aplicación funcionando con Ubuntu y Wine.

One of the choices was "Lazarus" (see: http://www.lazarus.freepascal.org/) This option would allow us to compile the code on Linux and/or Windows.

The other option was "Visual Basic" that apart from work quite well on Windows also is functional in Linux under Wine (see: http://www.winehq.org/).

As in the company(Enmacosa: http://www.enmacosa.com). We already had a license to VB6 and experience in this programming language. We decided on the second option. Order to demonstrate its functionality this blog is being made with screenshots of the application running on Ubuntu and Wine.

El encuadre / The framing


Unos de los primeros pasos sería la visualización en planta del conjunto de archivos para saber donde estamos. Para ello utilizamos el módulo P_LIDAR.ocx (ya descrito en: http://carreteras-laser-escaner.blogspot.com.es/p/programando-para-lidar.html)

Todo esto tiene el siguiente aspecto:

One of the first steps would be the display the set of floor files to know where we are. We use P_LIDAR.ocx module.  (Described in: http://carreteras-laser-escaner.blogspot.com.es/p/programando-para-lidar.html)

This is the look:


Opciones iniciales: / Initial options:

APERTURA: Está a la vista la elección de la unidad que debe abrirse, en este caso Z: dentro de ella, buscamos el directorio, en este caso "cuadrados illa"

ENCUADRE DIRECTORIO: Leerá todos los archivos con la extensión "las" del directorio seleccionado. y dibujará 1 de cada X puntos, X es el valor del diezmado. por defecto X=10.000. Que es un buen valor cuando tenemos, como es el caso que leer un directorio cuyos archivos suman más de 10GBytes. 

COORDENADAS DE UN PUNTO: Si pinchamos en la imagen:

OPENING (Apertura):Unit is chosen, in this case Z, and search the directory. In this case: "cuadrados illa"

DIRECTORY FRAMING (Encuadre directorio): Read all files with the extension ".las" in the selected directory. and each X points, it will draw 1 point, X is the value of the decimated portion. Default value X = 10,000. That is a good value when we have, such as reading a directory whose files are more than 10GBytes.

COORDENATES OF A POINT (Coordenadas de un punto): If we click on the image:


Al lado del botón "DETALLE" nos aparecerán las coordenadas. La idea es la de la realización de un zoom sobre la zona pinchada. Estó será descrito en el próximo capítulo.

Beside the button "DETAIL" (Detalle) we will see the coordinates. The idea is the realization of a zoom on the clicked area. This will be described in the next chapter.

PARTIR EN CUADRADOS:
SQUARE CUTTING:

Esta opción es muy importante. Los datos LIDAR nunca está ordenando como nos gustaría estudiarlos. Esta opción lo que hace es leer los datos diezmados (si ahora colocamos Diezmada cada: 1, en vez de los 10000, por defecto, leerá todos, es decir, no diezmará) y los irá colocando en archivos de 10x10 metros. Las dimensiones del cuadrado pueden cambiarse si se modifica el cuadro de texto que, por defecto, ya incorpora el valor de 10. Estos datos los exportará en datos de texto (ASCII). Si se marca la opción "y LAS" también los guardará en formato LIDAR y si se marca la opción "no ASCII" no los exportará en este formato:

En el subdirectorio ...\c\ guardará estos nuevos archivos.

Otra forma es la descrita en Cómo dividir en cuadraditos un enorme archivo .las usando el programa de linux:  txt210 o de Windows:  PlantaLasEje.exe 

Aspecto del conjunto de archivos:

This option is very important. LIDAR data is never ordering as we would like. This option does is read the decimated data (if now place Decimated each: 1, instead of the 10000, by default, read it all, not decimate) and you place them in files 10x10 meters. The dimensions of the square can be changed by modifying the text box that by default, already includes the value of 10. This data is exported into text data (ASCII). If check the option "and LAS"  the files will be save in LIDAR format,  and if you check the option "non-ASCII" not will exported in this format:

In the subdirectory ... \ c \ save these new files.

Another way is described inCómo dividir en cuadraditos un enorme archivo .las usando el programa de linux:  txt210 o de Windows:  PlantaLasEje.exe 

Aspect of the set of files:



Aparecen con el icono de Fugroviewer porque está viculada su apertura a ese programa (nuestra idea no es competir contra un visor tan bien hecho como el de Fugro)

Appear with the icon Fugroviewer because it is linked to the program its openness (our idea is not to race against a viewer as well done as Fugro's viewer)

Funcionalidades de la partición en cuadrados: 

 1ª Servir de apoyo a una aplicación web que pretenda ser gestor de nubes de puntos. Esta opción ya fue explicada en septiembre de 2012 y está explicada en: http://carreteras-laser-escaner.blogspot.com.es/2013/01/google-maps-con-exactitud-de-centimetros.html

2ª Realización de lecturas más rápidas: Hemos comprobado que los trabajos de lecturas de datos es más rápida con muchos archivos de un tamaño manejable que con pocos de gran tamaño.

3ª Mayor información sin necesidad de abrir. Si un archivo se llama 51090-471245.las, sin abrir ya sabemos que abarcará los puntos del entorno [510900, 4712450]-[510909-4712459]

Nota importante: Si tenemos que abrir un conjunto de archivos de varios gigabytes y por tanto, con varios miles de millones de puntos. el proceso de partir en cuadrados con el diezmado=1 no puede ser rápido. Dependiendo del ordenador puede tardar bastante. La opción más rapida es la del comando de Linux. La diferenciaes que para aquellos acostumbrados a Windows les gusta ver la barra de progreso.

Functions of the partition into squares: 

1.- Serve as support to a Web application which purports to be manager point clouds. This option was already explained in September 2012: http://carreteras-laser-escaner.blogspot.com.es/2013/01/google-maps-con-exactitud-de-centimetros.html

2.- Making faster reads: We have verified that the work of reading data is faster with many files of manageable size than with a few larger.

3ª Further information without opening. If a file called 51090-471245.las, unopened, we know that the points of the environment are [510900, 4712450] - [510909-4712459]

Important note: If you have to open a file of several gigabytes and therefore, with several billion points. Starting the process of decimation in square = 1 can not be fast. Depending on the computer may take a long time. The faster option is the Linux command. The difference is that, those accustomed to Windows like to see the progress bar.

ELIMINACIÓN DE DATOS SOBRANTES.
REMOVING UNWANTED DATA.

A veces aparecen puntos que no debieran existir, descolocados o queremos eliminar un área. Generalmente este área está definida dentro de un rectángulo. Se deja la opción de eleimnar lo de dentro o lo de fuera. Pinchando el el dibujo y después en "Cuadra Sup-Iq" y "Cuadra Inf-Dr" marcaremos un rectángulo definido por su esquina superior izquierda y su esquina inferior derecha.
También se deja la opción de escribirlo a mano.

Después se punchará en "Eliminar lo de dentro" o "eliminar lo de fuera" según se prefiera.

Sometimes points appear that should not exist, misplaced or too external. Usually this area is defined within a rectangle. Leave the option to remove the inside or the outside. Clicking on the picture and then "Sup-Iq Cuadra" and "Cuadra Inf-Dr" mark a rectangle defined by the upper left and lower right corner.
It also leaves the option of writing it by hand.

After you clicked "Remove the inside" or "remove the outside" as preferred. ("Eliminar lo de dentro" or "Eliminar lo de fuera")


Nota importante: Cuidado con estas opciones. Son rápidas pero borran sin papelera de reciclaje. Antes de tocarla conviene guardar una copia de seguridad.

Ayer, me escribió Norberta, hablándome d lo feo que resulta el espacio vacío en la esquina inferior derecha. En la discusión afloró la idea de incorporar una ampliación como ya hiciéramos en la aplicación web de "cuadraditos".

Recordando: http://carreteras-laser-escaner.blogspot.com.es/2013/01/google-maps-con-exactitud-de-centimetros.html

Important Note: Beware of these options. They are fast but deleted without Recycle Bin. Before touching it should save a backup.

Yesterday, Norberta wrote to me, telling me about how ugly it is the empty space in the lower right corner. In the discussion blossomed the idea of ​​incorporating an expansion as we did in the web application of "squares" (Cuadraditos).


Recalling: http://carreteras-laser-escaner.blogspot.com.es/2013/01/google-maps-con-exactitud-de-centimetros.html



Dicho y hecho:
Sooner said than done:

Al pinchar sobre el gráfico de datos LIDAR aparecerá una ampliación en planta
para afinar el punto en el que querremos el detalle.
Clicking on the graphic will appear LIDAR data in floor expansion
to fine tune the point where we will want the detail.
Gracias Norberta. Thank you Norberta.

Diagrama de flujo: (al final de cada apartado Realizaremos un diagrama de las funciones y tareas que se pueden ir desarrollando con el programa)




El siguiente paso será el detalle. Y traerá varias sorpresas como la definición de ejes y/o aceptación de estos, la programación de trabajos tediosos etc.
The next step is the detail. And bring some surprises, such as the definition of axes and / or acceptance of these, programming for tedious jobs, ...

Restart / Volviendo a empezar

Después de todo el trabajo realizado hemos  pensado que lo mejor sería volver a reestructurarlo todo desde el principio.
Tenemos una aplicación web y varios programas para alimentarla pero nos falta una visión del conjunto y un sistema único donde desarrollarla.
Para la realización de este paso hemos comenzado a realizar un programa en Visual Basic que incluirá todo el conjunto de actuaciones posibles para trabajar con los datos LIDAR y compatibilizarlos con otros no LIDAR.
Desde los primeros pasos hasta ahora hemos cambiado tanto la estética como la estructura e incluso los objetivos.
Algunas de las tareas que se realizan ya las habíamos desarrollado con anterioridad. Explicaremos donde aparecen los nuevos cambios y donde los ya viejos pueden igualmente a utilizarse y por tanto, compatibilizarse.
Para la realización de estos trabajos han sido de gran ayuda los correos recibidos con ideas y sugerencias. Cuando aplique algunas de estas, nombraré a la persona que me las hizo. Empezaré agradeciendo a Alexander Vetto, Xiaohua Hi, Frank Pfeifer y Norberta Harbock sus ánimos por nuestro trabajo y la idea de una reunificación de contenidos.
Por otro lado, sin perder de vista la aplicación web, la nueva aplicación servirá para la peparación de archivos de ésta.

After all the work done, we think that the best thing would be to restructure everything from the beginning.
We have a web application and several programs to feed it but we need a vision of the whole and a unique system where we can develop it.
To perform this step we have begun implementing a program in Visual Basic that will include the full range of possible actions for working with LIDAR data, and make them compatible with another LIDAR data.
From the first steps until now we have changed both the aesthetics, as the structure and even the objective.
Some of the tasks have been performed and developed previously. Will explain where appear the new changes and where the above can also be used and thus rendered compatible.
For the realization of this work has been of great help received emails with ideas and suggestions. When I apply some of these, I will appoint me the person who made ​​them. Let me start by thanking Alexander Vetto, Xiaohua Hi, Frank Pfeifer and Norberta Harbock their minds for our work and the idea of ​​a reunification of content.
On the other hand, without losing sight of the web application, the new application serve for peparación this files.

domingo, 15 de septiembre de 2013

Clouds of points vs. 3D models / Nubes de puntos y modelos 3D

¿Estamos ante dos caras de una misma moneda?
Are we looking at two sides of the same coin?

De la realidad previa  al entrono virtual

From virtual reality to environment previous


Cuanto nos centramos en nubes de puntos queremos preservar una realidad en un entorno virtual escaneando ésta. Es decir la realidad está antes que el modelo:

1º Modelo:

If we focus on point clouds we want to preserve a reality in a virtual environment scanning it. I mean the reality is before the model

1.- Model:
Fuente / source: http://sitegi.enmacosa.com

2º Toma de datos en forma de nubes de puntos:
2nd reading of data as point clouds:

Fuente / source: http://sitegi.enmacosa.com

3º Podemos trabajar sobre ellas como, por ejemplo, conocer sus proyecciones:
3er. We can work on them as, for example, know their projections:

Fuente: http://sitegi.enmacosa.com

Del entorno virtual a la realidad

Form Virtual environment to reality

Un ejemplo de esto puede ser una estructura en ejecución
Podemos tener un puente, por ejemplo, que esté en ejecución:

An example of this may be a structure running
We have a bridge under construccion:

Puente sobre la ría de Noia (26-11-2012)
Bridge Ría de Noia (26-11-2012)
Puente sobre la ría de Noia (03-06-2013)
Bridge Ría de Noia (03-06-2013)
Un escaneo nos daría un estado actual de la obra. Pero si quisiéramos saber como quedaría tendríamos que adelantarnos. Habría que hacer una recreación virtual de esta estructura de los elementos que faltan.

A scanning ead give us a current status of the work. But if we know how to stay, we would anticipate. We should do a virtual recreation of the structure with the  missing elements.


En el vídeo anterior se ofrece una recreación de uno de los pilares del puente inmerso en un bloque de cristal (también virtual)
In the video above gives a recreation of one of the bridge piers immersed in a glass block (also virtual)

... en proceso de redacción ...
... being drafted ...