How to generate a new map for jvectormap jquery plugin?
Asked Answered
B

2

15

I want to know how to create or generate a map for jquery plugin jvectormap http://jvectormap.com/

The project has several maps: http://jvectormap.com/maps/

but I need I map with Australia and new Zeland divided by states. In the documentation in github https://github.com/bjornd/jvectormap, it says that anyone can generate a map with this command:

python \
    path/to/converter.py \
    path/to/geo-data.shp \
    path/to/resulting-map.js \
    --width 900 \
    --country_name_index 4 \
    --where "ISO = 'USA'" \
    --codes_file path/to/codes-en.tsv \
    --insets '[{"codes": ["US-AK"], "width": 200, "left": 10, "top": 370}, {"codes": ["US-HI"], "width": 100, "left": 220, "top": 400}]' \
    --minimal_area 4000000 \
    --buffer_distance -3000 \
    --simplify_tolerance 1000 \
    --longtitude0 10w \
    --name us

but I think is outdates, cause I downloaded http://www.naturalearthdata.com/downloads/10m-cultural-vectors/10m-admin-1-states-provinces/ as the documentation says, but of course didn't work.

Can anyone tell me how to generate a map with australia and new zeland divided by states for jvectormap??

thanks

Buckden answered 17/6, 2012 at 3:8 Comment(0)
T
15

Just in case anyone will need the same. To run converter, you need (this instruction is valid for Windows environment):

  • download and install OSGeo4W (use Express Desktop Install)
  • download desired shape file (this natural data file works fine).
  • put anyjson to converter directory
  • create makemap.bat in converter directory, like this:

python ^
   converter.py ^
   ../../ne_10m_admin_1_states_provinces_shp.shp ^
   test-map.js ^
   --width 400 ^
   --where "ISO_3166_2 = 'RU-' and code_hasc!=''" ^
   --country_name_index 12 ^
   --country_code_index 18 ^
   --minimal_area 4000000 ^
   --buffer_distance -0.5 ^
   --simplify_tolerance 10000 ^
   --longitude0 54.8270 ^
   --name russia

  • run OSGeo4W shell (it will be added to start menu)
  • run makemap.bat
  • enjoy generated map

As a sample output attaching this fiddle with russian map generated using steps mentioned above http://jsfiddle.net/dyP4c/3/

About parameters (what I know)

where condition is used to filter out shapes from shapefile using shapefile attributes

simplify_tolerance will affect map quality and size

country_name_index index of REGION NAME attribute in shapefile or column in tab separated file if codes_file is used

country_code_index index of REGION CODE attribute in shapefile or column in tab separated file if codes_file is used

codes_file is tab separated file (if you want to use names/codes not from shapefile)

longitude0 is longitude of area (used this)

name is map name

P.S.: OSGeo4W package has nice Quantium GIS Browser to browse shapefile attributes. You can try to search other shapefiles on the web (not only natural data) to convert to jvectormap

Thigh answered 22/11, 2012 at 21:37 Comment(3)
Where is converter.py located? I installed OSGeo4W (Express Desktop) but I can't see such file. There are only EpochConverter.py, StrConverter.py and UnitDblConverter.pyUnveiling
@akapelko Converter.py is part of jvectormap source code -github.com/bjornd/jvectormap/tree/master/converter . OSGeo4W is just required to run this python script.Thigh
Hi, I have followed the steps mentioned in this post, but i am facing an issue. Please check this link. #42521307Ritual
G
0

Take a look at the command you've written. It looks like it's only for US maps:

--insets '[{"codes": ["US-AK"], "width": 200, "left": 10, "top": 370}, {"codes": ["US-HI"], "width": 100, "left": 220, "top": 400}]' \

I don't know the answer, but that's where I'd start fixing the issue

Grammarian answered 2/9, 2012 at 19:44 Comment(1)
yep you are right.. but the question is how to know what parameters should be in command... also where I can find maps to convert.. thanksBuckden

© 2022 - 2024 — McMap. All rights reserved.