18.5.07

JDOM, XML y Java de forma sencilla.

Ahora que me estoy empezando a pegar en serio con webservices, me ha surgido la necesidad de aprender a fondo el uso de XML en java. He buscado tutoriales de parseo de XML con JavaScript, y Java. Hay algunos muy buenos por ahí para javascript, en concetro Sarissa, es un libería muy util. Sin embargo para XML y Java no había encontrado nada que me terminara de gustar. Los tutoriales de SUN que hablan de SAX y DOM lo único que hacen es asustar. ¿Qué es eso de implementar una interfaz con métodos de "starTag" "endTag"? ¡Dios mío que infierno!. Si solo quiero leer y escribir XML. Pues bien la solución (y menos mal, porque me estaba empezando a asustar) es JDOM. Una librería que hace del uso de XML un juego de niños.





Powered by ScribeFire.

Share/Save/Bookmark

15.3.07

Cambiar el SRID en Oracle Spatial

En alguna ocasión es posible que los datos que están en Oracle Spatial (OS) no tengan el SRID (Sistema de referencia espcial) almacenados en el campo Geometry. Para actualizar el SRID sin tener que volver a cargar la capa hay que hacer los siguientes pasos:

  1. Comprobar que SRID tiene la capa con la sentencia "select t.GEOMETRY1.sdo_srid from weca_sigi_nw t where rownum =1;". En caso de que no tenga ninguno asignado saldrá en blanco.
  2. Borrar el índice espacial que tenga la tabla. Si no lo hacemos no podremos cambiar el SRID, luego tendremos que volver a crearlo. Para borrar el índice "drop index NOMBRE_INDICE_ESPACIAL"
  3. Actualizar el campo geometría con el nuevo SRID mediante una consulta del tipo "UPDATE TABLA_ESPACIAL t SET t.GEOMETRY1.sdo_srid = 82337;" por ejemplo.
  4. Volver a crear el índice espacial "CREATE INDEX nombre ON tabla (GEOMETRY1) INDEXTYPE IS MDSYS.SPATIAL_INDEX;"
  5. Comprobar que se ha cambiado el SRID con la consulta del paso 1.





powered by performancing firefox

Share/Save/Bookmark

15.2.07

Configurar las Versiones de Java con update-alternatives

A veces no hay más remedio que remangarse y trastear con los servidores para poder instalar una aplicación o un nuevo servidor de mapas. Un problema muy común es que las versiones de java que vienen por defecto en los sistemas Linux, no son las oficiales de Sun. Esta es una pequeña guía de cómo configurar java.



Si no hay opción de instalar java a través de los repositorios oficiales de nuestra distribución, que sería la opción recomendada,

también es posible instalar java de forma manual.



Lo primero es descargar de http://java.sun.com la versión de java que queramos utilizar. En el caso de RedHat es

siempre conveniente descargar la versión que acaba con extensión rpm.bin, ya que de esta forma, podremos instalar

java con el comando rpm -i nombre_de_la_version_de_java.rpm. Una vez descargado el archivo cambiaremos los permisos

con chmod +x nombre_de_la_version_de_java.rpm.bin y luego lo ejecutamos ./nombre_de_la_version_de_java.rpm.bin, se generará

un archivo nombre_de_la_version_de_java.rpm, ejecutamos entonces rpm -i nombre_de_la_version_de_java.rpm y tendremos java instalado.

Normalmente estará en /usr/java/nombre_de_la_version_de_java/. Si no está aquí podemos ejecutar como root updatedb y luego hacer un

locate /bin/javac, para ver el directorio donde está java instalado.



Ahora ya está java instalado, pero si ejecutamos java nos saldrá esto:



libgcj-java-placeholder.sh



This script is a placeholder for the /usr/bin/java

master link required by jpackage.org conventions. libgcj's

rmiregistry, rmic and jar tools are now slave symlinks to these

masters, and are managed by the alternatives(8) system.



...




Esta no es la versión de java que necesitamos, para configurarlo lo mejor (tal y como dice el libgcj-java-placeholder.sh) es utilizar alternatives.

Alternatives nos permite tener distintas versiones de un mismo componente e intercambiar entre ellas de forma transparente, sin tocar archivos

de configuración o paths:



[root@equipo /]# update-alternatives

