D3.js,麻烦启动shp2json - 编码索引错误

时间:2017-01-01 00:13:37

标签: d3.js encoding shapefile

我正在尝试按照Mike Bostock为Command Line Cartography所做的教程(这是一个很好的帮助)。在安装shapefile并运行shp2json步骤[shp2json cb_2014_06_tract_500k.shp -o ca.json]之后,我收到以下错误消息: “错误:解码器不存在。您是否忘记首先包含encoding-indexes.js?“来自NPM的text-encoding包的错误消息。

在尝试诊断问题时,我想我应该手动安装文本编码,因为它在shp2json依赖列表中,但似乎没有加载。我还重新安装了节点,从7.3.0降级到6.9.2和其他一些东西(我的黑客寻找解决方案几个小时),但是,我被卡住了。这只是更新package.json的问题吗?

我正在使用Windows7,设置的env变量我认为是正确的\ Users \ myAccount \ AppData \ Roaming \ npm。我也在全球安装了所有软件包。感谢您的任何见解。

1 个答案:

答案 0 :(得分:0)

运行“#prepublish”脚本here时遇到了同样的问题。然后我注意到Mike的shapefile repo在README中有这个信息:

# shp2json --encoding *encoding*

Specify the dBASE table file character encoding. Defaults to “windows-1252”.

所以我尝试并将该脚本更改为:

shp2json --encoding utf-8 cb_${YEAR}_${STATE}_tract_500k.shp

请注意,在上面的这一行中,我的状态和年份变量已在脚本中定义得更高(我使用的是Texas [48],而不是California [06])。

另外,我收到了另一个错误,要求d3-array。所以我也安装了它。

问题解决了(至少在处理数据并让它在浏览器中呈现时)。其他问题,如投影,仍然存在。 Obviously