jueves, 19 de mayo de 2011

Importando PDF empíricamente a OpenStreetMap


Por petición de un amigo scout nuevo mapero y emocionado con la liberación de la información geográfica de su pais me pongo en la tarea de explicar como convertir empíricamente archivos PDF al formato XML de OSM para luego ser importados usando JOSM y su plugin PDFimport.

Introito Exculpatorio:
Siempre, siempre que se pretenda hacer una importación de datos a OpenStreetMap se deben seguir unas reglas técnicas y de conductas estampadas en las Import Guide Lines por favor léalas antes de continuar.

Antes de empezasr asegurese de tener instalado JOSM y los plugin PDFimport y piclayer. En ocasiones es posible conseguir mapas o información geográfica en formato PDF, tomaré en cuenta únicamente los archivos pdf que han sido generados a partir de vectores y no los típicos PDF que encapsulan una imagen escaneada, para esos PDF no es este manual,... o quizas si, aplicando correctamente :-)

Este tipo de archivo está en capacidad de almacenar información vectorial y en algunos casos estructurada si su origen lo esta y si se hace de programas de manejo vectorial como los típicos CAD.

El primer paso es convertir temporalmente este archivo temporal en una imagen o un archivo raster típico JPEG (mas conocido como .jpg) para ello usaré uno de mis programas gráficos favorito El GIMP que es libre y se puede instalar en GNU/Linux y en las diferentes mutaciones de Guindos, el Gimp nos permite abrir convertir un PDF en imagen y ajustar algunos parámetros como su resolución, tamaño y elegir entre las páginas que queremos importar.

Luego de esto abrimos el JOSM y nos aseguramos de tener el plugin piclayer y PDFimport instalados.

Descargamos la zona donde georeferenciaremos el PDF y las trazas GPX que existan en los servidores de OSM también podemos ayudarnos con imagénes satelitales de BING o Yahoo si existen en la zona.

Usando el plugin piclayer, llamamos el archivo .jpg que convertimos con El Gimp y lo ajustamos a la zona donde queremos hacer la importación. Esta calibración de la imagen la debemos guardar haciendo click derecho sobre la capa de la imagen y escogiendo la opción de guardar calibración.

Con la herramienta de edición del JOSM o la letra (A) trazamos un rectángulo por el "borde" del papel de la imagen, guardamos este vector en formato .osm.

Desde el menú [Herramientas] [ Importar archivo PDF] lo que abrirá el dialogo de importación, lo primero es cargar el archivo PDF y elegir el sistema de coordenadas WGS 84 para la importación.

Ahora viene la parte "balseada del pasillo" debemos ubicar al esquina inferior izquierda y superior derecha para que el plugin pueda georeferenciar el archivo PDF. la mayoría de las herramientas del JOSM seguirán activas, lo que usaremos a nuestro favor para simplificar el proceso.

1. Marcamos con el cursor la esquina inferior izquierda de la previsualización del PDF y cliqueamos en [Tomar X y Y del nodo seleccionado] luego hacemos lo mismo con la esquina superior derecha.

3. Cambiamos a la capa donde dibujamos el rectángulo y seleccionamos el nodo inferior izquierdo del mismo, tomamos las coordenadas del nodo y las ponemos en el campo Este y Norte, hciendo lo mismo con el nodo de la siguiente esquina.


4 Hecho esto solo queda oprimir el botón [Guardar ] o [Lugar] el primero guardará el pdf en formato .osm y el segundo lo ubicará directamente en el área de trabajo.


El proceso nos habrá importado el PDF con rótulos, formato y muchas cosas innecesarias y perjudiciales en OSM, así que queda el trabajo de "limpieza" del archivo antes de taguearlo y subirlo al servidor de OSM.

El trabajo aun que se tiene que hacer manual, se puede utilizar la herramienta de búsqueda de JOSM para hacerlo de manera mas eficiente, se puede buscar tanto por PDF_layer como por el color de los vectores que queramos eliminar, esto nos evitará muchas horas de trabajo de limpieza.


Usando la misma herramienta se pueden seleccionar objetos homogéneos como los PDF_closed y aplicarles etiquetas de área y etc.

Nota Final: la calidad y uso de los datos dependen de la calidad del origen, en algunas ocasiones nos damos cuenta después de la importación que los datos no estaban suficientemente bien estructurados y que lo que se importará será mínimo pero en otros tendremos buenas fuentes y quizás podamos utilizar todas las manzanas de un pueblo área, es cuestión de probar. Feliz mapeo!

