viernes, 9 de septiembre de 2016

Nuevo canal en Telegram

Desde ahora este blog tiene un canal en Telegram.
La URL es: https://telegram.me/aguasmenores

Twitter: https://www.twitter.com/aguasmenores
Google Plus: https://plus.google.com/+AguasmenoresBlogspotcom
Facebook: https://www.facebook.com/aguasmenores
RSS: https://feeds.feedburner.com/AguasMenores


Con Facebook hay complicaciones, así que por ahora la página está desactualizada. Este mismo post se acaba de publicar, así que problema solucionado. En un futuro indeterminado añadiré publicación de mensajes en RR.SS. de manera centralizada.

viernes, 2 de septiembre de 2016

Añadir la información del catastro a OpenStreetMap

Una manera rápida de ampliar el contenido existente en OpenStreetMap es usar los datos del catastro. En el catastro figuran las geometrías de las fincas de todas las localidades de España así como de los edificios construidos sobre las mismas y los usos de suelo.
Para acelerar el proceso de importación de datos del catastro a OpenStreetMap, una serie de programadores españoles crearon cat2osm2. Es una aplicación en Java que permite crear, a partir de los archivos descargados de la página web del catastro, los archivos XML en formato OpenStreetMap para tratarlos con JOSM. Desde JOSM podremos operar de manera habitual y subir las importaciones de catastro al servidor de OpenStreetMap.

Conceptos previos
Los datos de catastro tienen un formato distinto del aceptado por los servidores de OpenStreetMap. Para ello es necesario convertirlos a un formato aceptado por OpenStreetMap (abreviado, OSM).

El formato de catastro es un formato binario. El formato de OSM es XML. Este XML describe los distintos puntos que hay. Cada punto (llamado nodo) tiene unas coordenadas e ID, y varias etiquetas que añaden la descripción del nodo. Qué hay donde está el nodo.

Con cat2osm2, la aplicación Java para convertir datos de catastro al formato de OSM, convertiremos los datos de nuestro pueblo en un formato entendible por OSM.

Por último, con JOSM, el editor Java de OpenStreetMap, podremos ir abriendo las distintas parcelas urbanas, rústicas o mezcla de urbano y rústico para añadir más información, corregir algún nodo o agrupar distintas geometrías bajo un mismo edificio. Esto último es porque catastro también tiene registrado las distintas alturas de un mismo edificio, apareciendo como elementos anidados. Según la wiki de OSM, dichos elementos hay que ponerles la etiqueta building:part=yes y crear un área que siga la silueta que forman dichos elementos, con la etiqueta building=tipo de edificio. Por ejemplo:

Catastro no tiene la silueta de los edificios. Cada subparte del edificio con distinta altura tiene su propio área. Tú, como editor de OSM, debes agrupar dichos elementos bajo un mismo techo. Así pues, cada subelemento que aparece etiquetado como building, lo etiquetas como building:part. Luego creas una vía que comparta todos los nodos de la silueta que forman en conjunto y lo etiquetas como building. Claro, para mayor sencillez y rapidez, puedes crear la silueta y borrar todas las subpartes. Perderemos la posibilidad de representar en 3D los edificios, quedando un poliedro con tantas caras como lados tenga el área de la manzana (en el ejemplo, 5 caras).

En JOSM, tenemos en la ventana principal el área a editar. A mano derecha los recuadros con las etiquetas del elemento seleccionado así como las relaciones en las que está, si está en alguna. Por último, un par de recuadros indicando los conflictos de nuestra edición actual.
La barra de tareas tiene los botones de abrir, descartar datos, subir los datos actuales, buscar, preferencias, unir vias, cortar vias, invertir vias, etiquetas predefinidas más habituales para las vías, transporte, turismo, instalaciones, lugares históricos, y de cosas hechas por el hombre (entradas, torres o antenas, mástiles, fábricas, silos, tuberías, etc.). Es cuestión de echarle un vistazo. Termina siendo un programa de edición vectorial de dibujos, siendo los colores de los nodos las etiquetas que le pongamos.
La barra de la izquierda dispone de las herramientas para seleccionar y añadir nodos. También están los botones para mostrar u ocultar algunas de las ventanas de los paneles a la derecha del área de mapa en edición.

Una finca/manzana urbana
El área seleccionada es la silueta etiquetada como building. Las 3 subpartes interiores estan etiquetadas como building:part

Obtener datos de catastro y prepararlos para el editor JOSM
En la wiki de OpenStreetMap encontraréis  los pasos a seguir para descargar los datos de catastro de vuestro municipio. Dichos datos consisten en 4 archivos ZIP.
Luego os descargáis el JAR del programa cat2osm2 y lo ponéis en una carpeta de vuestra elección.
Un simple script como el siguiente en vuestro ${PATH} facilitará la ejecución de cat2osm2 desde la línea de comandos:

#!/bin/bash
java -jar ${HOME}/bin/cat2osm2.jar $@


