I have GeoJSON 文件 https://github.com/jgoodall/us-maps/blob/master/geojson/zcta5.json大约有 1.4GB,并且由于文件大小(?),命令行工具无法工作。我使用 topojson 命令工具,例如:
topojson {{ input file }} >> {{ output file }}
Web 工具也有同样的问题(浏览器挂起)。
转换巨大的 GeoJSON 文件的最佳方法是什么?
Tool
使用Topojson 命令行 https://github.com/mbostock/topojson/wiki/Command-Line-Reference应该可以正常工作。 API 很短,写得很好,很快就能读完。
你的命令
topojson input.json >> output.json # what does `>>` ?
The topojson手册 https://github.com/mbostock/topojson/wiki/Command-Line-Reference#input-and-output告诉我们使用>
,从来没有>>
意思是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 数据来满足 Web 浏览器的较低功能和需求,从而让您的生活更加轻松。高清屏幕为1980*1280,GIS数据远高于此,需要简化。
简化命令
使用 topojson 命令行simplify你庞大的 geojson 数据。常见的简化是通过-q 1e4
:
topojson -q 1e4 \
-o out.json \
-- input.geojson
因此,输出文件将具有 10.000 个伪像素质量,即远低于您的输入,但对于客户端数据可视化来说足够远,并且大约或低于 1MB。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)