En esta entrada mostraremos de una forma práctica cómo crear un mapa con Google Fusion Tables o tablas dinámicas de Google. Google Fusion Tables es un servicio web de datos que se basa en el concepto de la nube para la integración de datos de diversas fuentes de datos y su publicación en la web. En esencia, almacena y calcula al vuelo, sin ningún tipo de instalación ni mantenimiento, aplicaciones en el equipo del usuario. Veamos primero algunos ejemplos de su aplicación:
- Los lugares más ricos y más pobres de Inglaterra.
- Mapa mundial de las centrales nucleares y zonas de terremotos.
Google Fusion Tables gestiona grandes colecciones de datos para que podamos hacer mapas o gráficos y añadir interacciones a ellos. Para ello los datos deben estar normalizados y guardados en un archivo Excel, .ods, .csv o .kml.
Comenzamos
Vamos a utilizar el shapefile countries, que contiene todos los países del mundo (si no lo tienes puedes descargarlo haciendo clic aquí).
En primer lugar debemos convertir el archivo shapefile a formato kml. Para realizar esta operación utilizaremos la web Shpescape. Shpescape puede convertir los archivos que componen un shapefile a formato .kml.
- Vamos a la web Shpescape y pinchamos sobre el botón Continuar para autorizar al sitio a que acceda a nuestros datos de Fusion Tables en nuestro nombre.
- En la página siguiente pulsamos sobre “Conceder acceso”.
- A continuación buscamos los archivos que componen el shapefile countries y los comprimimos en un archivo .zip
El archivo zip debe incluir un archivo .prj, shp, shx, y .dbf por cada shapefile y existe una limitación de 200 MB de almacenamiento total en Google Fusion Tables. La aplicación carga un máximo de 100.000 filas.
Una vez comprimidos los archivos en un zip pulsamos sobre Seleccionar archivo y una vez seleccionado lo subimos (Upload).
Al finalizar la carga aparecerá el número de filas insertadas, las procesadas y las totales, así como un identificador de tabla en Fusion Tables (lo utilizaremos más adelante).
Abrir un shapefile en Fusion Tables
Haciendo clic sobre el número de Fusion Tables nos llevará a visualizar las filas del shapefile, a partir de ahora también podemos acceder al archivo desde Google Drive.
Si queremos cambiar el nombre de los campos debido a algún error en la importación o para mejorar su visualización, debemos pinchar sobre el shapefile y visualizar las filas, a continuación pinchar sobre la columna y seleccionar la opción Change…
Buscamos los campos POB_EST y ADMIN y los cambiamos por Población y País respectivamente. Cuando lo tengamos pinchamos sobre Save para guardar los cambios.
Crear el mapa
Ahora vamos a crear el mapa temático. Es tan fácil como pinchar en la pestaña Map of geometry para que nos aparezca nuestro capa vectorial en Google Maps.
Vamos a hacer un mapa temático con los habitantes de África, para ello debemos ir a la opción Tools > Change Map que se encuentra en la parte superior del mapa.
Change feature style
Se abre una ventana donde modificaremos los colores de nuestro mapa. Debemos tener en cuenta que estamos trabajando con polígonos y queremos cambiar el fondo de los polígonos, introduciremos los datos de acuerdo a la siguiente imagen:
También podemos modificar el cuadro de información para que muestre los campos que nos interesen. Para limpiarlo, seleccionamos la opción en Tools > Change info window layout. Desactivamos todas las columnas excepto País y Población.
Ya tenemos nuestro mapa temático mundial de número de habitantes por país.
Antes de poder publicar un shapefile en Fusion Tables hay que modificar los permisos de visualización, para ello debemos seguir los siguientes pasos:
En el menú superior izquierda vamos a Tools > Publish. En este momento veremos un aviso:
Pinchamos sobre Change visibility y se abre la ventana Sharing settings, en la que cambiaremos a Public on the web para indicar que cualquiera pueda ver la composición de mapa. Guardamos y pinchamos en Done.
Para poder publicar el mapa también necesitamos conocer el ID de Fusion Tables, para ello vamos al menú superior izquierda File > About this table. Se abre una ventana nueva con la información de la tabla, debemos copiar el ID.
Por último, copiamos nuestro código html y lo pegamos en un archivo HTML o lo insertamos en nuestra web.
El resultado lo mostramos aquí:
Licenciado en Geografía. Máster en Sistemas de Información Geográfica. Consultor GIS desde el año 2004. En MappingGIS desde el año 2012 para ayudarte a impulsar tu perfil GIS y diferenciarte de la competencia. Echa un vistazo a todos nuestros cursos de SIG online.
Hola, llevo dias buscando como crear un mapa de google y insertarlo en un html que yo pueda controlar las capas que muestro.
Si tengo un mapa con diferentes capas, que en el html tenga unos botones propios que digan la capa que muestro..
Espero que me puedas orientar.
Saludos
Hola Lee,
No te puedo ayudar en la programación con la API de Google. Si lo realizases con Leaflet, sí. Es relativamente muy sencillo implementar un control con un aspecto como este: http://mappinggis.com/webmapping/l_osm_google.html o incluso con OpenLayers: http://mappinggis.com/2015/02/anadiendo-un-control-de-capas-en-openlayers-3-layerswitcher/ Un saludo!
Otro buen post así no hay quien pare un finde sin investigar cosillas nuevas.
Cuídate
Muy chulo el post. Yo he utilizado Google Fusion para organizar mapas de relaciones, lo que antes hacía con Gephi o Next, ahora más cómodo con este juguete.
Muchas gracias, muy interesante tu uso para mostrar las gráficas de enlaces!! Saludos
Fusion Tables es gratis?
No tiene limitaciones?
Y si tiene, cuales son las limitaciones?
Fusion Tables es gratis, solo es necesario crar una cuenta en google. La limitación es de 200 MB de almacenamiento total.
Saludos
Hola Aurelio, lo primero muchas gracias por el post, me ha servido de mucha ayuda.
Actualmente estoy trabajando con una base de datos con más de un millón de filas que quiero georreferenciar, ocupa menos de 200MB pero supera con creces las 100.000. ¿Sabes si hay alguna manera de fusionar o superponer los mapas que cree con las tablas por separado? De no existir solución con Google Fusion Tables ¿Sabrías que herramienta podría usar?
Muchas gracias por tu atención.
Un saludo.
Hola Javier,
Revisa este post con las opciones más populares: http://mappinggis.com/2012/10/servicios-para-publicar-datos-gis-en-la-nube/
Prueba con mapbox o cartoBD, tienen cuentas gratuitas para poco volumen de información y/o pocas visitas.
Aunque ante tal cantidad de registros yo optaría por utilizar una base de datos espacial (PostGIS) y servir las capas con GeoServer y visualizarlas con OpenLayers o Leaflet. Así tienes una arquitectura muy robusta y basada en software libre, sin ningun tipo de coste, excepto el del servidor claro.
Otra opción es utilizar PostGIS + TileMill + Mapbox… quizá es una solución que te puede servir. mira este otro post: http://mappinggis.com/2014/04/tutorial-tilemill/
Saludos!