如何运行 TopoJSON?

15

我需要将一个geojson文件转换成topojson格式,可能还需要简化这个topojson文件。我已经成功安装了Node.js和topojson包。但是我不知道如何运行topojson。

Wiki中列出了一堆命令行选项,但我应该在哪里运行这些命令呢?我尝试在命令提示符和node shell中运行它们,但是Node、GDAL、ogr2ogr和TopoJSON对我来说都是新概念,所以我有点困惑和不知所措。

顺便说一下,我的操作系统是Windows。

4个回答

31

topojson可执行文件现在更名为geo2topo

  • 安装步骤与topojson相同
  • 要从geo json文件创建topo json文件,请使用geo2topo -o topo-output.json geo-input.json

获取geo-input.json的一种方法是使用gdal,它将shape文件作为输入并输出geojson。可以使用brew install gdal通过home brew安装gdal。


11

7
前四个步骤都进行得很好。但是在使用topojson命令时,我收到了“topojson不是内部命令...等”提示。 - user1781186
我已经完成了npm install -g topojson的一部分,但是它失败了,出现了以下错误: gyp ERR! build error gyp ERR! stack Error: not found: make gyp ERR! stack at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:43:28) - Marjorie Roswell
@MarjorieRoswell 安装 gyp - Fresheyeball
非常感谢Fresheyeball。我已经这样做了,但还是继续出现错误。我需要将gyp添加到路径中吗?(当我搜索它时,它似乎存在于几个位置)即使我执行“sudo npm install -g gyp”,仍然出现错误消息。(实际上,当我运行topjson命令时,它抱怨缺少d3,当我执行“sudo npm install -g d3”时,我会遇到gyp错误。) - Marjorie Roswell
@MarjorieRoswell 是的,听起来像是路径问题。 - Fresheyeball
显示剩余3条评论

4
我在Ubuntu 14.04上遇到了同样的问题。
我发现我的node.js可执行文件名为nodejs,而不是node。
我打开了topojson脚本(usr/bin/topojson),发现它试图使用名为node的Node可执行文件来运行topojson。
#!/usr/bin/env node

我编辑了这个文件,使得它可以在nodejs上运行

#!/usr/bin/env nodejs

现在它对我来说运作良好。

希望这能帮助其他人。


你可以使用以下命令来完成此操作:"ln -s /usr/bin/nodejs /usr/bin/node"。 - Lord ST
很遗憾,我收到了一个错误/bin# ReferenceError: Promise is not defined。 - Jeryl Cook

1
它已经被更改为geo2topo。
1)运行
sudo npm install -g geo2topo

2) 检查它是否返回路径

which geo2topo

它应该给出路径/usr/bin/geo2topo

3)使用它来转换您的geojson文件

geo2topo -o output.json input.json

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接