Abrir archivos BIL, BIP o BSQ en QGIS

Cuanto trate con conjuntos de datos de teledetección y científicos, a menudo uno se encuentra con datos en formatos como BIL, BIP o BSQ. La librería GDAL - que es usada por QGIS para leer archivos raster - tiene soporte para estos formatos, pero no puede abrir estos archivos por si mismos. Iremos por el proceso para crear archivos de soporte para que estos formatos puedan ser leídos por QGIS.

Band interleaved by line (BIL), band interleaved by pixel (BIP), and band sequential (BSQ) son métodos comunes de organización de datos de imagen para imágenes multibanda. (Lea más acerca de estos formatos en)

Típicamente, estos archivos están acompañados por un archivo .hdr. Si tu conjunto de datos vino con un archivo .hdr, asegúrese que el nombre raíz del archivo .bil, .bsq o .bip coincidan y que estén en el mismo directorio. Por ejemplo, si el archivo se llama image.bil, el archivo asociado deberá llamarse image.hdr y estar presente en el mismo directorio que el archivo image.bil. Entonces vaya a Capa ‣ Agregar Capa Raster, seleccione el archivo image.bil y abrirá sin problemas.

Muchas veces, los archivos no vienen con un archivo asociado .hdr. En tales casos, debes crear este archivo a mano como se muestra en este tutorial.

Obtener los datos

Usaremos el AVHRR Global Land Cover Classification data del Global Land Cover Facility como ejemplo.

Los conjuntos de datos Cobertura Global son distribuidos como archivos BSQ. Descargue el conjunto de datos 1 Degree pixel resolution.

Para su comodidad, puede descargar directamente una copia del conjunto de datos del siguiente enlace:

gl-latlong-1deg-landcover.bsq.gz

Fuente de Datos [GLCF]

Procedmiento

  1. Descomprima y extraiga el archivo .bsq. En Windows, puede utilizar la excelente utilidad 7-Zip para leer y extraer un archivo .gz. Verá que sólo tiene un archivo .bsq llamado gl-latlong-1deg-landcover.bsq. No existe archivo hdr.

../_images/1196.png
  1. Note que si intenta abrir el archivo gl-latlong-1deg-landcover.bsq en QGIS tal como está, obtendrá un mensaje de error.

../_images/2160.png
  1. Para superar este error, crearemos un archivo encabezado con extensión .hdr. El archivo encabezado contiene información acerca del conjunto de datos y cómo está organizado. Usualmente, esta información es proporcionada como parte de los Metadatos para el conjunto de datos. Si no tienes los metadatos, revisa en el sitio web o la documentación para pistas. Algo de la información puede ser adivinada si no la conoces. En el caso de este conjunto de datos, la página de descarga de datos enlaza a los metadatos. Descargue los metadatos y ábralos.

../_images/3100.png
  1. El archivo .hdr necesita ser un archivo de texto plano en el siguiente formato. Alguno de los parámetros nos son dados y algunos necesitan ser investigados. Aprenda más acerca del formato en.

ncols <number of columns or width of the raster>
nrows <number of rows or height of the raster>
cellsize <pixel size or resolution>
xllcorner <X coordinate of lower-left corner of the raster>
yllcorner <Y coordinate of the lower-left corner of the raster>
nodata_value <pixel value to be ignored>
nbits <number of bits per pixel>
pixeltype <type of values stored in a pixel, typically float or integer>
byteorder <byte order in which image pixel values are stored, msb or lsb>
  1. Open a text editor and create a file in the format specified in the previous step. Save the file as gl-latlong-1deg-landcover.hdr. Make sure the file doesn’t have .txt at the end. Some of the values in the text files are easy to understand. The ncols and nrows come from the metadata as the Number of Lines and Number of Pixels per Line. The cellsize is 1 as the Pixel resolution from the metadata. The X,Y coordinate of lower-left corner needs to be worked out by us. Since the file covers the entire World and units are lat/long, xllcorner and yllcorner are -180 and -90 respectively. We do not have any information about the nodata_value, so -9999 is a safe bet. From metadata again, Pixel Format is Byte, so nbits will equal to 8 and pixeltype will be byte_unsigned. We do not have information about the byteorder, so leave it as msbfirst. You may download the correctly formatted HDR file from here.

../_images/557.png
  1. Ahora usted tiene el archivo encabezado, póngalo en el mismo directorio que gl-latlong-1deg-landcover.bsq. Luego en QGIS, vaya a Capa ‣ Agregar Capa Raster. Seleccione gl-latlong-1deg-landcover.bsq como su entrada y clic Abrir.

../_images/655.png
  1. En la siguiente pantalla, puede ser que se te pida la CRS. Debido a que los datos están en Lat/Lon, elige WGS84 EPSG:4326 como tu CRS. Ahora verás el conjunto de datos cargado en QGIS.

../_images/754.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)