jueves, enero 09, 2014

Instalar y configurar bibliotecas HDF-JAVA

La bilbioteca HDF-Java para manipular el formato de archivos HDF4, HDF5 y NetCDF fue descargada desde la dirección URL:
http://www.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdf-java-2.9/bin/
En nuestro caso estamos empleando los binarios precompilados de la versión 2.9 para Linux de 32 bits. El proceso de configuración en 64 bits y para el sistema operativo Windows se realiza de forma.
Una vez descargada la biblioteca procedemos a descompactarla. Esta tiene una estructura de directorios:
bin
lib
  ext
  linux
UserGuide
Para la integración de HDF-Java con los binarios del gvSIG 1.12 sólo emplearemos los archivos contenidos en la carpeta lib.

Integrando HDF-Java con gvSIG 1.12

Buscamos la ruta donde instalamos los binarios del gvSIG 1.12 según se explicó en la entrada anterior. En nuestro caso el gvSIG 1.12 está instalado en:
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable
Para integrar la biblioteca de HDF-Java con los binarios del gvSIG 1.12, movemos la carpeta lib de HDF-Java hacia la ruta:
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable/bin/lib/
quedando en la ruta:
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable/bin/lib/lib
Para diferencias las nuevas bibliotecas añadidas cambiamos el nombre de la carpeta lib a hdf, quedando:
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable/bin/lib/hdf
La carpeta linux contenida en:
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable/bin/lib/hdf/linux
contiene las bibliotecas nativas para el manejo de los formatos de datos. Esta carpeta la movemos hacia la dirección:
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable/bin/native
quedando la nueva ruta:
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable/bin/native/linux
De igual forma, para diferenciar también las bibliotecas nativas de HDF, renombramos la carpeta linux a hdf, quedando la nueva ruta:
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable/bin/native/hdf
Para el correcto funcionamiento del gvSIG 1.12 con las bibliotecas de HDF-Java, editamos el script de ejecución:
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable/bin/gvSIG.sh
En el script localizamos la línea 24 donde se declara la variable GVSIG-NATIVE_LIBS:
GVSIG_NATIVE_LIBS=${GVSIG_HOME}/native:${HOME}/.depman/lib
y la reemplazamos por la línea:
GVSIG_NATIVE_LIBS=${GVSIG_HOME}/native:${GVSIG_HOME}/native/hdf:${HOME}/.depman/lib
Posteriormente en la línea 37 se puede observar como se agregan los JARs a la variable LIBRARIES. Debemos agregar las siguientes líneas para incorporar los JARs pertenecientes a la biblioteca HDF-Java:
for i in ./lib/hdf/*.jar ; do
  LIBRARIES="$LIBRARIES":"$i"
done

for i in ./lib/hdf/ext/*.jar ; do
  LIBRARIES="$LIBRARIES":"$i"
done
Ya tenemos nuestra biblioteca para el manejo de archivos HDF y NetCDF integrada con los binarios del gvSIG 1.12 portable. Guardamos el script y podemos proceder a ejecutarlo para ejecutar el gvSIG 1.12.

Incorporando bibliotecas de HDF-Java en el proyecto de Eclipse

Ahora veremos como integrar con nuestro proyecto de Eclipse, las bibliotecas de HDF-Java que configuramos junto a los binarios del gvSIG 1.12. Para integrar las bibliotecas HDF-Java a nuestro proyecto, es necesario realizar dos pasos de configuración:

Agregar las dependencias al proyecto

Para agregar las dependencia de la biblioteca HDF-Java a nuestro proyecto, agregamos los JARs necesarios a través del botón Add Variable, siempre tomando como referencia la variable GVSIG_INSTALL_DIR configurada en la entrada anterior, en la configuración de Java Build Path.  En nuestro caso para el manejo del formato de archivo NetCDF agregamos la dependencia de
GVSIG_INSTALL_DIR/bin/lib/hdf/netcdf.jar

Modificar la configuración de ejecución

En configuración de ejecución del proyecto Run/Run Configurations, buscamos la configuración actual que está ejecutando el proyecto.
En la pestaña Arguments, el campo VM arguments contiene el valor:
-Djava.library.path=/usr/lib:"${GVSIG_INSTALL_DIR}/bin/native" -DgvSIG.confDir="${GVSIG_INSTALL_DIR}/cfg" -Xms128M -Xmx512M -XX:MaxPermSize=96M
Reemplazamos este valor por:
-Djava.library.path=/usr/lib:"${GVSIG_INSTALL_DIR}/bin/native":"${GVSIG_INSTALL_DIR}/bin/native/hdf" -DgvSIG.confDir="${GVSIG_INSTALL_DIR}/cfg" -Xms128M -Xmx512M -XX:MaxPermSize=96M
En la pestaña Classpath, agregamos en User Entries los JARs correspondientes al HDF-Java que se encuentran en las rutas:
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable/bin/lib/hdf
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable/bin/lib/hdf/ext

Para esto se puede consultar la configuración de la pestaña Classpath en la entrada anterior.
Finalmente pasamos a la pestaña Environment y modificamos la variable LD_LIBRARY_PATH que tiene valor:
${GVSIG_INSTALL_DIR}/bin/native
lo reemplazamos por:
${GVSIG_INSTALL_DIR}/bin/native:${GVSIG_INSTALL_DIR}/bin/native/hdf
Ya tenemos configurado el proyecto para ejecutar el gvSIG 1.12 con la biblioteca HDF-Java.



No hay comentarios.:

Publicar un comentario