Guía de inicio rápido de libLAS¶
Contents
Procesamiento¶
Las herramientas de línea de comandos libLAS proporcionan el grueso del software operacional de interacción con los usuarios de libLAS, aunque es la librería libLAS subyacente la que realmente ofrece la funcionalidad. A continuación se muestra un listado con las operaciones más comunes que podría realizar sobre los datos LAS y las utilidades y métodos para llevar a cabo estas tareas.
Reproyectar un fichero LAS¶
Todos los datos LAS se encuentran en algún tipo de sistema de coordenadas, a pesar de que éste no se encuentre descrito en el fichero LAS. Para datos LAS terrestres, estas descripciones de sistemas de coordenadas a menudo se corresponden con los descritos en la base de datos EPSG . Otra fuente de información sobre sistemas de coordenadas puede ser encontrado en http://spatialreference.org.
lasinfo --no-check srs.las
Note
La opción –no-check indica al comando ‘lasinfo’ que sólo debe mostrar la información del encabezado del archivo y que no escanee todos los puntos. Para un archivo con sólo 10 puntos, esto no supone una preocupación, pero para un fichero con 50 o 500 millones de puntos, el tiempo de espera de un análisis completo de los datos no merece la pena si sólo se necesita información de la cabecera.
Nuestra llamada a ‘lasinfo’ nos informa que el fichero srs.las
posee coordenadas en UTM Zona 17 Norte:
PROJCS["WGS 84 / UTM zone 17N",
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",-81],
PARAMETER["scale_factor",0.9996],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
AUTHORITY["EPSG","32617"]]
Ahora que sabemos cual es el sistema de coordenadas de nuestros datos de entrada, podemos decidir a qué sistema los reproyectaremos. En nuestro primer ejemplo, vamos a usar la venerable proyección Plate Carrée (también llamada equirrectangular o equidistante cilíndrica), EPSG:4326.
las2las srs.las --t_srs EPSG:4326
Nuestro proceso tiene éxito, pero después de un vistazo rápido a los datos con
lasinfo output.las
apreciamos un problema:
...
Scale Factor X Y Z: 0.01 0.01 0.01
Offset X Y Z: -0.00 -0.00 -0.00
...
Min X, Y, Z: -83.43, 39.01, 170.58,
Max X, Y, Z: -83.43, 39.01, 170.76,
El fichero srs.las
tenía una escala de 0.01, o dos decimales de precisión para las
coordenadas X, Y, Z. Para datos UTM, esto está bien porque implica una precisión implícita de 1 cm.
Para los datos en grados decimales del sistema de coordenadas no proyectado Plate Carrée, esto causa
una gran pérdida de de precisión. Necesitamos poner nuestros valores de escala a algo que pueda tener una mayor precisión.
En nuestro caso:
las2las --t_srs EPSG:4326 srs.las --scale 0.000001 0.000001 0.01
Tras otra nueva revisión con ‘lasinfo’ obtenemos unos resultados más satisfactorios:
...
Scale Factor X Y Z: 0.000001 0.000001 0.01
Offset X Y Z: -0.000000 -0.000000 -0.00
...
Min X, Y, Z: -83.427598, 39.012599, 170.58
Max X, Y, Z: -83.427548, 39.012618, 170.76
Exportar un fichero LAS a texto¶
las2txt input.las --parse xyzti