martes, 17 de mayo de 2011

Habilitar el Geocoder de Google en Ushahidi para buscar ciudades, pero usando el mapa de OpenStretMap



Hay muchas ventajas de usar los mapas de OpenStreetMap en ushahidi, quizás la mayor de ellas es el tema de licencia de la información, pues al contrario de los términos de uso de Google/maps, OSM permite usar la instancia para cualquier propósito, por lo tanto no es aconsejable por ningún motivo el uso e mapas de Google en ushahidi pues es muy fácil violar esos términos de licencia e invalidar el propósito del proyecto.

De las pocas desventajas al usar OSM y no Google maps es queda inútil el buscador de ciudades que funciona con el geocoder de Google, pero de eso se trata este minimanual.

Dicho geocoder funciona como otros servicio del gigante de la G con una Key del API esta se genera desde su sitio: http://code.google.com/intl/es-419/apis/maps/signup.html
con unos sencillos pasos, la Key se usa en la configuración del mapa cuando se usará el mapa de Google, pero ahora se trata de "decirle" a ushahidi que esta usando esos mapas, cuando en realidad usa lo de OSM :-).

Lo único que hay que hacer es editar el archivo "application/views/reports_submit.php" de la instancia de ushahidi y aproximadamente en la linea 22 agregar la siguiente linea :
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=&lt;b&gt;ABQIAAAVgTGFTYGIUGY8_zbjbdlhQyqIKzKJIJH6778HGGuygujhRcLUrOizgZ0WoVhrbiXIGrAqpD4Q&lt;/b&gt;" type="text/javascript"></script>

Donde "ABQIAAAVgTGFTYGIUGY8_zbjbdlhQyqIKzKJIJH6778HGGuygujhRcLUrOizgZ0WoVhrbiXIGrAqpD4Q" es la key que generó google para el sitio.
Con esto es suficiente para funcione el buscador de ciudades en la creación de nuevos reportes.








miércoles, 11 de mayo de 2011

Instalando mapas basados en OpenStreetMap en GPS Garmin desde GNU/Linux

Bueno, esta era una tarea pendiente, pero ya la estoy cumpliendo:

Desde hace algún tiempo nuestra empresa http.//qwerty.co genera mapas para dispositivos Garmin basados en los datos de OpenStreetMap, regularmente publicamos la versión general pero también podemos generar mapas a medida para proyectos especiales como por ejemplo con curvas a nivel o fotografías vectorizadas.

Los anuncios y links de descarga los publicamos
regularmente por la lista de OSM Colombia y por twitter @fredy_rivera mucha gente pregunta como se instalan estos mapas en los dispositivos Garmin desde GNU/Linux o
sin usar el software propietario de Garmin, pues la verdad es muy sencillo :

Hay dos clases de dispositivos Garmin que soportan mapas, unos sencillos que no poseen una tarjeta de memoria extraible y los que si la poseen, los que usan memoria externa normalm
ente tienen una (x) en su referencia como el Map 60csx o el Etrex vista Cx la mayoría de los dispositivos modernos de Garm
in tienen esta capacidad.

Instalar los mapas en ellos es absurdamente sencillo, pus solo hay que copiar el archivo gmapsupp.img a una
carpeta /Garmin en la raiz de la memoria, esta operación se puede hacer por medio del cable de datos y configurand
o la interfaz en "Almacenam. masivo USB"(sic) y montan
dolo en el pc como cualquier otra memoria USB o bien retirando la mini SD del GPS y conectándola a un adapt
ador de memorias al pc, basicamente es lo mismo que transmitir infomación del PC a un telefono celular.

Para los dispositivos que no tienen memoria extraible o no pueden ser montados como dispositivo de almacenamiento recomiendo usar el programa QlandkarteGT muy util p
ara comunicarnos con nuestro d
ispositivo, el programa esta disponible en los repositorios de Debian y puede ser instalado con el comando:

yo@mipcera#apt-get install qlandkartegt

En gnome el programa crea un acceso dentro del menú "Accesorios" o bien se invoca desde la line de comandos con:

yo@mipcera#qlandkartegt

El programa se puede us
ar como un usuario normal, no necesita ser root o administrador, sin embargo puede que el fichero /dev/ttyUSB0 o similar donde se conecta el dispositivo no tenga permisos de escritura, por ello hay o que ejecutar el programa desde root o modificar los permisos para que el usuario norm
al pueda escribir en el fichero.