Cat2osm2 como mínimo requiere Java 7. Una vez cat2osm2 está instalado, lo ejecutamos mediante el script:

nombre-script ruta/archivos/origen/ZIP/catastro -rslt MiPueblo

Los archivos convertidos de catastro a OSM (formato OpenStreetMap) los dejará en la carpeta MiPueblo del directorio actual, en el que hemos ejecutado cat2osm2. Es necesario indicar el directorio donde se encuentren los 4 archivos de catastro TAL CUAL se descargan de la web y para una única población.

Cat2osm2 genera archivos OSM individuales y también uno con todos los elementos de la población. Lo que son "manzanas" (edificios, áreas de usos de suelo, etc) , quedan guardados en la carpeta MiPueblo/masas. Éstas quedan clasificadas en 3 carpetas: rústica, urbana, urbana-rústica.
Lo que son elementos lineales como las calles y plazas, quedan en la carpeta MiPueblo/ejes.
Antes de abrir en JOSM ningún archivo, debido a un cambio en la forma de leer las fechas de este programa, hay que sanear los archivos OSM generados por cat2osm2.
El siguiente script descomprime el archivo OSM y elimina la parte del texto de la fecha que impide la apertura del archivo en JOSM:

#!/bin/bash for i in $@; do
    gunzip $i
    filename=$(echo $i | grep -oP '[a-zA-Z]*-[0-9]*-.osm')
    sed -i 's/T[0-9]*:[0-9]*+[0-9]*//g' $filename
    gzip $filename
done


Los archivos a modificar hay que pasarlos como parámetro. Si al script lo llamamos osm-fix-date, habría que ejecutarlo dentro de la carpeta donde tengamos los .osm.gz tal que así:

osm-fix-date *.osm.gz.

El script lo ponéis en una carpeta del ${PATH} y estará siempre disponible para invocarlo en cualquier carpeta en la que estéis.

Ejecutando JOSM

Una vez tenemos los archivos de las distintas parcelas/masas/manzanas listos, podemos abrir uno desde JOSM. JOSM tiene versiones para GNU Linux, Windows y OS X. Es un programa Java también. Ubuntu trae JOSM de serie en sus repositorios. La web de JOSM pone a nuestra disposición repositorios para Ubuntu que se mantienen actualizados. Ubuntu 16.04 se corresponde con el repositorio xenial. Añadir el repo e instalar de manera habitual. Este paquete instala los accesos directos necesarios para poder acceder desde el tablero de Ubuntu (y el dock si lo arrastráis al dock).

JOSM requiere Java 8. Ubuntu 16.04 incluye Java 8 y seguramente los repositorios de JOSM para versiones anteriores tengan la versión JOSM que funcione con el Java de esa versión de Ubuntu. En caso contrario, toca instalar Java 8.

Videotutorial
Por último, quisiera añadir un tutorial colgado en YouTube con un ejemplo de tratamiento de una "manzana" (una masa) previa inserción en OpenStreetMap.




El video comenta la existencia de plugins en JOSM así como la necesidad de modificar los datos de catastro ya que suelen incluir más nodos de la cuenta e incluso nodos no conectados. Con la ayuda de los plugins y un poco de maña, la manzana queda lista para ser puesta en OpenStreetMap. En Google Maps no encontraréis edificios a medias o un exceso de nodos (exceso de información) que vuelva lenta la página :)


Subiendo nuestras modificaciones a OpenStreetMap
Subir edificios y manzanas a OpenStreetMap no sólo significa añadir nodos individuales o geometría de edificios. También es añadir etiquetas que describan dicha geometría: si es un edificio, si es un polideportivo, una carretera, una farola, una tierra de cultivo, una granja, un almacén, una fábrica, un aparcamiento, una piscina, agua, el nombre, calle, número, código postal, población, etcétera.

Los datos subidos al servidor se pueden comprobar de manera inmediata en la propia web de OpenStreetMap. Desde la web se pueden corregir también las geometrías y añadir/modificar etiquetas. Es imprescindible comprobar que lo que se ha subido desde JOSM ha quedado en el servidor como uno esperaba.

Cabe decir que trabajar con JOSM y el servidor OpenStreetMap es un poco como trabajar con los servidores de control de versiones (Git, SVN, Mercurial, ...). Eso significa que pueden haber conflictos de versión. Para evitar conflictos, primero descargar el área a editar (Archivo->Descargar desde OSM). Luego podemos abrir la parcela obtenida mediante cat2osm2 y editarla al gusto (Archivo->Abrir...).

Para editar cualquier cosa, tanto con JOSM como en la web de OSM, se requiere darse de alta en la web de OSM. Luego dicho usuario será el que se use en JOSM.

JOSM permite múltiples capas de imagen, no sólo de datos:

