Varios proyectos de Software Libre en los que hay personas participando desde distintas partes del mundo incluyen en sus páginas web un mapa del mundo con la localización de los diferentes miembros del proyecto.
Esto se puede ver en páginas web como:
Este efecto es muy sencillo de conseguir usando el programa xplanet. Este programa sirve para renderizar la imagen de un planeta en una ventana X o en un archivo.
Lo primero que haremos será instalar el programa en el ordenador. En debian esto es muy sencillo, basta con hacer:
apt-get install xplanet xplanet-images
Seguramente otras distribuciones tengan disponible este programa en su sistema de paquetes. En cualquier caso, el código fuente original se puede obtener bajo licencia GNU GPL desde la página web:
http://xplanet.sourceforge.net/
A continuación crearemos un directorio en el que crearemos los ficheros necesarios para fabricar nuestro mapa. Xplanet, al menos en la version que se distribuye con Debian, busca primero los archivos necesarios en el directorio local, y si no los encuentra es cuado pasa a buscarlos al su repositorio de datos en /usr/share/xplanet/.
mkdir map
cd map
Xplanet dibuja de diferente forma las zonas del planeta donde es de día, y aquellas en las que es de noche. Para ello usa los ficheros earth.jpg y night.jpg. Para evitar que nos dibuje una zona de sombra en nuestro mapa, crearemos de momento un enlace simbólico en nuestro directorio de trabajo, de tal forma que la imagen de noche sea igual que la del día:
ln -s /usr/share/xplanet/images/earth.jpg night.jpg
Ahora podemos ver el resultado del mapa que tenemos por el momento:
xplanet -window -projection rectangular -geometry 600x300
A continuación vamos a poner los puntos que queremos marcar en el mapa. Para ello copiaremos en nuestro directorio de trabajo el fichero de configuración del programa y lo modificaremos a nuestro antojo. Como ya he comentado, Xplanet primero buscará el fichero en el directorio local y, solamente si no lo encuentra, irá a buscarlo a su directorio global en /usr/share/xplanet.
cp /usr/share/xplanet/config/default .
Vamos a decirle que busque los puntos que queremos marcar en el fichero lugares.loc. Para ello modificaremos la copia local del fichero default para incluir la siguiente línea:
marker_file=lugares.loc
Y crearemos un fichero lugares.loc con las coordenadas geográficas de los puntos que queramos marcar. Por ejemplo:
40.4167 -3.7167 "Madrid"
41.4167 2.1667 "Barcelona"
37.7667 -122.4167 "San Francisco"
40.7000 -74.0000 "New York"
19.4000 -99.1500 "Mexico, DF"
52.5333 13.4167 "Berlin"
Para averiguar las coordenadas geográficas, podemos hacerlo mediante un GPS, o mediante numerosas páginas web desde las que podemos obtener esos datos:
Con esto, cuando ejecutemos de nuevo el comando xplanet, veremos marcados los puntos señalados en ese fichero:
xplanet -window -projection rectangular -geometry 600x300
Podemos usar mapas diferentes al que tiene el Xplanet por defecto, sin mas que poner el fichero earth.jpg que deseemos en el directorio actual. Hay diversos mapas que se pueden descargar desde:
http://www.radcyberzine.com/xglobe/index.html#maps
Solamente nos tenemos que descargar el mapa que queramos, y ponerlo en el directorio actual, el de trabajo, con el nombre earth.jpg. Asimismo, haremos que el mapa nocturno sea ese mismo:
rm ./night.jpg
ln earth.jpg night.jpg
Hay que darse cuenta, de todas formas, que para que todo vaya bien deben tener todos el mismo origen de coordenadas. En el caso de los mapas de esta pagina, todos parecen correctos excepto uno, "The Simple Grid Map", que esta desplazado 10 grados. Corregirlo, teniendo ya bajado el mapa y puesto con el nombre de earth.jpg, es sencillo de todas formas:
rm ./earth.jpg
wget -t 0 -c http://www.radcyberzine.com/xglobe/simple_grid_1200.jpg
mv simple_grid_1200.jpg earth.jpg
xplanet -projection rectangular -geometry 1200x600 -longitude -10 \
-output ../new_earth.jpg -num_times 1
mv new_earth.jpg earth.jpg
Nos queda nada mas que cambiar el color, tipo y tamaño de las letras. El color hay que cambiarlo desde el fichero ./default con cualquiera de las siguientes formas:
marker_color=yellow
marker_color=0x00ffff
marker_color={0,255,255}
Se pueden usar como colores textuales los que aparecen en el archivo:
/usr/share/xplanet/rgb.txt.
El tipo de letra y su tamaño lo cambiaremos con los atributos -font y -fontsize:
xplanet -window -projection rectangular -geometry 600x300 \
-font=/usr/share/fonts/truetype/ttf-bitstream-vera/VeraSeBd.ttf \
-fontsize=14
Si lo que queremos es escribir el resultado a un fichero, en lugar de a una ventana, basta con hacer:
xplanet -projection rectangular -geometry 800x400 \
-font=/usr/share/fonts/truetype/ttf-bitstream-vera/VeraSeBd.ttf \
-fontsize=14 -output mymap.png -num_times 1
Tambien podemos personalizar los diferentes puntos mediante imagenes y colores identificativos, poniendo lugares.loc de la siguiente forma:
40.4167 -3.7167 "Madrid" image=madrid.png color=red transparent={255,255,255}
41.4167 2.1667 "Barcelona" image=barcelona.png color=red transparent={255,255,255}
37.7667 -122.4167 "San Francisco"
40.7000 -74.0000 "New York"
19.4000 -99.1500 "Mexico, DF"
52.5333 13.4167 "Berlin"
Se pueden obtener scripts para hacer mas cosas y muy interesantes con Xplanet en:
http://joffie.selwerd.nl/xplanet/
|