versiones alternativas 1.3.11 - Copyright (C) 2001 Red Hat, Inc.

Este programa puede que sea libremente distribuido bajo los términos de la

licencia pública de GNU.

uso: alternativas --install /> [--initscript /> [--slave /> alternatives --remove /> alternatives --auto /> alternatives --config /> alternatives --display /> alternatives --set />

opciones comunes: --verbose --test --help --usage --version

--altdir --admindir />

Lo que tenemos que hacer es añadir (--install) el nuevo java y para ello necesitamos saber la ruta del ejecutable de java:



[root@equipo /]# locate java | grep bin/java

/usr/sbin/javaconfig

/usr/bin/java

/usr/bin/javac

/usr/bin/java_cup

/usr/bin/java_cup-10.11

/usr/java/j2sdk1.4.2_13/bin/java-rmi.cgi

/usr/java/j2sdk1.4.2_13/bin/java

/usr/java/j2sdk1.4.2_13/bin/javac

/usr/java/j2sdk1.4.2_13/bin/javadoc

/usr/java/j2sdk1.4.2_13/bin/javah

/usr/java/j2sdk1.4.2_13/bin/javap

/usr/java/j2sdk1.4.2_13/jre/bin/java

/usr/java/j2sdk1.4.2_13/jre/bin/java_vm



El que nos interesa es /usr/java/j2sdk1.4.2_13/bin/java. Ahora simplemente hay que ejecutar el comando de instalación en el que le

decimos el nombre del enlace simbólico (/usr/bin/java) el nombre del paquete (java), la ruta del ejecutable java y la prioridad (300 por

defecto):



[root@equipo /]# update-alternatives --install /usr/bin/java java /usr/java/j2sdk1.4.2_13/bin/java 300



Para terminar comprobamos que ahora java utiliza el ejecutable que necesitamos y hacemos un java -version:



[root@equipo /]# update-alternatives --config java



Hay 2 programas que proporcionan 'java'.



Selección Comando

-----------------------------------------------

1 /usr/share/java/libgcj-java-placeholder.sh

*+ 2 /usr/java/j2sdk1.4.2_13/bin/java



Presione Intro para mantener la selección actual[+], o escriba el número de la selección:



[root@equipo /]# java -version

java version "1.4.2_13"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_13-b06)

Java HotSpot(TM) Client VM (build 1.4.2_13-b06, mixed mode)

[root@equipo /]#



Más información en:

http://www.yiluda.net/manual/linux/man/alternatives.html

http://blog.stevenkroon.com/2006/08/29/debian-update-alternatives/





powered by performancing firefox

Share/Save/Bookmark

30.12.06

PostGIS Funcionando

LLevaba bastante tiempo intentando configurar con éxito un PostGIS sin lograrlo, pero hoy por fin lo he conseguido. Hay varios sitios que me han servido de mucha ayuda, pero el que me ha servido de referencia principal ha sido una que se llama "Cómo instalar PostGIS en Kubuntu". Los pasos principales, son los siguientes:

  1. Instalar Postgres, en mi caso fue muy sencillo, simplemente desde synaptic instalé los paquetes necesarios.
  2. Descargar la última versión de Postgis desde su web (http://postgis.refractions.net/).
  3. Crear un usuario de postgres que gestione la bbdd
  4. Crear una base de datos (createdb) para ese usuario
  5. Configurar la base de datos creada para que sea espacial. Esto se hace ejecutando unos simples sql.
  6. Cargar datos con el comando shp2pgsql
  7. Verificar que la carga se ha realizado correctamente desde un cliente. Yo usé gvSIG, y qGIS.





powered by performancing firefox

Share/Save/Bookmark

13.12.06

OpenLayers

Buscando novedades en la página de GeoServer, me he encontrado con una interesante sorpresa, OpenLayers. Se trata de todo un API de JavaScript dedicado a crear clientes web de cartografía. Es de una simpleza brutal. Está todo hecho en cliente, y soporta WMS, WFS, GoogleMaps, YahooMaps, VirtualEarth, etc... Además soporta cualquier proyección. Está completamente documentado y testeado. Por supuesto OpenSource. En fin una maravilla, a priori. En cuanto pueda hago unas pruebas.





powered by performancing firefox

Share/Save/Bookmark