将Big GeoJSON转换为topoJSON
Convert Big GeoJSON into topoJSON
我有一个大约 1.4GB 的 GeoJSON 文件,由于文件大小 (?),命令行工具不起作用。我使用topojson comman工具,例如:
topojson {{ input file }} >> {{ output file }}
Web工具也有同样的问题(浏览器只是挂起)。
转换巨大的GeoJSON文件的最佳方法是什么?
工具
使用 Topojson 命令行应该可以正常工作。该 API 简短且编写良好,请快速阅读。
您的命令
topojson input.json >> output.json # what does `>>` ?
拓扑手册告诉我们使用>
,而不是>>
,这意味着append to the output file
。所以我想知道这是否可能是错误。
简单转换
topojson input.json > output.json # convert from geo to topojson.
此命令将来自 geojson 输入的所有数据保持相同的质量,并生成 +250MB 的拓扑文件。当通过客户端的 d3js 投影时,d3.topojson
会尝试将其转换回 geojson(1.4GB!),以便 d3 可以使用它来在浏览器中生成近 1GB 的 svg。这既是自杀式的(工作流程会崩溃),也是毫无意义的:topojson 旨在通过简化 GIS 数据来满足 Web 浏览器的较低功能和需求,从而简化您的生活。高清屏幕为1980*1280,GIS数据远高于此,需要简化。
简化命令
使用 topojson 命令行来简化庞大的 geojson 数据。一个常见的简化是通过-q 1e4
:
topojson -q 1e4 '
-o out.json '
-- input.geojson
因此,输出文件将具有 10.000 伪像素质量,也就是比您的输入低得多,但对于客户端数据可视化来说已经足够远了,大约或低于 1MB。
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- 如何在Javascript中将JSon对象转换为数组
- 使用JS将数组转换为json对象
- 如何使用json将对象列表从java转换为javascript
- 偶尔结结巴巴地说“;堆叠的”;translate()上的转换(v4.0.0-alpha40)
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- 在Javascript中转换对象数组
- 将数字转换为一定数量的硬币
- 将纯文本URL转换为可单击链接
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 如何将TypeScript对象转换为普通对象
- 检测个位数整数时正在转换毫秒
- 从javascript到jquery的转换
- DOM事件通过JSON转换为java
- 将圆柱体转换为弯管
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- JavaScript代码问题:我正在将对象转换为数组
- 将Big GeoJSON转换为topoJSON
- 带属性的GeoJson到TopoJson转换器