In order to improve performance, especially on mobile platforms, jVectorMap uses special format for maps. This format was developed to avoid reprojection and conversion of map data on each page load and at the same time to preserve ability to render geo-coded data on vector maps. In order to run the converter you need python version 2.7 or later and the following python packages: Converter synopsis is python processor.py input_file.json, where input_file.json is a configuration file in JSON format containing a set commands. In case no file is specified converter will expect to get input from STDIN. All the maps on this site were produced by processor.py, you can find the configuration file for each map under section ‘Processor config’ on map’s page. So if you want to make some slight modifications to some map form the site just copy and paste existing config, change it and consume to converter. This simple config tells converter to read geometries from ShapeFile and then write them to jVectorMap format without any modifications. You can add some additional commands between read_data and write_data to modify geometries and/or their related values. For example here is configuration which produces continents map: Command join_data is used to set codes for each continents, after that countries are merged by supplied codes using union command and then converter writes them to file in jVectorMap-compatible format. Source.