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
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
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:
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, ...
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, ...
No hay comentarios:
Publicar un comentario