Luego hay que ir al [Menu] Setup General y en la pestaña [Device & Xfer] seleccionar el puerto y el tipo de GPS que tenemos.
Hecho esto vamos a [File] Load
map y seleccionamos nuestro archivo osmmap.tdb , luego tenemos que seleccionar un archivo con extensión .img ejemplo gmapsupp.img

Quizas sea necesario seleccionar la opcion [Map..] o [F1] del menu lateral para ver las opciones del mapa.
Seguido, debemos seleccionar l
os "trozos" de mapa que querem
os subir al GPS esto se hce con la tecla [F5] y click sobre cada trozo.

Con la tecla [F9] empezamos a subir el mapa al GPS

Esposible que marque un error sobre el modulo "garmin_gps" pero la solución es muy sencilla, simplemente abrimos una terminal y damos el comando:

yo@mipcera#rmmod garmin_gps

Terminado el proceso, ya tenemos el mapa montado en nuestro dipositivo :)

domingo, 8 de mayo de 2011

Trucos para mapear edificaciones en OpenStreetMap usando JOSM



Si has llegado hasta aqui, sabes que es OpenStreetMap, JOSM y edificaciones, si no es así solo haz click en los links para saberlo :)

Trazar las edificaciones rurales, aunque es muy gratificante cundo se ven los caseríos terminados, suele ser muy engorroso por la repetición de pasos para "hacer" cada "casita" por ello quiero compartir algunos trucos que me ayudan a hacer el proceso mas eficiente:

Herramienta de construcción de edificios (W)
Es un plugin de JOSm que nos permite construir el edificio de la misma forma como se traza cualquier otro elemento, pero nos agrega uhn par de ventajas extras: a. el edificio que da ortogonal o recto de una vez, b. automáticamente pone la etiqueta building con el valor yes. una vez instalado el plugin se activa pulsando la letra (w).

Copy-pegar edificios (Ctrl+c, Ctrl+v)
Después de crear el primer edificio este se puede copiar (Ctrl+v) y pegar (Ctrl+v) para construir otro, hay que tener en cuenta que el lugar d
onde se pegará es justo donde apunta la el cursor en ese momento.

Escalar (Alt+Ctrl+Click+arrastrar)
Con esta instrucción se puede esclalar el edificio copiado para adaptarlo a un nuevo tamaño, lo que nos evita volver a trazarlo para edificios diferentes.

Rotar (Mayúscula+Ctrl+Click+arrastrar)
Es una instrucción similar pero que permite rotar toda la edificación para ajustarla, ya que en el área rural las edificaciones no suelen estar alineadas, con esta herramienta nos ahorramos mucho trabajo.

Organizar edificios irregulares (Q)
En muchas ocasiones se necesita dibujar edificios por ejemplo en forma de "L" por eso es bueno conocer que después de trazarlo, lo seleccionamos y oprimimos la letra (Q) con lo cual el edificio o se ortogonal-izará quedando la forma perfecta de la "L" , rectángulo o cuadrado.

lunes, 13 de diciembre de 2010

Mapeando en crisis

Ejercicio en Prado Tolima
mapa de prado tolima
El día sábado 4 de diciembre de 2010 se realizó una actividad de cartografía y verificación al municipio de Prado Tolima en respuesta a la petición que el SR Jeffrey Villaveces de OCHA Colombia realizó a la comunidad de OpenStreetMap en vista de la declaratoria de alerta roja por la apertura de compuertas del la represa de Hidroprado debido al aumento del nivel provocado por la temporada de lluvias.

Preparación:
Una vez recibida la solicitud de apoyo, la comunidad de maperos empezó a rastrear la zona usando las imágenes aportadas por Bing y se conformo un paquete de información preliminar, vectorizada manualmente que necesitaba la verificación en el sitio y la recolección de información no deducible de las imágenes aéreas.
Antes de llegar al pueblo se contacto con las autoridades locales y se coordinó la operación con el Sr Hector German Yara Cardozo secretario General y de Gobierno del municipio.

Equipo:

Maperos del Tolima
José Gregorio Hernandez
Sonia Miranda

Coordinación:

Recursos:
Transporte [Suministrado por campuscanino.com]
Combustible y refrigerios [Oncomedic ltda]
5 Receptores GPS [OSMF- gpstogo]

Desarrollo equipo local:

