Guía para compilar gvSIG 2.0

Me llena de orgullo y satisfacción compartir con vosotros los pasos que hay que seguir para trabajar con gvSIG, pasos descubiertos gracias a la voluntariosa ayuda de algunos compañeros desarrolladores, a los que pude conocer en las últimas Jornadas GvSIG.

Aunque se puede encontrar una guía más completa en la documentación oficial, estos sencillos pasos te permitirán personalizar y compilar. tu propia versión de gvSIG2.0 sin problemas

Lo primero, instalar ciertas dependencias básicas:

#apt-get install maven2 subversion

A continuación, creamos un directorio sobre el que trabajar.

$mkdir gvSIG; cd gvSIG

Una vez tenemos el directorio de trabajo, descargamos los fuentes básicos para preparar el entorno:

$svn co https://joinup.ec.europa.eu/svn/gvsig-desktop/branches/v2_0_0_prep/build/

Antes de compilar nada, preparamos un fichero de configuración básica.

$ cat > ~/.gvsig.platform.properties << EOF
native_platform=linux
native_distribution=all
native_compiler=gcc4
native_arch=i386
native_libraryType=dynamic
export native_classifier=${native_platform}-${native_distribution}-${native_compiler}-${native_arch}-${native_libraryType}
EOF

El siguiente código puede meterse en el fichero .bashrc del /home del usuario, pero también podemos ejecutarlo directamente sobre la consola que estamos trabajando:

$if [ -f "${HOME}/.gvsig.platform.properties" ]
then
. ${HOME}/.gvsig.platform.properties
export MAVEN_OPTS="-Xmx256M -XX:MaxPermSize=64m -Dnative-classifier=${native_classifier} -Dnative-platform=${native_platform}"
else
export MAVEN_OPTS="-Xmx256M -XX:MaxPermSize=64m"
fi

Una vez tenemos el entorno preparado, hacemos la primera compilación con maven. Paciencia, puede tardar.

$mvn install

Y ahora que hemos hecho la primera compilación con maven, procedemos a usar ant para terminar de preparar todo el entorno. Este comando accederá al repositorio online de gvSIG para descargar el resto de fuentes y compilará y generará el gvSIG.

$ant svn.checkout.all

Una vez tenemos el entorno listo, procedemos a preparar la aplicación gvSIG que vamos a utilizar. En este ejemplo usaremos la instalación típica de gvSIG:

$cd projects/gvsig-standard
$ant svn.checkout.all

Paciencia, mucha paciencia.

$mvn install

And it’s done. The application is on the products folder. To execute it, we execute the script gvSIG.sh.

Si al intentar arrancarlo aparece como error "command java not found" habrá que especificcar la variable JAVA_HOME:

$export JAVA_HOME=/usr/lib/jvm...

Now you can use your own customized version.

Soon, I will post about how to create plugins.

Easy map on Java

Sometimes you don’t know where to start when you enter the world of GIS programming. Too many libraries, IDEs, but the truth is, everyone assumes you already have a base and everything become chaos. Something is easy as how to develop a map on Java has scarce documentation.

If you have absolutely no idea of GIS, I would recommend you start by the Free book of Free GIS by Victor Olaya.

Para los principiantes yo recomendaría que le echaran un vistazo a un proyecto bastante nuevo que pretende extender Swing (la librería gráfica por excelencia de Java) con widgets geográficos. De esta forma, añadir un mapa a una aplicación de escritorio Java sería una tarea tan sencilla como añadir un botón o un campo de texto.

Por supuesto, para aplicaciones GIS de cierta complejidad, un simple visualizador como este no sería suficiente. Pero es un buen punto de partida para familiarizarnos con lo que es un mapa y las posibilidades que suele ofrecer al desarrollador.

Con un proyecto Java que añada SwingX-WS a sus dependencias, el siguiente código nos mostraría una ventana con un mapa simple:

es.emergya.gis.examples package;

import java.awt.BorderLayout;

public class  SwingWS {

  public static void main (String [] args) {
    Form = new JFrame JFrame ("Map");

    JXMapKit JXMapKit jXMapKit1 = new ();
    jXMapKit1.setDefaultProvider (org.jdesktop.swingx.JXMapKit.DefaultProviders.OpenStreetMaps);
    jXMapKit1.setDataProviderCreditShown (true);
    jXMapKit1.setName ("jXMapKit1") / / NOI18N
    jXMapKit1.setAddressLocation(new GeoPosition(41.881944, 39.627778));

    form.getContentPane().add(jXMapKit1, BorderLayout.CENTER);

    form.pack();
    form.setVisible(true);
  }
}

Las tiles de los mapas los extrae de OpenStreetMap, pero es perfectamente configurable para cualquier servidor WMS.

So now you have your map on java.