jueves, enero 09, 2014

Instalar y configurar bibliotecas HDF-JAVA

No hay comentarios.:
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.



Leer más »

viernes, enero 03, 2014

Configuración de las herramientas de trabajo

No hay comentarios.:


A continuación se describe como obtener el código fuente de la extensión extSDF, las herramientas necesarias para su desarrollo, y la configuración del IDE para la integración de las herramientas.
La extensión es desarrollada sobre el sistema operativo Debian 7.0 empleando como IDE Eclipse 3.8 disponible en los repositorios públicos de Debian. Funciona correctamente sobre Windows, aunque para su desarrollo sobre Windows es necesario emplear los binarios del gvSIG 1.12 para Windows.

Descargar los Binarios del gvSIG 1.12

wget https://downloads.gvsig.org/download/gvsig-desktop/other-dists/gvSIG_1.12-portable/gvSIG-1.12-build1417-lin-x86-portable.tgz
En nuestro caso que lo utilizamos desde la red UCLV
wget http://10.12.3.64/mfc/gvSIG-1.12-build1417-lin-x86-portable.gz
Descompactar los binarios descargados
gzip -d gvSIG-1.12-build1417-lin-x86-portable.gz
tar -xf gvSIG-1.12-build1417-lin-x86-portable
En el caso de ejemplo que estamos viendo el gvSIG 1.12 quedó instalado en:
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable

Descargar el código fuente del proyecto desde los repositorios de control de versiones

El código fuente del proyecto puede ser descargado desde el servidor de control de versiones GitHUB
git clone https://github.com/rmillo/extSDF.git extSDF
o desde el servidor de control de versiones de la UCLV
git clone http://gitcoholic.uclv.edu.cu/rmillo/extsdf.git extSDF

Preparar el proyecto de trabajo en el Eclipse

Abrimos el Eclipse con un nuevo Workspace. Desactivamos la construcción automática del Workspace en el menú
Project/ Buil automatically
En el nuevo Workspace agregamos un nuevo proyecto de Java en la ruta que se encuentra el código fuente de la extensión.

Configurar las propiedades del proyecto

En las propiedades del proyecto la sección seleccionamos la sección "Java Build Path", y en la pestaña “Library” pulsamos el botón "Add Variable".



En la nueva ventana seleccionamos el botón "Configure Variables".



En la nueva ventana seleccionamos agregar nueva variable en el botón "New".



Le ponemos nombre GVSIG_INSTALL_DIR a la variable y en el valor de la variable ponemos la ruta donde está instalado el gvSIG 1.12 portable, en este caso se instaló en
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable
Una vez agregada la variable presionamos en el botón “OK” y regresamos a la ventana donde se muestran todas las variables, y en esta seleccionamos la variable creada y presionamos el botón "Extend". En la nueva ventana seleccionamos el archivo
bin/andami.jar

Configurar ejecución del gvSIG

Ahora configuraremos la ejecución del gvSIG, para esto vamos a “Run/Run Configurations” a través de la barra de menús o el menú contextual del proyecto, y creamos una nueva configuración "Java Application".

Le ponemos nombre a nuestra nueva configuración gvSIG 1.12.




En la pestaña “Main” es necesario que el campo “Project” quede selecionado el proyecto de la extensión. En nuestro caso extSDF. En el campo “Main Class” ponemos el valor
org.gvsig.andamiupdater.Updater


En la pestaña “Arguments” primero es necesario crear una variable presionando sobre cualquiera de los botones "Variables". En la ventana donde se muestran todas las variables seleccionamos el botón "Edit Variables" y seleccionamos el botón "New" para agregar una nueva variable. Como nombre de la variable ponemos GVSIG_INSTALL_DIR y como valor ponemos la ruta donde está instalado el gvSIG 1.12 portable, en este caso
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable
También es posible asignarle una descripción a la variable.
Una vez agregada la variable cerramos el resto de las ventanas hasta llegar nuevamente a la pestaña “Arguments”. En el campo de "Program  Arguments" ubicamos el siguiente valor
gvSIG gvSIG/extensiones
En el campo “VM Arguments” ponemos el siguiente valor
-Djava.library.path=/usr/lib:"${GVSIG_INSTALL_DIR}/bin/native" -DgvSIG.confDir="${GVSIG_INSTALL_DIR}/cfg" -Xms128M -Xmx512M -XX:MaxPermSize=96M
En el grupo “Working directory” seleccionamos la opción “Other” y le indicamos como valor
${GVSIG_INSTALL_DIR}/bin
 

En la pestaña “JRE” configuramos la aplicación para que se ejecute con el propio JRE del gvSIG 1.12, para esto seleccionamos la opción “Alternate JRE”, y damos click en el botón “Installed JRE”.
En la nueva ventana seleccionamos “Add” para agregar un nuevo JRE.



En la primera ventana del asistente seleccionamos “Standard VM”



En la segunda ventana del asistente seleccionamos donde está el JRE del gvSIG 1.12, en nuestro caso la ruta es:
/home/millo/Work/Working/gvSIG/gvSIG-1.12-1417-portable/jre/1.6.0_20


Se le puede asignar un nombre al nuevo JRE. Presionamos finalizar para terminar de agregar el JRE. Luego seleccionamos el nuevo JRE agregado. En la pestaña “JRE” también seleccionamos el nuevo JRE.



En la pestaña “Classpath”, en el path de “User Entries”, aparece por defecto nuestro proyecto, en este caso es necesario eliminarlo. Luego de eliminado el proyecto entonces seleccionamos “User Entries” y damos click en el botón "Advanced" y selecionamos la opción “Add Classpath Variables” y presionamos el botón “OK”.



En la nueva ventana seleccionamos la variable GVSIG_INSTALL_DIR y damos click en el botón “Extend”. En la nueva ventana seleccionamos todos los JAR contenidos en la ruta bin/lib y el archivo bin/andami.jar.



En la pestaña “Source” no modificamos nada, todo queda con los valores por defecto.



En la pestaña “Enviroment” añadimos una nueva variable con el nombre LD_LIBRARY_PATH y valor
${GVSIG_INSTALL_DIR}/bin/native
También añadimos una variable con nombre PROJ_LIB y valor
${GVSIG_INSTALL_DIR}/bin/gvSIG/extensiones/org.gvsig.crs.extension/data
Por último añadimos otra variable con nombre GDAL_DATA y valor
${GVSIG_INSTALL_DIR}/bin/data/gdal


En la pestaña "Common" no se modifica ningún valor, todos los campos quedan con sus valores por defecto.



Luego de creada la configuración damos click en “Apply” y procedemos a correr la aplicación para probar la configuración creada.
Leer más »