A la llegada al municipio de prado el señor Yare se indagó al sr Yare sobre la situación y la percepción del riesgo a lo cual respondió con tranquilidad y que no se esperaban víctimas debido a la situación de la represa, no obstante se mostró interesado en el ejercicio y se presto a colaborar con el equipo, el municipio no tenía establecidas rutas de evacuación ni sitios de posible refugio en caso de una emergencia, tampoco contaba con mapas actualizados usables en situación de emergencia, por ser dia no laborable en el pueblo, fue demorado conseguir los pocos mapas existentes para verificar la información.

Se dotó a un patrullero de la policía con un GPS quien en una motocicleta recorrió toda las calles del pueblo, validando la malla vial, se le recomendó recorrer la vías en el sentido permitido para poder tomar información del sentido de las vías, no obstante afirmo que todas las calles del pueblo son doble vía.

El equipo de maperos se desplazó hacia los puntos de interés y tomó coordenadas y llenó walking-papers con la información requerida. igualmente Edwin Alexander Montoya quien es especialista en salud y K-SAR se entrevistó con el director del hospital para conocer la situación al respecto.

El coordinador se desplazó en motocicleta con el Sr Yare en busca de zonas críticas y posibles lugares de evacuación tomando medidas de altura con el GPS, también fue del interés del funcionario mostrar la zona de influencia del Rio Magdalena en el municipio, donde ya han desaparecido varias viviendas, se encuentran otras en riesgo y hay una escuela en inminente riesgo de afectación por la inestabilidad del terreno y el desbordamiento del río que ya ha tomado mas de doscientos metros de tierra.

Equipo remoto:
Desde Duitama el equipo de maperos en crisis coordinado por Leonardo Gutierrez trabajo en la vectorización de la imagen de Bing, marcando las zonas de cultivas e hidrografía de la region.



Resultado:


Hoy se puede apreciar los avances del mapa de la zona:

El mapa seguramente se convertirá en una herramienta util para la los habitantes de la zona.

miércoles, 7 de julio de 2010

Api para la presentación de minimapas de localidades de Colombia basada en OpenStreetMap.org


QWERTY LTDA


Es una conexión que permite la generación de minimapas estáticos de localidades colombianas basada en la información de OpenStreetmap.org, el api puede devolver información en varios formatos conforme a la petición hecha





1 Parámetros

Para ser llamada la api se necesita invocar los siguientes parámetros separados por comas o por barras "/ " cuando queda algún parametro vacio es mejor usar las comas "," como separadores: http://qwerty.co/api/geocol/libano/tolima/marcada,300,300,12,html

1.1 URL

La pimera parte es la URL de la api: http://qwerty.co/api/geocol/

1.2 Municipio

El segundo parámetro se refiere al municipio que se desea consultar: http://qwerty.co/api/geocol/libano/

1.3 Departamento

El tercer parametro es el departamento a que pertenece dicho municipio: http://qwerty.co/api/geocol/libano/tolima/

1.4 Centro poblado

Como cuarto parámetro se puede pasar el nombre de un centro poblado o hito geográfico para precisar la ubicación: http://qwerty.co/api/geocol/libano/tolima/marcada

1.5 Ancho de la Imágen

Por el quinto parámetro se puede pasar el ancho de la imagen para el caso de la respuesta img o html por omisión este valor es igual a 500 pixeles: http://qwerty.co/api/geocol/libano/tolima/marcada,300

1.6 Alto de la imágen

El sexto parmetro es la altura de la imagen para las espuestas html e img, por omisión este valor es de 200 pixeles: http://qwerty.co/api/geocol/libano/tolima/marcada,300,300

1.7 Zoom o escala

el séptimo parámetro es el zoom o la escala en un valor entero de 1 a 18, según la especificación de OSM (ver Link) : http://qwerty.co/api/geocol/libano/tolima/marcada,300,300,12

http://wiki.openstreetmap.org/wiki/ES:FAQ#.C2.BFCu.C3.A1l_es_la_escala_cartogr.C3.A1fica_para_un_nivel_de_zoom_particular_del_mapa.3F

1.8 Respuesta

El octavo parámetro es la forma en que deseamos que sea devuelta la información básicamente la api devuelve tres tipos de respuestas:

1.8.1 html

Por defecto devuelve codigo HTML con la imágen del mapa y datos de su localización y código DANE o divipola, tambien un link para ampliar la presentación del mapa directamente en la web de OpenStreetMap.org

