domingo, 16 de septiembre de 2012

La trampa del Hardware en los receptores GPS

Saludos a tod@s.

En esta entrada no traigo un manual sobre un programa o algo parecido. Este articulo busca advertir sobre un problema que me ha pasado.

Imagínate la siguiente situación. Compras un súper radio para escuchar emisoras AM/FM. El manual dice que sirve para eso, el vendedor también  lo indica,  tu emocionado, lo compras. Cuando recibes el radio, revisas el manual, lo prendes, sintonizas una emisora AM, y todo ok, pero cuando tratas de sintonizar una emisora FM!!!!...Salta ese mensaje que no te esperabas, "por favor inserte el serial de activación de esta función".

Ese mensaje "por favor inserte el serial de activación de esta función", es lo que llamo "La Trampa del Hardware".

La verdad me parece algo muy triste, confuso y engañoso, que se ve mucho en los receptores GPS (desde ahora GPS). Se compra un GPS que supuestamente sirven para tomar datos L1 raw, L1/L2, L1/GLONASS, RTK, etc, pero que solo seria posible con los seriales adicionales para poder usar esas características. Engañoso porque no es claro desde el principio y sobre todo porque un equipo de estos, vale unos USD $ 3.000, y los seriales para activar las otras funciones valen mas o menos USD $ 1.000, ojo!!!, cada serial. 

Me pregunto, quien quiere compra un GPS, que supuestamente sirve para todo, pero no lo puedo utilizar sino compro los seriales adicionales. Aclaro que no estoy en contra de que esas características tengan su valor, sea cual sea,  lo que me molesta de todo esto es que vendan en GPS por un valor considerable, y que la activaciones cuesten tanto como el equipo. A demás no es claro este tema de la activaciones de funciones por seriales en los manuales o antes de la venta, pereciera que su primer interés es vender el equipo, y después como se hizo semejante inversión casi quedas obligado a comprar los seriales para utilizar el GPS al maximo. 

Para finalizar esta reflexión, te recomiendo que documentes bien el equipo que quieres comprar (sea cual sea), pregunta por todas la funciones que trae, si están activas o necesitas de seriales o programas especiales que solo lo vende quien desarrolla el equipo, pide que prueben el equipo con todas las funciones, recuerda que si es por tu concepto que compran una herramienta, y luego te das cuenta que necesitas comprar cosas adicionales, no vas a quedar bien parado, también ten presente, que "La Trampa del Hardware", es muy  común en la mayoría de los equipos para trabajos especializados.

Espero que muy pronto podamos tener opciones al estilo gvSIG, Qgis, Mapserver, Geoserver, Postgres+Postgis, OpenLayers, Spatialite, Grass, OrfeoToolbox, en cuanto a dispositivos o herramientas para tomas de datos, en otras palabras lo que por ahí, ya se conoce como el OpenHardware...

Espero les sirva esta información.

miércoles, 6 de junio de 2012

Clasificación No Supervisa gvSIG y Condicional en la Calculadora Raster

En este ejemplo se hace una clasificación No-Supervisada con gvSIG y Sextante y después solo se extrae la cobertura de interés por ejemplo los cuerpos de agua.
Un poco de teoría. Existen diferentes métodos o técnicas que permiten extraer los elementos presentes en una imagen. Para nuestro caso hablo de las cobertura en una imagen de satélite. Esos métodos de clasificación se agrupan en dos: supervisados y no supervisados, a nivel general.

Clasificación supervisada[1]
Este tipo de clasificación supone que se tiene un conocimiento de la zona, osea somos capaces de proporcionar o indicar cuales son la muestras (pixeles en diferentes bandas) para entrenar el algoritmo. Luego del entrenamiento el clasificador es capaz de determinar a que grupo o clase pertenecen el resto de elementos (pixeles), y así generar una capa que representa, por ejemplos las coberturas de una zona.

Clasificación no supervisada[1]
A diferencia de la supervisada se supone que no contamos con conocimiento de la zona, por lo que no podríamos entrenar los algoritmos para la clasificación supervisada. En general en este tipo de clasificación parte de la propiedades estadísticas y de vecindad que tiene la información (pixeles en diferentes bandas) y se van agrupando formando clases de manera iterativa. La clasificación no supervisada se la suele llamar también clustering(agrupamiento).

Veamos los pasos.

1- Abrimos gvSIG y cargamos nuestra imagen de satélite. Para este ejercicio utilizo una imagen Landsat, realizo una composición RGB(432).

