15

我想知道如何为 jquery 插件 jvectormap http://jvectormap.com/创建或生成地图

该项目有几个地图:http: //jvectormap.com/maps/

但我需要按州划分澳大利亚和新西兰的地图。在 github https://github.com/bjornd/jvectormap的文档中,它说任何人都可以使用以下命令生成地图:

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

但我认为这是过时的,因为我下载了http://www.naturalearthdata.com/downloads/10m-culture-vectors/10m-admin-1-states-provinces/作为文档所述,但当然没有工作。

谁能告诉我如何为jvectormap生成澳大利亚和新西兰按州划分的地图?

谢谢

4

2 回答 2

15

以防万一有人需要同样的东西。要运行转换器,您需要(此指令适用于 Windows 环境):

  • 下载并安装OSGeo4W(使用 Express Desktop Install)
  • 下载所需的形状文件(这个自然数据文件工作正常)。
  • anyjson放入转换器目录
  • 在转换器目录中创建makemap.bat,如下所示:

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

  • 运行 OSGeo4W shell(它将被添加到开始菜单)
  • 运行 makemap.bat
  • 享受生成的地图

作为使用上述步骤生成的俄罗斯地图的示例输出http://jsfiddle.net/dyP4c/3/

关于参数(我所知道的)

where condition用于使用 shapefile 属性shapefile中

过滤形状如果使用代码文件,则分隔文件代码文件是制表符分隔文件(如果您想使用不是来自 shapefile 的名称/代码)longitude0是区域的经度(使用此名称是地图名称









PS:OSGeo4W 包有很好的 Quantium GIS Browser来浏览 shapefile 属性。您可以尝试在网络上搜索其他 shapefile(不仅是自然数据)以转换为 jvectormap

于 2012-11-22T21:37:01.327 回答
0

看看你写的命令。看起来它只适用于美国地图:

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

我不知道答案,但这就是我要开始解决问题的地方

于 2012-09-02T19:44:01.743 回答