Podemos cargar las imágenes de Catastro las cuales incluyen el número de masa/manzana y así cargar el archivo OSM correspondiente si estamos interesados en un área concreta de la población. En el video tutorial aparece también el uso de dichas capas.

OpenStreetMap permite añadir una gran cantidad de detalle a los mapas. Desde los edificios como aquí se detalla hasta árboles, farolas y fuentes. En el editor web se pueden ver fácilmente las categorías y objetos disponibles en nuestro idioma.

OpenStreetMap en modo edición
Barcelona, Parc de Pedrables/Palau Reial. Se han añadido incluso los caminos internos del parque. Lo mismo para el Campus de la Universitat Politècnica de Catalunya. También hay árboles, y otros puntos de interés como tiendas
OpenStreetMap (arriba) - Google Maps (abajo)
OpenStreetMap permite mostrar el mapa de distintas formas, por si te sientes abrumado. Las aplicaciones móviles también

En la Wiki de OpenStreetMap hay guías generales para etiquetar los objetos en OpenStreetMap. Por ejemplo, si tienes el área de terreno y el edificio, ¿pones la dirección a ambos?, ¿le añades el nombre a ambos?, ¿dejas la dirección en uno y pones el nombre a los dos?. Si tengo un edificio compuesto por varios bloques, ¿los junto en un multipolígono o los dejo separados porque ya están dentro de un terreno?
Se pide que al menos la geometría quede bien puesta.

martes, 5 de julio de 2016

Steam Controller

Veamos el exterior de la caja.


SteamOS, Windows 7, Mac OS 10.10. Steam Machines compatible.


Juega a todos tus juegos de Steam en tu sofá.


Enlace Web. Muy minimalista, sin duda alguna. Sencillo. Ahora veamos el interior.


El steam controller.


Pilas alcalinas y transmisor inalámbrico.


Guía rápida y manual de instrucciones.


Cable USB y base para conectar el receptor inalámbrico. Esa base tiene peso, no es una simple carcasa de plástico para unos conectores.


El mando en sí. De frente.  Esos discos son hápticos y táctiles. Además, tienen un clic bastante marcado, y en mi opinión con mejor tacto que el mando de la 360. Eso sí, requiere de mayor fuerza para cada pulsación. Algo así como el de una PS2.


Por detrás. Vemos los gatillos (aletas) adicionales en la tapa de las pilas. 2 botones extra.


El lateral con el conector micro USB.


El compartimento para poner las pilas. La tapa de las pilas sirve como botones adicionales.


Y por último, la guía rápida. Poner pilas, conectar receptor inalámbrico, ver el mando iluminado :D



Impresiones iniciales: el joystick bien. Los discos táctiles son plástico duro, pero no abrasan los dedos ni mucho menos. Los botones estilo X360. El peso del mando con un par de pilas recargables eneloop es el siguiente: 283g.
Con el mando tal y como viene, sin configurar nada, deslizas el dedo por el táctil derecho y vibra. Uuuh.

lunes, 23 de noviembre de 2015

Wireshark 2.0 Ubuntu 14.04 LTS package (AMD64)

For all of those who want an Ubuntu package for installing the latest version of Wireshark in their systems, they can download it from here. Download the tarball, decompress and execute with "sudo" the included script. Afterwards, logout and login again.

If you do not want to download this package and build it from source, follow the instructions on Wireshark's webpage. Beware, you will need to download this patch and put it in debian/patch directory in order to compile it. You will also need to create a file "geoip_db_paths" inside "debian" directory with the system path to geoip database ("/usr/share/GeoIP"). Of course, you will also have to download all the build dependencies.

But remember: uninstall this package if you find a repository with this version. Is preferably to have packages synched with repos.





Para todos aquellos que quieren un paquete Ubuntu para instalar la última versión de Wireshark en sus sistemas, pueden descargarlo de aquí. Descarga el tarball, descomprímelo y ejecuta con "sudo" el script incluido. Después cierra sesión y vuelve a hacer login.

Si no quieres descargar este paquete y compilarlo desde el código fuente, puedes seguir las instrucciones de la página de Wireshark. Atención: necesitas descargar este parche y ponerlo en el directorio debian/patch para poder compilar el paquete. También tendrás que crear un archivo "geoip_db_paths" dentro de "debian" con la ruta a la base de datos geoip del sistema ("/usr/share/GeoIP"). Por supuesto, también tendrás que descargarte todas las dependencias de compilación.

Pero recuerda: desinstala este paquete si encuentras un repositorio con esta version. Es preferible tener paquetes sincronizados con los repositorios.

He escrito este post en inglés para darle mayor alcance, dado que el PPA dedicado a desplegar las nuevas versiones de Wireshark todavía no ha sido actualizado.




martes, 2 de septiembre de 2014

Actualizando el meme

Antes

Después
El sistema de distribución digital Steam ha cambiado su logotipo. El padre maltratador se ha hecho la cirugía estética y presenta una nueva cara acorde con lo que se avecina: