Crea tu primer mapa con D3 en las #jpd15.
Puedes ver los slides de la presentación (una introducción a D3 y desarrollo frontend), aunque sin una persona explicando no tendrán mucho sentido. El objetivo de este taller (al sólo tener una hora) es introducir D3, los formatos de mapas, y dar un ejemplo sencillo para que puedas replicarlo con los datos que prefieras.
Luego, instala un editor de código como atom y sigue las instrucciones de acuerdo a tu sistema operativo.
Si no tienes brew, ¿a qué esperas? Así podrás instalar paquetes más fácilmente.
Luego instala GDAL con brew (brew install gdal
), GDAL es una suite de programas que nos ayudan a transformar datos geográficos en nuestro ordenador. También deberías instalar node
(brew install node
), y topojson (npm install -g topojson
). El http-server
que puedes instalar con npm
es mejor que el que viene con python, en mi experiencia.
Si quieres ser un ninja del GIS, bájate QGIS. Al principio asusta pero es muy, muy útil.
Lo mismo que en mac pero con apt-get
, pacman
o lo que sea que uses. Ya sabes usar un gestor de paquetes y podrías dar este taller si quisieras.
Lo siento, Windows es complicado.
Broma, puedes instalar QGIS desde la web oficial. Tienes que instalar node e ir a la línea de comandos (cmd
) para instalar de la misma manera que en mac (npm
) topojson
y http-server
(aunque puedes usar el servidor python igualmente).
Los datos geográficos suelen venir en formato shapefile (SHP), que no es nada más que unos cuantos archivos con extensión rara y un encoding del siglo pasado. Busca por portales de institutos cartográficos (si eres periodista debes usar siempre fuentes oficiales).
- Barcelona (ya convertidos)
- Catalunya (base municipal 1:50 000)
- España (líneas límite municipales)
- Mundo
Tener los shapefiles sólo es el primer paso. Una vez los tengas debes convertirlos a topoJSON, un formato similar a GeoJSON pero mucho más optimizado (~80% de compresión).
Con la utilidad topojson
que ya has instalado es muy fácil convertir archivos. Abre una terminal en la carpeta donde estén tus archivos y ejecuta lo siguiente:
topojson input.shp -o output.json -p
Hay opciones adicionales (-p
preserva las propiedades del shapefile, por ejemplo), que puedes leer en la referencia. Con topojson
es posible hacer virguerías como juntar muchos shapefiles en diferentes capas, todo en el mismo archivo, o unir un csv con el mapa.
Un paso más, cuando tu mapa sigue ocupando mucho espacio es usar mapshaper, una herramienta genial para simplificar nuestros mapas.
Mira la carpeta map
de este repo, allí está el código boilerplate para que puedas empezar a hacer tus mapas.
Uno de los mejores ejemplos si quieres ir más allá está en el libro de Scott Murray, donde aprenderás a hacer coropletas de una manera muy sencilla. Allí está el verdadero poder de los datos.
Puedes ver el resultado en mi bl.ocks. Aquí otro mapa de coropletas. Aquí otro de burbujas.
- D3 Wiki y la galería
- Interactive Data Visualization for the web
- Let's make a map
- BONUS: si trabajas con un mapa de España, Francia o Portugal, d3-composite-projections de rveciana es fantástico.