<img src="http://dev.openstreetmap.de/staticmap/staticmap.php?center=4.892335561,-75.070536605&zoom=12&size=300x300&maptype=mapnik&markers=4.892335561,-75.070536605,red-pushpin" alt=' Líbano,TOLIMA,La Marcada [ lat: 4.892335561 Lon: -75.070536605 ] Codigo DANE divipola: 73411' title=' Líbano,TOLIMA,La Marcada [ lat: 4.892335561 Lon: -75.070536605 ] Codigo DANE divipola: 73411'/> <br><font size='-2'> Líbano,TOLIMA,La Marcada [ lat: 4.892335561 Lon: -75.070536605 ] Codigo DANE divipola: 73411</font> <a href='http://www.openstreetmap.org/?mlat=4.892335561&mlon=-75.070536605&zoom=12&layers=B000FTF' target='map'>Ampliar mapa</a>


http://qwerty.co/api/geocol/libano/tolima/marcada,300,300,12,html

Lo cual se mostrará como :

 Líbano,TOLIMA,La Marcada  [ lat: 4.892335561 Lon: -75.070536605 ]  Codigo DANE divipola: 73411

Líbano,TOLIMA,La Marcada
[ lat: 4.892335561 Lon: -75.070536605 ]
Codigo DANE divipola: 73411
Ampliar mapa

1.8.2 img

Devuelve una URI de para ser incluida en una etiqueta <IMG> de HTML, puede ser usada de la siguiente manera: <img src='http://localhost/api/geocol/libano/tolima/convenio/500,100,8'>

http://qwerty.co/api/geocol/libano/tolima/marcada,300,300,12,img

1.8.3 json

Regresa un objeto JSON que puede ser recorrido o leido desde una aplicación foránea del tipo:

{LAT:4.892335561,LON: -75.070536605, DEPARTAMENTO: TOLIMA , MUNICIPIO: Líbano, PUNTO: La Marcada, CODIGO_DANE: 73411,MAPA:http://dev.openstreetmap.de/staticmap/staticmap.php?center=4.892335561,-75.070536605&zoom=12&size=300x300&maptype=mapnik&markers=4.892335561,-75.070536605,red-pushpin}

http://qwerty.co/api/geocol/libano/tolima/marcada,300,300,12,json


2 Permiso de uso

En la presente etapa beta, se permite su uso con fines personales y humanitarios, para usos comerciales por favor comuniquese con correo@qwerty.com.co para solicitar un permiso especial.


3 Contacto
Las sugerencias y observaciones serán bien recibidas por el desarrollador: fredyrivera@qwerty.com.co

jueves, 29 de abril de 2010

El estado del mapa en Colombia después del SOTM

El año pasado tuve la oportunidad de asistir al SOTM gracias una beca otorgada por el OSI, allí compartí la experiencia de Colombia con los maperos del mundo que se unieron en el evento mas importante de la comunidad OpenStreetMap.org.

El haber asistido a este evento profundizó aun mas mi compromiso con esta comunidad cuya meta es liberar la información geográfica del planeta, allí compartimos con colegas con quienes dialogamos e intercambiamos experiencia que dieron como resultado las mejoras en la difusión y en la calidad del mapa.

Luego de la experiencia en el SOTM tracé el plan de dedicar por lo menos una hora al día a los asuntos de OpenStreetMap lo cual he cumplido con creces, pues muchos de mis días se pasan casi completos respondiendo emails, consultas y asistiendo a reuniones con instituciones o grupos representando a la comunidad.

Ya considero parte de mi trabajo asistir a cualquier parte del pais donde quieran escuchar de OSM, coordinar talleres y fiestas de mapeos en algunas ciudades entre las que se destacan: Medellín, Cucuta, Neiva, Ibagué y Bogotá.

En particular en lo que va del año 2010 mi trabajo se ha intesificado, pues hemos participado en dos crisiscamp en apoyo a Haití y Chile, se ha trabajado conjuntamente en pruebas pilotos con el Departamento Nacional de Estadística DANE y hemos sido invitados a ser parte del GTMI de OCHA Colombia con quienes hemos trabajado conjuntamente en la liberación de mas de 50.000 puntos georeferenciados que ya han sido migrados a OSM con ellos tambien realizaremos en el día de mañana la conferencia " Licencias Libres para el uso de la información técnica en la atención de desastres y emergencias Humanitarias"

Espero este año seguir trabajando y dedicando buena parte del tiempo a este proyecto, lo mismo que a esta comunidad que espera tanto de mi y con la cual seguimos avanzando en la liberación de la información geográfica de nuestra patria.