GeoJSON 和 TopoJSON 之间有什么区别?什么时候应该使用其中之一?
description of TopoJSON on GitHub意味着 TopoJSON 文件小了 80%。那么为什么不一直使用 TopoJSON 呢?
最佳答案
如果您关心文件大小或拓扑,请使用 TopoJSON。如果您两者都不关心,那么为了简单起见,请使用 GeoJSON。
TopoJSON 的主要优点是大小。通过消除冗余并使用更有效的固定精度整数坐标编码,TopoJSON 文件通常比 GeoJSON 文件小一个数量级。 TopoJSON 文件的第二个优点是对拓扑进行编码具有有用的应用,例如拓扑保留简化(类似于 MapShaper )和自动网格生成(如 this example choropleth 中的状态边界)。
这些优势是有代价的:文件格式更加复杂。例如,在 JavaScript 中,您通常会使用 TopoJSON client library将 TopoJSON 转换为 GeoJSON,以便与标准工具(例如 d3.geoPath 一起使用) 。 (在 Python 中,您可以使用 topojson.py 。)此外,TopoJSON 的整数格式需要量化坐标,这意味着如果不小心,可能会引入舍入误差。 (请参阅 topojson -q
的文档。)
对于不需要拓扑的服务器端几何操作,GeoJSON 可能是更简单的选择。否则,如果您需要拓扑或想要通过线路将几何图形发送到客户端,请使用 TopoJSON。
关于d3.js - GeoJSON 和 TopoJSON 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14740705/