Ángel Ferrán Frías
Máster II, Universidad de Extremadura
Sistemas de Información
Fecha: 22 de Junio de 2011
En esta nueva versión de GMS (1.1) se añaden algunas funcionalidades que podemos dividir en tres grupos:
• Tratamiento de imágenes Multiespectrales:
Se realiza una primera aproximación al tratamiento de estas imágenes, mediante la manipulación de los píxeles individuales que la conforman, una vez obtenida la imagen desde la interfaz de usuario de Google Maps disponible.
Para esta funcionalidad se ha utilizado las funciones de tratamiento de pixeles que ofrece el objeto Canvas:
• context.getImageData(oCanvas): obtiene los pixeles de un objeto canvas cargado
• context.putImageData(array): escribe en el objeto canvas indicado
• context.drawImage(img, x, y):inserta en un objecto canvas, en la posición indicada, la imagen «img». Esta función se utiliza para la composición de la imagen final compuesta por el mosaico de imágenes de Google Maps.
Se aportan dos funciones disponibles en esta versión:
• Inversión de imagen: para cada pixel de la imagen se realiza la operación de inversión del color:
Ejemplo: IMAGEN REAL
IMAGEN INVERTIDA
• Binarización de la imagen: se transforma la imagen real en una imagen de escala de grises:
Ejemplo: IMAGEN REAL
IMAGEN BINARIZADA
• Utilización de API V3 de Google Maps:
• Para la geolocalización mediante búsqueda por coordenadas o mediante nombre de ciudades, se utiliza la función de la API Geocode:
• Mejoras en la interfaz de usuario:
• Barra de herramientas con opciones de:
• Guardar imagen, en formato PNG, BMP, JPEG
• Obtención de imagen
• Reset del objeto canvas
• Búsqueda de lugares mediante coordenadas o nombres de ciudad
• Ajuste del contenedor de la imagen: ahora, la imgagen obtenida queda completamente enmarcada en un contenedor Html div, lo que permite salvar la imagen de forma completa y sin partes no útiles ni molestas
• Parametrización de la aplicación:
Para el cierre de esta versión se prevé disponer de una parametrización mínima de la aplicación que permita realizar algunas funciones como la carga de un lugar por defecto, salvar la geolocalización de un determinado lugar, etc.
Para ello se está confeccionando un fichero de configuración en formato XML que indicará para cada versión la parametrización existente, los problemas en los navegadores, etc ,etc.
Se muestra el contenido de parte de este fichero, aún por determinar de forma final:
• Algunos Problemas Encontrados:
Durante la implementación de esta versión se han encontrado algunos problemas referente a la ejecución de scripts en el cliente que ejecuta la aplicación.
Estos problemas son generados por las funciones context.getImageData y context.putImageData del objeto canvas
Para solventar estos problemas se hace necesario indicar en las funciones Javascript el siguiente permiso de seguridad.
netscape.security.PrivilegeManager.enablePrivilege(«UniversalBrowserRead»);
Me parece increíble la aplicación que estás haciendo. Esperemos que Google no se enfade XD
Por cierto no sé si tienes la posibilidad de añadir capas (overlays) además de rutas, pinchos y demás. No es complicado. Sería interesante (y sencillo) poder realizar polígonos superpuestos semitransparentes que «pinte» el usuario, y que luego eso lo puedas exportar.
Sé que puedes dibujar encima y demás pero no sé si puedes realizar eso. Las funciones de la api de google al respecto son muy potentes y sencillas de usar (como sabrás mejor que yo, seguro).
También podrías valorar la posibilidad de que esas imágenes se suban de forma automática (si se elige) a algún servidor para poder directamente embeberlas en una web. Es decir, que en vez de guardarlas al escritorio, que directamente te de un link que puedas usar. Eso sería una pasada. 🙂
Por lo demás… anonadado me hallo. 🙂