Weather data analysis and visualization – Big data tutorial Part 5/9 – Visualizing: GIS & map

Tutorial big data analysis: Weather changes in the Carpathian-Basin from 1900 to 2014 – Part 5/9

Data visualization – GIS, map based using Kartograph – Subsection 1/2

For the showcase purposes, I have used this Kartograph example to show bubbles with different colors and radius based on the yearly temperature and precipitation data (two datasets are in two different directories / diagrams)

Kartograph is an open-source Python based map generator and JavaScript based web map illustrator. A stand-alone package to generate maps without using 3rd party applications like Google Maps. If you generate your map once you could avoid any service level or API changes regarding your map.

Used tutorials

Tutorial 1 on animated symbols dependent on the values of the dataset

and Tutorial 2 for in-built tooltips

Steps are

  • Get a map of our experiment
  • Get the data to be shown for our experiment in Kartograph’s example parser’s format
  • Show the map in a web browser

 Kartograph / generating the map

I’ve installed the tool using this guide.

Grabbed a vector map with country boundaries from Natural Earth.

Cropped a map of central Europe from the map with the Python toolset using the following config file, world.json:

   "layers": {
       "world": {
        "src": " ne_50m_admin_0_countries.shp"
        "bounds": {
                "mode": "bbox",
                "data": [15.3, 44.6, 24.9, 49.7]

Data [numbers] are LAT and LON coordinates for the Carpathian Basin resulting from Google Maps – bottom left and top right coordinates of the bounding box.

For Kartograph to generate the interactive map: run the following command getting world.json as input and map.svg as output – in Bash shell:

kartograph world.json -o world.svg

So we have a world.svg file as an output that Kartograph JS can show.

Download the map toolbox containing the basemap and the config files for crop:

Share on LinkedInShare on FacebookShare on Google+Tweet about this on TwitterEmail this to someone