2- Abrimos Sextante y buscamos Herramientas de análisis para capas raster/Clasificación no supervisada(clustering)...

3- La configuramos así, en la pestaña Parámetros recomiendo seleccionar tres bandas, para este ejercicio la 4, la 3 y la 2. En numero de clases tomo 10 pero dependiendo de la imagen pueden ser menos o mas. Solo tener en cuenta que es mejor que el clasificador agrupe lo mas acertado posible y esto se logra con un buen trio de bandas y suficientes clases. En otras palabras si mi me interesan tres clases de la imagen es mejor clasificarla en 7 y después escoger la clases que me forma mis elementos de interés.

4- en la pestaña Parámetros Región de Análisis la opción que mejor resultado me  proporcionado es  utilizar la extensión de otra capa, después de esto pulsamos el botón aceptar.
5- Una muestra del resultado.

Entendiendo un poco, los que tenemos es una capa resultado que agrupa en 10 clases los pixeles de las bandas 4,3 y 2 que participan en el proceso. A cada clase le asigna un numero como identificador y sobre los cuales podemos hacer diferentes operaciones.
Hagamos el ejercicio de extraer los cuerpos de agua con ayuda de la calculadora raster. procedemos así,
1- Teniendo nuestra capa resultado activa, seleccionamos el botón de información (botón con letra i de color blanco sobre un circulo azul) y picamos lo que consideramos como cuerpo de agua. así podremos saber cual es el valor del pixel asignado a esta clase. Para nuestro ejemplo ahora sabemos que los cuerpos de agua tiene el valor 1

2- En Sextante buscamos Herramientas de calculo para capas raster/calculadora de mapas...

3- Escribimos la sintaxis para extraer el valor. Esto realmente se puede hacer de otras formas pero quiero que veas la alternativa con el condicional if(), básicamente funciona así, if(condición, proceso 1, proceso 2), el proceso 1 se ejecuta si la condición es verdadera de lo contrario (osea si la condición es falsa) se ejecuta el proceso 2. Nuestro condicional quedaría como , if(Agregados Band 1 == 1, 1, 0). Puedes anidar varios condicionales.

4- Podemos observar el resultado. De una forma muy rápida se extrajo el cuerpo de agua, aunque en el resultado muestra otras zona que seguramente no lo son, esto se puede mejorar con otra combinación de bandas, o aumentando el numero de clases, también puedes vectorizar y eliminar los polígonos que no necesitas.

Saludos y espero que les sirva...
Tarea: Trata de hacerlo con mas coberturas anidando por ejemplo dos condicionales, te explico como.
if(condición1, proceso 1, if(condición2, proceso 3, proceso 4)proceso 2), el proceso 1 se ejecuta si la condición1 es verdadera de lo contrario (osea si la condición1 es falsa) se  evalúa la condición2, si esta es verdadera se ejecuta el proceso 3 y si la condición 2 es falsa se ejecuta el proceso 4.
Dejo un vídeo para mayor facilidad


[1] http://es.wikipedia.org/wiki/Reconocimiento_de_patrones

martes, 15 de mayo de 2012

Pequeño Resumen de Datos Libres


