将Big GeoJSON转换为topoJSON

时间:2015-03-13 16:26:33

标签: javascript json topojson

我的a GeoJSON file大约是1.4GB,而且由于文件大小(?),命令行工具不起作用。我使用topojson comman工具,如:

topojson {{ input file }} >> {{ output file }}

Web工具有同样的问题(浏览器只是挂起)。

转换巨大的GeoJSON文件的最佳方式是什么?

1 个答案:

答案 0 :(得分:3)

工具

使用Topojson command line应该可以正常工作。 API很简短,编写得很好,可以快速阅读。

您的命令

topojson input.json >> output.json # what does `>>` ?

topojson manual告诉我们使用>,而不是>>,这意味着append to the output file。所以我想知道这可能是错误。

简单转换

topojson input.json > output.json # convert from geo to topojson.

此命令以相同的质量保留geojson输入中的所有数据,并将生成+ 250MB topojson文件。当通过客户端的d3js进行投影时,d3.topojson会尝试将其转换回geojson(1.4GB!),因此d3可以使用它在浏览器中生成近1GB的svg。这既有自杀性(工作流程会崩溃)也毫无意义:topojson旨在通过简化gis数据来适应网络浏览器的低功能和需求,从而减轻您的生活。高清屏幕是1980 * 1280,gis数据远远超过这个,需要简化。

简化命令

使用topojson命令行来简化您巨大的geojson数据。常见的简化是通过-q 1e4

  topojson -q 1e4 \
      -o out.json \
      -- input.geojson

因此输出文件将具有10.000个伪像素质量,也比您的输入低很多,但足够客户端数据,并且大约或小于1MB。