Cuando estamos realizando una investigación para la universidad o laboramos en una entidad publica o privada, y necesitamos datos, es cuando por lo general empiezan los problemas. Valen mucho, son restringidos, no han aprobado el presupuesto, en fin, obstáculo tras obstáculo. Te invito a que esos inconvenientes no te detengan y menos en esta época donde existen instituciones que han puesto información muy valiosa para el uso del publico. Esta es una lista que puedes ir construyendo haciendo un buen uso de los buscadores, sin embargo acá te dejo un resumen que me gustan mucho porque los considero básicos a para cualquier trabajo.

  • Si necesitas los nombres geográficos de tu área de interés o de un país completo, esta es la fuente indicada, descargas los archivos en (http://www.geonames.org/), vienen codificados por pais y formato de texto. Recuerda que te puedes ayudar de estas entradas para saber como utilizarlos en cualquier programa.
  • Para los limites administrativos de departamentos y municipios (términos para Colombia) puedes decargas los SHP desde esta pagina (http://www.gadm.org/): Sin embargo hay que aclarar que la información a escala municipal esta muy generalizada, pero es mejor que nada.
  • Es posible que necesites determinar las coberturas de una zona, comparar imágenes de diferentes años, extraer o actualizar las vías y zonas urbanas o simplemente generar una mapa con una imagen de satélite como fondo. Si una imagen Landsat cumple con tus requerimientos puedes mirar aquí para que sepas como descargarlas y aquí como armarlas.
  • Uno de los datos mas costoso en general en los SIG, es la altura sobre todo de grandes extensiones, pero en esta época, también los hay de acceso libre. Estos Modelos de elevaciones los puedes bajar como se indica aquí, y a partir de ellos puedes determinar cuencas, red hidrico, capas de pendiente, de aspecto, modelos de sombras, de visibilidad, o un gran ETC!!!.
Y si quieres un gran resumen de datos a nivel mundial te dejo esta pagina, mejor imposible... http://freegisdata.rtwilson.com/.

Pero bueno tenemos datos y como los trabajamos, que programa compramos??. Me atrevo asegurar que si eres una persona curiosa con ganas de aprender y de tener alternativas te encantara esta otra lista de programas, la mayoría libre que puedes utilizar con diferentes propósitos. Si estas desesperado porque la lista es larga simplemente te comento que puedes usar gvSIG y/o QGIS para que inicies.

Este pequeño resumen este pensado para trabajos puntuales, cabe aclarar que si tu idea es un algo mas corporativo también existen alternativas libres que se pueden combinar con algo de que menciono arriba. Finalizo  diciendo que los limites son los datos en si (querer genera un mapa de coberturas a escala 1:10.000 con una imagen Landsat) y nuestros conocimientos, el primero es insalvable, toca cambiar la fuente de información, el segundo lo podemos mejorar, solo depende de las ganas, de la disposición, de la comunicación con otras personas.

Exitos!!!

miércoles, 2 de mayo de 2012

Instalar gvSIG 1.11 en Ubuntu 12.04 de 64 Bits

Saludos a todos

Esto para mi fue un dolor de cabeza pero bueno, se pudo solucionar. Y lo comparto para que le ahorre tiempo alguien.

Paso a explicar lo que me pasaba.
- Lo primero era descargar el instalador de gvSIG, los cual no fue mayor problema.
- Asignarle a ese instalador permisos de ejecución que tampoco fue inconveniente.
- Ejecutar el instalador...aqui aparecía el primer problema, este era el error que mostraba la consola.

/home/humberto/Descargas/gvSIG-1_11-1305-final-lin-i586-withjre-j1_5.bin: 12: /home/humberto/Descargas/gvSIG-1_11-1305-final-lin-i586-withjre-j1_5.bin: ./launcher-Linux: not found

/home/humberto/Descargas/gvSIG-1_11-1305-final-lin-i586-withjre-j1_5.bin: 21: /home/humberto/Descargas/gvSIG-1_11-1305-final-lin-i586-withjre-j1_5.bin: ./launcher-Linux: not found


Lo que pude entender era que faltaban unos paquetes de compilación (eso creo) que se son los siguientes:

sudo apt-get install g++-multilib
sudo apt-get install gcc-multilib


Aquí desapareció el primer error pero surgió otro. Lo muestro a continuación.

error while loading shared libraries: libXi.so.6

Este problema surgía porque estaba instalando una maquina java de 32 Bits que estaba buscando librerías de 32 Bits y mi instalación era de 64 Bits. La solución instalar las librerías de 32 Bits para el sistema, usamos el siguiente comando:

 sudo apt-get install ia32-libs

Nuevamente ejecutamos nuestro instalador....y el resto ya lo conocen.....
Espero les sirva y como dije al principio les ahorre tiempo.
Ref primer error
Ref segundo error

jueves, 19 de abril de 2012

Organizar datos de Coordenadas geográficas Parte II


ACLARACIÓN: iniciando el desarrollo de esta parte me di cuenta que gvSIG solo entiende el separador de decimales como punto. Aquí puedes hacer varias cosas pero te menciono dos, o cambias la configuración regional del equipo y exportas la tabla, o al resultado del archivo CSV cambias las comas por puntos con la herramienta de Buscar y Remplazar de cualquier editor de texto (no de tablas) y salvas.

Para la parte II haré  el ejercicio de cargar la tabla con gvSIG y QGIS.
Mis datos de tabla están en WGS84.  Guardamos la tabla  en formato CSV, delimitado por punto y coma.

En este punto hemos exportado la tabla a un formato de intercambio. Procedemos a cargarla en gvSIG, desde el Gestor de proyectos, picamos el elemento Tabla y pulsamos el botón Nuevo, en la nueva ventana, pulsamos el botón Añadir, buscamos la tabla teniendo presente que archivos tipo este en CSV, pulsamos Abrir,  la tabla queda cargada y finalizamos esta parte pulsando el botón aceptar.
La tabla se despliega de forma automática.

Teniendo una Vista abierta, nos vamos al menú Vista/Añadir capa de eventos...y asigamos los campos de Latitud y Longitud donde corresponden.

Pulsamo Aceptar y los puntos deben aparecen el vista...


Ya aquí si queremos podemos guardar esta información como Shape file, realizar operaciones, consultas etc.
Ahora con QGIS los hacemos de la siguiente forma. Vamos al menú Capa/Añadir capa de texto delimitado.

En el cuadro de dialogo que aparece buscamos nuestro archivo de texto, lo seleccionamos, seleccionamos el delimitador, que para este caso es punto y coma,  configuramos los campos que corresponden a la Latitud y la Longitud, y si todo esta bien, pulsamos Aceptar.

Y si todo esta bien nos debe mostrar algo como esto.
Y si lo que quieres es comparar aquí te dejo una ultima imagen.

Por ultimo les dejos un vídeo.

miércoles, 18 de abril de 2012

Organizar datos de Coordenadas geográficas Parte I

Saludos a tod@s.

He notado que se presentan inconvenientes a la hora de poder utilizar tablas que poseen coordenadas en algún programa se sistemas de información geográfica.
Voy a dar unas pautas básicas para organizar y utilizar esta información sobre todo cuando son coordenadas geográficas aunque pueden aplicarse a coordenadas planas.
1 – La latitud y la longitud deben estar en grados decimales. Osea 4°15'2” a 4,2833333333.
2 – La latitud debe estar es una columna y al longitud en otra.
3 – La latitud norte y sur se diferencian en el signo. Positivo norte y negativo sur, 10°20'6” S a -10,4333333333.
4 – La longitud tiene el mismo principio. Este positivo y oeste negativo.
5 – Verificar como entiende tu programa el separador de decimales como punto o coma, sobre todo cuando el programa SIG es capaz de leer los datos desde la hoja de calculo o un DBF.
5 – Por ultimo, los campo de latitud y longitud deben se numéricos. Aunque parezca obvio, se puede cumplir todas características anteriores y el campo estar declarado como texto, sencillamente ningún programa (por lo menos yo no lo conozco) podrá usar las columnas para dibujar las coordenadas de la tabla.
Teniendo presente estas reglas, cualquier información que no las cumpla debe ser estandarizada con ayuda de algún programa, yo recomendaría una hoja de calculo, aunque se puede hacer también con la herramientas para tabla de los SIG.
vamos a los ejemplos.

 

Como pueden observar en la figura de arriba, las columnas están separadas por punto y coma, las coordenadas se encuentran en grados minutos y segundos y ademas la latitud y longitud se mezcla con letras y símbolos. Para que puedan ser usada en algún programa SIG hay que transformar esta información, veamos como.

Utilizando LibreOffice – Calc (también se puede hacer con Excel) importamos el archivo,


Nos queda algo como esto.

Cuando ya tenemos la tabla importada debemos poder convertir los valores de grados, minutos y segundo a grados decimales. Primero utilizamos las herramientas de texto para separar la latitud en tres columnas, una de grados otra de minutos y otra de segundos. Igual se hace con la longitud.

La función utilizada se llama MID(en Excel se llama EXTRAE), la cual extrae de una cadena de texto, una porción partiendo de una posición inicial y una cantidad de caracteres.

Como podrán notar en algunas columnas hay caracteres y números, esto se puede solucionar de manera rápida con la herramienta Buscar y Remplazar, sobretodo si son muchos datos. Y finalmente la información queda así.

Ahora bien solo nos queda pasar de grados minutos y segundos a grados decimales. La formula general es: grados decimales = ((segundos/60) + minutos)/60 + grados, aplicando esta formula en nuestra tabla tenemos.

Tenemos la información estandarizada, ahora a probar con algún programa SIG. Tenga en cuenta que lo mas probable es que tengas que guardar la información en otro formato, como dbf o csv. Voy a hacer el ejercicio con gvSIG y Qgis dos programas excelentes, y la tabla en formato csv. Espera la parte II
A continuación le dejo un vídeo de lo explicado y que también puedes ver en Youtube